谁有过msp430程序跑飞的的总结呢

2019-07-21 19:32发布

谁有过msp430程序跑飞的的总结呢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
jlyuan
1楼-- · 2019-07-21 20:33

1.中断或主函数中有死循环,现象是程序停在某处。
2.堆栈溢出。现象是程序跑飞。
解决办法:
A.看中断有没有用 _EINT(),引起中断嵌套.
B.Project--Options--General Options---Stack/Heap 将Stack size设置大一些。
jlyuan
2楼-- · 2019-07-21 21:43
 精彩回答 2  元偷偷看……
jlyuan
3楼-- · 2019-07-22 01:37
程序编译没问题,下载程序后上电不断复位,该问题是由于WDT造成的(RAM的初始化时间大于WDT默认的32MS时间,因此MSP复位)根本原因是初始化的时间过长,超过了看门狗的时间,初始化完成以后才能进入main函数,这时关狗已经来不及了。
wyjie
4楼-- · 2019-07-22 05:58

解决的办法:
对你的数组用 __no init_定义,上电编译器不产生特殊的附加函数去初始化RAM.
jlyuan
5楼-- · 2019-07-22 07:28
在Project--Options--Linker--Config中选择 Override default programe,并将Entry lib 设置成 __program_start这时要修改Cstartup.S43(记得把它加入复制到工程而不是修改系统的),在第一条指令前加入关狗的指令,在main函数里再开(如果需要的话)。
dengdc
6楼-- · 2019-07-22 13:00
是的,如果用汇编,则没有这个问题

一周热门 更多>