|
串口接收大量数据,使用xQueueSendFromISR(xMessageBufferData,(void *)&byte_temp,&xHigherPriorityTaskWoken)
放入队列
一个任务使用xQueueReceive(xMessageBufferData,(void *)&byte_temp,portMAX_DELAY)取出数据
程序运行一段时间后,队列满了,(使用xQueueIsQueueFullFromISR(xMessageBufferData)和uxQueueSpacesAvailable( xMessageBufferData )查看),此时即使不再给串口发数据,队列依然是满的,也就是说,队列满一次之后,就再也无法接收新的数据了,此时程序的其他任务都能正常运行
尝试加大队列的大小,此问题依然出现,只是出现的时间长一点
请问有人遇到这种问题吗,怎么解决的?
|
|