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();
? ? ? ? }
}