MSP430单片机进入低功耗模式程序代码

[复制链接]
 楼主| Thorald 发表于 2017-9-30 17:24 | 显示全部楼层 |阅读模式
进入低功耗的方法:
#include "msp430x42x.h"
void main( void )
{
  WDTCTL=WDTPW+WDTHOLD;  //停止看门狗
  FLL_CTL0|=XCAP18PF;          //配置晶振负载电容
  P1DIR |= BIT0+BIT1+BIT2+BIT3+BIT4;
  P2DIR |= BIT0+BIT1+BIT2+BIT3;             //悬空不用的IO口要置为输出
  P1OUT = 0;                                //否则不确定电平会造成IO耗电
  P2OUT = 0;
  BTCTL = BT_fCLK2_DIV256;//BasicTimer设为1/128秒中断
  IE2 |= BTIE;            // 允许BasicTimer中断
  _EINT();                // 允许总中断
  LPM3;                   // 进入低功耗模式3,等待被唤醒
  //程序永远不会执行到这里
}

#pragma vector = BASICTIMER_VECTOR
__interrupt void BT_ISR(void)   // 1/128秒一次中断(由BasicTimer所产生)
{
  if((P1IN & BIT5)==0) P2OUT |= BIT0;
  else                 P2OUT &=~BIT0;
}
vivilzb1985 发表于 2017-9-30 22:52 | 显示全部楼层
这个低功耗模式的代码的分享非常有用的,支持
uiint 发表于 2017-10-3 13:41 | 显示全部楼层
这个代码执行完了。
uiint 发表于 2017-10-3 13:48 | 显示全部楼层
添加一个while保证程序运行。
lihuami 发表于 2017-10-4 13:26 | 显示全部楼层
LPM3;                   // 进入低功耗模式3,等待被唤醒
while(1);
  //程序永远不会执行到这里
}
lihuami 发表于 2017-10-4 13:30 | 显示全部楼层
楼主你的代码就正常执行完成了。
baimiaocun2015 发表于 2017-10-9 22:45 | 显示全部楼层
一般的参考例程的都会提供的
51xlf 发表于 2017-10-10 22:21 | 显示全部楼层
是不是需要while执行?
i1mcu 发表于 2017-10-10 22:22 | 显示全部楼层
原来还可以这样配置。
i1mcu 发表于 2017-10-10 22:28 | 显示全部楼层
这样的程序是不是只能在中断执行?
51xlf 发表于 2017-10-10 22:28 | 显示全部楼层
LPM3;   这个就执行完成了吗?
wwppd 发表于 2017-10-11 16:16 | 显示全部楼层
为什么程序不会执行到LPM3后?
wwppd 发表于 2017-10-11 16:16 | 显示全部楼层
进入低功耗,退出之后是不是继续执行了?
firstblood 发表于 2017-10-11 20:28 | 显示全部楼层
这个低功耗的模式有几种的
angerbird 发表于 2017-10-11 22:50 | 显示全部楼层
LPM3;                   // 进入低功耗模式3,等待被唤醒
该低功耗模式下,就是中断繁盛响应处理完的有依然进入该低功耗模式的
aspoke 发表于 2017-10-12 21:32 | 显示全部楼层
这个代码能够兼容msp430f5x吗?
232321122 发表于 2017-10-12 21:33 | 显示全部楼层
uiint 发表于 2017-10-3 13:41
这个代码执行完了。

这个应该是进入休眠模式。
aspoke 发表于 2017-10-12 21:39 | 显示全部楼层
怎么设置都是无法中断唤醒是什么问题?
232321122 发表于 2017-10-12 21:39 | 显示全部楼层
uiint 发表于 2017-10-3 13:48
添加一个while保证程序运行。

不要使用while了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

183

主题

849

帖子

1

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