TI中文支持网
TI专业的中文技术问题搜集分享网站

MSP430F5529LP程序容易卡死在中断处理函数

用MSP430F5529做了一个自平衡小车,先用看门狗定时中断,然后嵌套了一个UART的RX中断,结果发现程序最后容易卡死在UART中断处理函数中的一句话。请问程序卡死是因为我使用了中断嵌套的原因吗?如果单片机一直在中断处理函数中运行,单片机会跑飞吗?那要怎样处理、有什么解决办法吗?求问

灰小子:

中断嵌套太多容易堆栈溢出导致跑飞或卡死

如果对任务实时性要求不是太高,不建议用中断嵌套。

zhen cheng1:

回复 灰小子:

谢谢回答

Maka Luo:

 先分析一下是卡死还是跑飞。

开启看门狗,如果是卡死会导致看门狗复位,如果是跑飞了就无法复位。

user1866843:

回复 Maka Luo:

Hi Maka

单片机自带的看门狗,无法拉回程序跑飞这种情况吗?(自带看门狗难道如此脆弱)

怎样应对程序跑飞这种情况,需要外部硬件看门狗吗?(软件陷阱,空语句等等辅助措施?)

haitao jin:

不要嵌套太多,毕竟堆栈有限。。。前段时间用430写一个PID的代码,一个公式写成两部分,才没有死机

user1866843:

回复 haitao jin:

^_^,局部变量太多,确实容易溢出。

怎样写成两部分呢?是写在两个独立的函数中吗?

haitao jin

不要嵌套太多,毕竟堆栈有限。。。前段时间用430写一个PID的代码,一个公式写成两部分,才没有死机

赞(0)
未经允许不得转载:TI中文支持网 » MSP430F5529LP程序容易卡死在中断处理函数
分享到: 更多 (0)