SPI通信,数据发送完成,但状态一直处于BUSY状态
-
上电初始化SPI,DMA,后,在初始化函数中继续使用SPI_DRV_MasterTransfer发送数据,数据发送成功,且可以使用逻辑分析仪抓取到数据,但是在SPI_DRV_MasterGetTransferStatus函数判断中一直处理BUSY状态。把SPI发送放到TASK中执行,就一切正常,SPI_DRV_MasterGetTransferStatus函数判断为SUCCESS状态,数据也正常。
-
由于上电需要使用SPI初始化外部设备模块,所以请帮忙分析下原因,在云途的demo程序中是正常的,已进行过配置对比,修改后也一直不行。
-
-
全局中断开了的,而且在Task中执行SPI读写就是正常的
-
用的是freertos吗?Freertos在调用vTaskStartScheduler()之前,全局中断可能会被关掉的。请再次检查一下全局中断(可以直接看内核寄存器:priMask,baseMask)
https://github.com/FreeRTOS/FreeRTOS-Kernel/issues/254 -
-
portENABLE_INTERRUPTS() ;我在发送SPI之前加上了这个函数调用就OK了,那应该是这个问题了;请问下这个问题有什么优化的办法吗?还是说必须在portENABLE_INTERRUPTS() 调用之后才能发送SPI数据?
-
这里的外设中断,指的是中断优先级吗?
7/11
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...