[求助] SPI从机通信在使用RTOS情况下出现错误
STM32F405的SPI3作为从机,使用DMA接收中断,接收中断代码如下: void SPIx_DMA_RX_IRQHandler(void) { HAL_DMA_IRQHandler(SpiHandle.hdmarx); if((aRxBuffer)==0x2211&&(aRxBuffer) == 0x4433) { HAL_SPI_TransmitReceive_DMA(&SpiHandle, (uint8_t*)aTxBuffer, (uint8_t *)aRxBuffer,2); } else { .. } } 在不使用MDK的RTOS2前,接收正常,但是一但开启了RTOS2,没有创建任何线程,就会出现错帧, #ifdef RTE_CMSIS_RTOS2 /* Initialize CMSIS-RTOS2 */ osKernelInitialize(); /* Start thread execution */ osKernelStart(); #endif SPI3接收的数据每隔一段时间就出现错帧:http://openedv.com/data/attachment/forum/201811/06/112950sb82se2w5220ur85.jpg
正常数据是 0xaabb 0x8877,5Hz,但是频繁的出现0xBF46将0xaabb给代替的现象
RTOS必须得使用, 求助各位高手....
你调整下你的DMA接收中断测试看看?
页:
[1]