程序跑了一会,会进入硬件中断,而且进硬件中断时间不确定
是在FREERTOS上跑的程序,大概是10-40分钟左右就会进一次硬件中断(这个时间确实不确定,今天下午长时间跑程序才发现这个问题)现在的问题是 为什么连进硬件中断的时间都不确定,以前学习的时候,也进过硬件中断 但是进硬件中断的地方是差不多的
现在的做法是进入硬件中断马上重启,但是这只是临时的办法 还需要把这个问题找出来
怎么查找原因?是因为我任务的堆栈开的有问题吗?
本帖最后由 tang_qianfeng 于 2024-1-25 22:29 编辑
看看lr等寄存器,是哪里让mcu进入fault的,大概率是任务栈或者堆溢出了 中断不得有专门的原因寄存器么,查 CPU 手册吧 会不会是线程栈溢出 tracealyzer,你值得拥有 不是“硬件中断”,是HardFault_Handler吧?
程序写的有问题,好好检查review代码,排除法找到问题代码 和我遇到的问题太像了,解决方法与楼上一样。
把硬件延时换成软件,暂时没出现。 mainbp 发表于 2024-1-26 09:51
和我遇到的问题太像了,解决方法与楼上一样。
把硬件延时换成软件,暂时没出现。 ...
(引用自8楼)
楼上谁说出了解决方法? tang_qianfeng 发表于 2024-1-25 22:27
看看lr等寄存器,是哪里让mcu进入fault的,大概率是任务栈或者堆溢出了
(引用自2楼)
大概是这个情况我把任务的大小改了一下从上班到现在 一个多小时 至少没有进过一次硬件中断 mainbp 发表于 2024-1-26 09:51
和我遇到的问题太像了,解决方法与楼上一样。
把硬件延时换成软件,暂时没出现。 ...
(引用自8楼)
我想问一下 您的具体做法 因为楼上好像没有解决办法麻烦您了 7楼呀
页:
[1]