完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
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函数里再开(如果需要的话)。 如果用汇编,则没有这个问题 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
3052个成员聚集在这个小组
加入小组2968 浏览 1 评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3691 浏览 2 评论
请问怎么把下面51单片机的代码改成msp430 g2 pocket的代码,还有改下时间变成30秒
2366 浏览 1 评论
4830 浏览 1 评论
2592 浏览 1 评论
1374浏览 3评论
MSP430FR5994 使用库函数 定时器触发AD问题请教
3692浏览 2评论
2968浏览 1评论
1570浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 16:08 , Processed in 1.283345 second(s), Total 74, Slave 55 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号