MSP430单片机的一个突出优点就是超低功耗,但是低功耗模式虽然方便但使用时若不注意也会产生麻烦的。我做的一个项目就是这样,本来程序执行完成后就进入低功耗模式到第二天的同一时刻退出低功耗模式,再跑一遍程序,为了防止通信过程中的等待超时的问题我在定时器中断中做了超时处理,处理的过程就是关闭通信模块电源,并进入低功耗模式,这样一来问题出现了,有时候通信失败后服务器什么都收不到,也看不到SIM模块有任何现象,更不能确定定时器时钟是否还在运行,后来为了检测时钟是否还在运行,我在进入低功耗之后每隔一定时间让二极管闪烁一次,这样的话如果定时器时钟一直运行的话,二极管会一直闪烁的,但是没有观察到预期的现象,使用仿真器观察,发现程序在中断中进入低功耗模式之后定时器就停止了,联想到以前的一些现象分析后我认为主要就是因为MSP430单片机进入低功耗模式的程序不可以放在中断中,重新编写测试程序也验证了这个猜测,而且退出低功耗模式的程序只能放在中断中,否则的话编译会提示出错的!
用户1686523 2013-3-13 16:14