此内容由EEWORLD论坛网友tiankai001原创,如需转载或用于商业用途需征得作者同意并注明出处
msp430单片机开发实录(12)
现象:
系统要进行低功耗调试,发现功耗在一个特定条件下电流总是会增大,并且这个条件结束后,还会继续维持这个大电流。
试验:
已经确定了一个特定条件下执行一段固定的程序才会引起电流增大,那就可以确定电路没有问题,那么方向明确,直接在这个条件程序处理里面查找原因,依次判断这段程序会对那些端口进行操作,操作后有没有把端口状态设置为低功耗状态,经检查发现所有端口的前后配置都正确,那说明不是端口状态异常引起的。最后排查到定时器,原来在这种条件下打开了一个定时器中断,这种条件结束后,虽然关闭了定时器中断,但是没有关闭这个定时器的时钟,所以这个定时器虽然不会产生中断了,但是它的时钟却一直在工作,所以使得电流增大。
验证:
在退出该条件后,关闭所使用定时器的时钟,电流就降下来了,并且和进入该条件前的电流一致。
备注:
msp430单片机对不同的功能模块有不同的时钟支持其工作,而时钟是会增加功耗的,所以对于某个功能模块,如果使其停止工作,一定要记得关闭其时钟,这样才不会增加功耗。