历史上的今天
返回首页

历史上的今天

今天是:2025年01月22日(星期三)

正在发生

2020年01月22日 | msp430程序跑飞之解决方法

2020-01-22 来源:eefocus

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函数里再开(如果需要的话)。  


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


推荐阅读

史海拾趣

启攀微电子(Chiphomer)公司的发展小趣事

在技术创新方面,启攀微电子一直致力于提升产品的性能和可靠性。公司拥有一支技术骨干团队,他们拥有丰富的芯片设计开发和批量生产的经验。通过不断的技术创新和优化,公司成功推出了多款高性能、低成本的芯片产品,并在通讯、智能家电及个人消费类等高速成长的电子信息领域取得了广泛的应用。同时,公司还积极拓展海外市场,成功将产品打入韩国等国家和地区,进一步提升了公司的国际影响力。

Dearborn Electronics Inc公司的发展小趣事

随着技术的不断进步,Dearborn Electronics Inc.不断投入研发,推出了一系列具有创新性的产品,如钽电容、陶瓷电容器等。这些产品以其卓越的性能和可靠性赢得了市场的广泛认可。同时,公司也积极拓展市场,将产品销售到全球各地,特别是医疗、石油、交通、工业等严苛应用领域。

安国国际(ALCOR)公司的发展小趣事

安国国际在创立初期便展现出强大的研发实力。1997年,公司成功推出了世界第一颗单一整合的USB键盘集线器控制IC,这一创新成果奠定了安国在IC专业设计领域的领导地位。随后,在1998年,安国将总部迁往台湾,以便为全球客户提供更及时的技术支持和服务,同时与晶圆代工厂紧密配合,确保产品质量和技术水平。

Daito Communication Apparatus Co Ltd公司的发展小趣事

自1948年成立以来,Daito公司一直致力于电子元器件的研发与生产。在公司的早期阶段,他们意识到保险丝在电子设备中的重要性,并决定投入大量资源进行研发。经过数年的努力,Daito公司成功开发出了高精度报警保险丝,这一创新产品凭借其卓越的性能和可靠性,迅速在市场上获得了认可。

高精度报警保险丝的成功并没有让Daito公司停止创新的步伐。他们不断对保险丝的失效原因与寿命进行预测和分析,通过全面质量管理,使产品质量得到了显著的提高。同时,Daito公司还将各系列保险丝的额定值多层次化,以满足不同客户的需求,扩大了顾客的选择余地。

Excelsys公司的发展小趣事

品质是Excelsys公司的生命线。公司始终坚持严格的品质控制标准,从原材料采购到生产制造的每一个环节,都经过严格的质量检测。这种对品质的执着追求,让Excelsys的产品在市场上赢得了良好的口碑。同时,公司还建立了完善的售后服务体系,为客户提供及时、专业的技术支持,进一步提升了品牌的信誉度。

Electronic公司的发展小趣事

AMD,曾经一度陷入困境的半导体公司,近年来实现了逆袭。AMD通过持续的技术创新和市场竞争策略的调整,成功在处理器和显卡市场取得了重要份额。AMD的产品性能不断提升,价格也更加亲民,赢得了消费者的广泛认可。同时,AMD还积极与游戏厂商和硬件厂商合作,推出了多款定制化的产品和解决方案。这些努力使得AMD在激烈的市场竞争中逐渐崭露头角。

问答坊 | AI 解惑

步进程序的疑问

#include #include \"math.h\" unsigned char z,z1;//取步序 unsigned int lj1=0;//a电机累加次数 unsigned int lj2=0; //b电机累加次数 unsigned char pda,pdb;//判断正反转 unsigned char x1=0,x2=0;  //x坐标 unsigned char y ...…

查看全部问答>

单片机能做什么?

今天和同学聊天,谈起单片机,他觉得单片机做不了什么东西,更适合小工厂。而更广泛的应该用PLC,大家觉得单片机会被淘汰吗?用单片机又能做些什么呢?欢迎大家发表自己的意见啊。(我同学研究生毕业直接做了老师,接触实际的很少。)…

查看全部问答>

2440头文件的奇怪问题

在s2440.h有这么一段: #define ADC_BASE      0xB1800000 // 0x58000000 typedef struct {         unsigned int         rADCCON;         ...…

查看全部问答>

菜鸟求问:如果调试2440下面的SPI接口

买的是tq2440,有四个GPIO引脚支持SPI协议。 但是不知道调试的话该从何做起。 刚开始学习,网上溜达了好多天 看了driver下的驱动程序以及DOcument下面的test程序 但是具体是怎么个操作过程,希望有人能指点一下 譬如说是不是先要用导线将MISO ...…

查看全部问答>

修改config.bib,配置内存分配

大家好: 我在修改config.bib文件,但是修改后,系统不能启动,大家看看是怎么回事.还有修改config.bib还需要修改其他文件吗? config.bib原文件 MEMORY ;#define CHAIN_ADDRESS        81E40000 ;        ...…

查看全部问答>

TBsoft-GUI,能支持真正事件驱动程序设计的嵌入式GUI,自己的作品

笔者第一个用于实际项目,并获得成功的的嵌入式系统小作品问世。 TBsoft-GUI,一个很小的,功能一般的GUI,一个结合了某些现代程序设计要素的GUI。 市面上少见的可以支持真正事件驱动程序设计的嵌入式GUI。使用控件,引发事件,能像VB一样,直接 ...…

查看全部问答>

如何将Windows CE 5.0的模拟器集成到VS2005中?

我现在已经安装了Windows CE 5.0的模拟器,但是它是独立运行的,我想将它集成到VS2005中,具体应该怎么做? 我也试过安装了pocket pc的sdk,但是没有ce 的模拟器,那么具体应该安装哪个sdk哪? …

查看全部问答>

基于AT89S52单片机的nRF2401无线模块全套资料

刚来报到,给大家传份资料,有用到的可以下载看看,今后多多照顾! 有点不会用,上一个附件没传上来   [local]1[/local]…

查看全部问答>

转贴:LM3S单片机UART的FIFO理解 和μDMA方式的UART

最近在看UART,看到这篇理解的不错,特转发过来,和大家一起学习学习。   Stellaris单片机有两个16字FIFO,分别用于缓存收和发的数据。FIFO触发中断的深度可设置,设置为8个数据(1/8)触发发送中断时,就是当发送FIFO中数据少于8时触发发送 ...…

查看全部问答>