分享头文件定义的退出低功耗[新手们值得注意]

[复制链接]
2364|3
 楼主| lzlong 发表于 2011-12-6 15:00 | 显示全部楼层 |阅读模式
相信很多人在应用430的时候都喜欢吧进入低功耗和退出低功耗当做一个“标志位”来使用,譬如:
复制代码
  • void main(void)  
  • {  
  • …………  
  • …………  
  • …………  
  • while(1)  
  •    {  
  •      LPMx;  
  •     …………  
  •     …………  
  •    }  
  • }  
  • //*********************************************************************  
  • #pragma vector=xxxxxxx  
  • __interrupt void xx(void)  
  • {  
  • …………  
  • …………  
  • …………  
  • LPMx_EXIT;  
  • }  




在进入低功耗和退出低功耗,好些人喜欢_BIS_SR(CPUOFF)或_BIS_SR(LPM0_bits);
这样是可以的。
但是在中断里退出低功耗用_BIC_SR(CPUOFF)或_BIC_SR(LPM0_bits);是不可以的。因为这个就相当于在中断里直接改SR,中断函数执行完毕后,SR出栈又进入了低功耗。
应该用LPMx_EXIT;或者_BIC_SR_IRQ(LPM0_bits);这个语句相当于汇编的bic.b  #CPUOFF,(0)SP

之前用汇编很注意这个问题,可是用C的时候却疏忽了_BIC_SR(LPM0_bits);和LPMx_EXIT;或者_BIC_SR_IRQ(LPM0_bits);的区别。
TI_MCU 发表于 2011-12-6 17:24 | 显示全部楼层
1# lzlong


非常实用啊~~  多谢楼主分享
TA 发表于 2011-12-8 13:14 | 显示全部楼层
好好学习
xlhtracy 发表于 2011-12-8 15:32 | 显示全部楼层
这个确实很基础 但是很实用哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

141

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部