[MCU] MSP430F149可不可以利用外部中断实现控制低功耗的开关

[复制链接]
 楼主| zhenykun 发表于 2021-1-5 23:13 | 显示全部楼层 |阅读模式
MSP430F149可不可以利用外部中断实现控制低功耗的开关
zhanghqi 发表于 2021-1-5 23:16 | 显示全部楼层
详细说说
jiajs 发表于 2021-1-5 23:20 | 显示全部楼层
可以
 楼主| zhenykun 发表于 2021-1-5 23:23 | 显示全部楼层

int count = 0;  //记录进入中断次数
void main()
{

       WDTCTL = WDTPW + WDTHOLD;
        P1IFG &= ~BIT5;    //清除P1IFG
        P1IE |= BIT5;       //打开中断允许
        P1IES |= BIT5; //选择下降沿触发

       P4DIR |= BIT0;        //P4。0输出
       P4OUT |= BIT0;        //P4.0灯点亮
       _EINT();
        while(1);
}

#pragma vector = PORT1_VECTOR
__interrupt void P1_5_ISR(void)
  {
if( ( P1IFG & BIT5) == BIT5 ) //中断响应
        {
            P1IFG &= ~BIT5; //清除中断标志
            count++;
            
            if(count== 1)        //第一次按下按键,进入低功耗
              {                  
                  LPM3;
                  P4OUT &= ~BIT0;       //流水灯关闭
              }
            else if(count== 2)   //第二次按下按键,退出低功耗
              {
                  LPM3_EXIT;
                  count = 0;
                  P4OUT |= BIT0;            //流水灯打开
              }
        }
}
 楼主| zhenykun 发表于 2021-1-5 23:27 | 显示全部楼层
利用P1.5端口的中断功能,第一次进入中断,是系统进入低功耗LPM3;第二次进入中断,退出低功耗LPM3
jlyuan 发表于 2021-1-5 23:30 | 显示全部楼层
问题是什么
 楼主| zhenykun 发表于 2021-1-5 23:35 | 显示全部楼层
第一次进入中断可以进入低功耗模式,灯灭;第二次时没响应,不知道怎么回事。
jlyuan 发表于 2021-1-5 23:42 | 显示全部楼层
是第一次进入低功耗以后一直处在低功耗之中,P1.5端口不能输入了么?
 楼主| zhenykun 发表于 2021-1-5 23:43 | 显示全部楼层
对于低功耗不是很了解,上述程序写法是否有错,希望能人给予解答,万谢!!!!
wyjie 发表于 2021-1-5 23:46 | 显示全部楼层
从LMP3模式下,唤醒进入终端服务程序后,SCG0仍然置位,DC发生器仍被关闭,MCLK不能正常运行
wyjie 发表于 2021-1-5 23:49 | 显示全部楼层
需要清除SCG0控制位才行
heweibig 发表于 2021-1-5 23:52 | 显示全部楼层
另外,你的count加到2之后,没被清零。
 楼主| zhenykun 发表于 2021-1-5 23:56 | 显示全部楼层
代码复制时写错了,实际已经做了 count 清零
我是想实现这样的效果:程序运行后,电机一直运转,当按下一次按键后,进入中断并进入低功耗LPM3模式,电机停止;
再次按下按键后,进入中断退出低功耗LPM3模式,电机继续运转  (P4OUT可以认为是电机的开关)
我按如上代码编写,可以进入低功耗模式,但按下第二次按键就没任何响应
wuhany 发表于 2021-1-6 20:18 | 显示全部楼层
是系统任然处在低功耗模式而没有进入中断?
lizye 发表于 2021-1-6 20:22 | 显示全部楼层
CG0仍然置位,DC发生器仍被关闭,MCLK不能正常运行,需要清除SCG0控制位才行
 楼主| zhenykun 发表于 2021-1-6 20:26 | 显示全部楼层
大侠,写下相关代码不,低功耗我没用过
renyaq 发表于 2021-1-6 20:30 | 显示全部楼层

低功耗的控制需要多检测触发条件的。
shimx 发表于 2021-1-6 20:34 | 显示全部楼层
io口的控制没有配置好。
spark周 发表于 2021-1-6 20:40 | 显示全部楼层
记得设置中断唤醒。
jiahy 发表于 2021-1-6 20:43 | 显示全部楼层
可以需要设置中断唤醒。
单片机消耗还是很低的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

868

主题

11535

帖子

3

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