msp430程序跑飞之解决方法

来源:本站
导读:目前正在解读《msp430程序跑飞之解决方法》的相关信息,《msp430程序跑飞之解决方法》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《msp430程序跑飞之解决方法》的详细说明。
简介:本文主要介绍了msp430程序跑的解决方法,希望对您的学习有所帮助。

msp430程序跑飞之解决方法

1.中断或主函数中有死循环,现象是程序停在某处。

2.堆栈溢出。现象是程序跑飞。

解决办法:

A.看中断有没有用 _EINT(),引起中断嵌套.

B.Project--Options--General Options---Stack/Heap 将Stack size设置大一些。

3.中断耗时太长,刚出中断又进去了.这时的现象是程序一直在中断中执行,回不到主函数。

4.检查CPU的电源是不是稳定,msp430在要保证程序正常运行,需保证Vcc大于1.8V。当电压低至0.8V时,程序仍有可能执行。这时的现象是PC指针乱飞,有复位,死机,停在中断,时钟频率发生变化等现象。

5.程序编译没问题,下载程序后上电不断复位,该问题是由于WDT造成的(RAM的初始化时间大于WDT默认的32MS时间,因此MSP复位)根本原因是初始化的时间过长,超过了看门狗的时间,初始化完成以后才能进入main函数,这时关狗已经来不及了。

解决的办法:

A 对你的数组用 __no init_定义,上电编译器不产生特殊的附加函数去初始化RAM.

B 在Project--Options--Linker--Config中选择 Override default programe,并将Entry lib 设置成 __program_start这时要修改Cstartup.S43(记得把它加入复制到工程而不是修改系统的),在第一条指令前加入关狗的指令,在main函数里再开(如果需要的话)。

如果用汇编,则没有这个问题。

提醒:《msp430程序跑飞之解决方法》最后刷新时间 2024-03-14 00:56:35,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《msp430程序跑飞之解决方法》该内容的真实性请自行鉴别。