大家好:
我在STM32移植了一个UCOSII,现在遇到了一个问题。
任务1 : 优先级为 9 :ADC按键处理功能;
while(1)
{
LED = 0;
OSSemPend(Sem_Adc1Eoc, 0, &Sem_Adc1Eoc_err);
ADC_KeyHandle(ADC1_ConValue);
}
任务2: 优先级为 10:ADC采样
while(1)
{
LED = 1;
ADC1_Conversion();
OSTimeDlyHMSM(0, 0, 0, 10);
}
任务3:优先级为8: 串口2中断接收处理
while(1)
{
USART2_HandleDataPacket();
OSSemPend(Sem_Uart1Rx, 0, &Sem_Uart1Rx_err);
}
现在的问题是:当我进行串口通信时(与电脑通信),差不多正常运行半个小时后,就出问题了,与电脑通信不成功,ADC按键无作用。用JLINK调试发现,程序能进串口中断代码。但总是在执行空闲任务。 任务3的状态是就绪态,但不会去执行任务3,包括任务2。 |