|
在44B0中,来中断后在HandlerIRQ中I_ISPR为0,怎么办?
[复制链接]
上位机用的44B0,通过UART1跟下位机进行通讯(RS485,波特率4800),
下位机每隔400毫秒发送32个字节,上位机在收到32个字节后的200毫秒后回应32个字节。
上位机用ucOS,串口接收采用中断,收到数据放在一个2048的队列中,通讯任务每隔10毫秒取一次数据(取数据前关串口中断,收完开中断)。
通过仿真调试程序时,一般经过10个小时以上后,会一直进ISR(HandlerIRQ),然后因为I_ISPR为0,直接退出后,又进ISR,I_ISPR还是为0,一直这样循环下去,导致任务也停止了,可能是时钟中断也识别不了了。
我看了,I_ISPC使用没问题的。
如果上位机运行同样的代码,而不接通讯线,则上位机运行正常。
请大家帮忙了。
|
|