我在我的微控制器中有一个看门狗,如果不被“踢”,它会重置处理器。我的应用程序运行一段时间后会重置,因为看门狗没有被“踢”。如果我逐步执行程序,它就能正常工作。
有哪些调试方法?
编辑: 结论: 我找到错误的方法是使用看门狗面包屑。
我使用的是具有高和低ISR向量的PIC。高向量应该处理LED矩阵,而低向量应该处理定时器滴答声。但我把两个ISR处理程序都放在了高向量中。因此,当我禁用LED矩阵ISR且需要服务的定时器滴答声ISR时,处理器将卡在低ISR中处理定时器滴答声,但定时器滴答声处理程序不存在。
面包屑将我的搜索范围限制在处理LED矩阵的函数上,特别是禁用LED矩阵中断。