ucos中的App_Fault_ISR

今天调试GPRS部分遇到一个错误:在任务 App_TaskCH1PtlRxProc中,只要其调用OSTimeDlyHMSM这个函数,不论其延时时间多长,都会进入App_Fault_ISR错误。查看网上资料发现,进入这个错误一般是两个原因:

1.创建任务的时候堆栈错误(一般是栈顶指针错误)。

2.任务中没有无限循环。

    个人通过检查, App_TaskCH1PtlRxProc中,这两项均没有错误,并且在本任务中,除了 OSTimeDlyHMSM命令之外的所有任务都可以运行。这就说明本任务是没有错误的,当本任务调用延时的时候,会进入下一个优先级更低的任务执行,是不是下一个任务的问题呢?果真如此,因为下一个任务只是暂时建立了一个框架,并没有给他无限循环,所以导致执行本任务时App_Fault_ISR错误。

两个总结:

1.网上别人的经验是非常重要的;

2.看上去毫无头绪的问题解决起来也并不一定那么难。

猜你喜欢

转载自blog.csdn.net/wangkeyen/article/details/81318110
ISR
今日推荐