使用freeRTOS串口中斷調(diào)度的問(wèn)題,在線程中接收數(shù)據(jù)死機(jī)的問(wèn)題

void USART1_IRQHandler(void)

{

? ? unsigned char data;

? ? u8 val = taskENTER_CRITICAL_FROM_ISR();

? ? if (USART_GetITStatus(USART1, USART_IT_RXNE) != RESET)

? ? {

? ? ? ? data = USART_ReceiveData(USART1); // clear IDLE flag

//? ? ? ? USART_SendData(USART1,data);

? ? ? ? USART_ClearITPendingBit(USART1, USART_IT_RXNE);

? ? }

? ? taskEXIT_CRITICAL_FROM_ISR( val );

}

void configcom_task(void *pvParameters)

{

//? ? unsigned char txData;

? ? USART1_Init(115200);

? ? while(1)

? ? {


? ? ? ? if(xQueueReceive(xRxQueue,&txData, portMAX_DELAY) == pdTRUE){--串口發(fā)送數(shù)據(jù)后,在這里就卡死了

? ? ? ? ? ? taskENTER_CRITICAL();

? ? ? ? ? ? printf("Received data:%s\n ",txData);

? ? ? ? ? ? taskEXIT_CRITICAL();

? ? ? ? }

}

你好,你沒(méi)有發(fā)送xQueueSend這個(gè)函數(shù)吧,導(dǎo)致阻塞了,參考這個(gè)帖子看看https://blog.csdn.net/qq_38531460/article/details/117807671


還有這個(gè)函數(shù)的返回值是u32位的;taskENTER_CRITICAL_FROM_ISR();


只有登錄才能回復(fù),可以選擇微信賬號(hào)登錄

国产91精品新入口,国产成人综合网在线播放,九热这里只有精品,本道在线观看,美女视频a美女视频,韩国美女激情视频,日本美女pvp视频