Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
由于上电需要使用SPI初始化外部设备模块,所以请帮忙分析下原因,在云途的demo程序中是正常的,已进行过配置对比,修改后也一直不行。
SPI_DRV_MasterTransfer() 会在中断中更新SPI busy的状态。 检查一下是否关了全局中断。
全局中断开了的,而且在Task中执行SPI读写就是正常的
用的是freertos吗?Freertos在调用vTaskStartScheduler()之前,全局中断可能会被关掉的。请再次检查一下全局中断(可以直接看内核寄存器:priMask,baseMask) https://github.com/FreeRTOS/FreeRTOS-Kernel/issues/254
用的是Freertos,我在初始化的时候,有手动打开全局中断,这样的话可以排除这个问题吗?
不能排除,freertos可能用的是baseMask(看portDISABLE_INTERRUPTS()实现) 可以调用portENABLE_INTERRUPTS() 来打开全局中断。 最好还是通过看寄存器方式来排除。
portENABLE_INTERRUPTS() ;我在发送SPI之前加上了这个函数调用就OK了,那应该是这个问题了;请问下这个问题有什么优化的办法吗?还是说必须在portENABLE_INTERRUPTS() 调用之后才能发送SPI数据?
用freeRTOS,所有的外设中断不能为0
这里的外设中断,指的是中断优先级吗?
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...