历史上的今天
今天是:2025年04月05日(星期六)
2020年04月05日 | msp430程序跑飞相关总结
2020-04-05 来源:eefocus
===============================================================================================================================
1.中断或主函数中有死循环,现象是程序停在某处。
2.堆栈溢出。现象是程序跑飞。
解决办法:
A.看中断有没有用 _EINT(),引起中断嵌套.
B.Project--Options--General Options---Stack/Heap 将Stack size设置大一些。
===============================================================================================================================
中断耗时太长,刚出中断又进去了.这时的现象是程序一直在中断中执行,回不到主函数。
检查CPU的电源是不是稳定,msp430在要保证程序正常运行,需保证Vcc大于1.8V。当电压低至0.8V时,程序仍有可能执行。这时的现象是PC指针乱飞,有复位,死机,停在中断,时钟频率发生变化等现象。
===============================================================================================================================
程序编译没问题,下载程序后上电不断复位,该问题是由于WDT造成的(RAM的初始化时间大于WDT默认的32MS时间,因此MSP复位)根本原因是初始化的时间过长,超过了看门狗的时间,初始化完成以后才能进入main函数,这时关狗已经来不及了。
===============================================================================================================================
解决的办法:
对你的数组用 __no init_定义,上电编译器不产生特殊的附加函数去初始化RAM.
===============================================================================================================================
在Project--Options--Linker--Config中选择 Override default programe,并将Entry lib 设置成 __program_start这时要修改Cstartup.S43(记得把它加入复制到工程而不是修改系统的),在第一条指令前加入关狗的指令,在main函数里再开(如果需要的话)
===============================================================================================================================
这个不太好总结 但好的编程习惯 可以减少这种问题
===============================================================================================================================
有时候要注意下,可能看起来是跑飞,但实际上只是运行在低功耗模式下没有执行程序。
另外有时候可能对堆栈有误操作
===============================================================================================================================
上一篇:MSP430复位的几种情况
下一篇:MSP432 开发环境
史海拾趣
|
全球定位系统(GPS)是由运行在6个地球轨道上的24颗卫星组成的导航系统,无论身在何处GPS都可以帮助用户精确地确定所处的位置。GPS系统最初用在军事上,20世纪80年代开始进入民用领域。自此以后,GPS作为一种求生和导航工具开始变得流行起来。制造商 ...… 查看全部问答> |
|
虽说摩托车上也安置有后视镜,让车手可以在行进的过程中顾及身后的交通状况,但如果车手佩戴的是全方位保护的厚实安全头盔,那么后视镜的安全保护作用也就因为视野和头盔的影响而削弱不少。这款新型头盔应用了光学反射原理,将摩托车身后的状况反应 ...… 查看全部问答> |
|
单片机与MC45(GPRS模块)建立连接的通信协议RS232怎么用C语言实现啊 如题,我做的课题是PIC单片机与MC45连接实现短信收发,现在对RS232协议标准有所了解,但是不知道如何用C语言实现,还有,它们之间的连接是近距离连接,还是远距离连接呢… 查看全部问答> |
|
有谁能给个数字示波器测试开关电源时主要测试的项目;例如初级采样电阻的测量,整流桥输出波形测试; 以及输出波形测试,PWM波形测试时候的注意事项,没用过数字示波器测试,担心损坏,当时用的是模拟示波器,表笔负极与电源的地线相连;当时是选 ...… 查看全部问答> |
|
【TI原创】基于LM3S811和TEA5767芯片的收音机实现 用到的是飞利浦的TEA5767的收音机模块,在网上搜了下相关的内容,发现很多人都在问,可是提供编程指导的很少,可能是高手都不屑回答这些小问题吧,在这里我把我的部分程序及TEA5767的相关资料放上来吧,给需要的人一些参考 TEA5767采 ...… 查看全部问答> |
|
貌似低端8位的有廉价的stc和atmel等、高端的stm32和arm,各种内设各种牛x。 貌似MSP430卡在16位这,高不成低不就的,优势在哪呢?看说明书那就重点说了一个“很省电”。。。… 查看全部问答> |
|
想把滑动变阻器的电压转化为数字信号,我就想把这些数字信号反应在led灯上,比较容易观察,方便收集嘛,可是,编了老半天,试验后,发现有时变阻器的不同位置对应相同的数字信号。还有就是变化不明显,走了一小段距离,le灯才变一次,可是我是想采 ...… 查看全部问答> |
|
【TIVA C Launchpad 学习笔记五】DAC7611驱动程序 /******************************************* 开发坏境:CCSv5.4 开发板:TIVA C Launchpad(TM4C123GH6PM) 程序功能:DAC7611 程序说明: 编程者:Linchpin ********************************************/ #include #include #include \" ...… 查看全部问答> |




