2273|0

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

进入低功耗模式导致不能触发P1.3 [复制链接]

大家好,我的目的是这样的:
3.3V |------R-------||------------|Gnd
P1.3接个电阻接到上面的RC中间,
P1.3先输出0,给电容放电,再变为输入,检查电容的充电电压(从低到高),达到1.8V,进入P1中断。
不断循环,平时进入LPM0,
问题是进入LPM0就会导致 P1中断进不去,注释掉就好了,但是我想用低功耗,这是什么原因?

#include  

void main(void)
{
    int i;
  WDTCTL = WDTPW + WDTHOLD;                 // Stop watchdog timer
  
          P1OUT &= ~BIT0;
          P1DIR |= BIT3;                                                // Set P1.3 as output pin

  while (1)                                 // Test P1.3
  {
          P1OUT &= ~BIT3;
          P1DIR |= BIT3;                                                // Set P1.3 as output pin
          for (i = 10000; i>0; i--);              // Delay

          P1DIR &= ~BIT3;                                                // Set P1.3 as input pin
          P1IES &= ~BIT3;
          P1IFG |=BIT3;  // To prevent an immediate interrupt, clear the flag for
          P1IE |= BIT3;
          __bis_SR_register(GIE);                   // Enable interrupts
      __delay_cycles(2000000);

          LPM0;
}
}
unsigned int timer_count, key_threshold;

#pragma vector=PORT1_VECTOR
__interrupt void port_1_interrupt(void)
{
    P1IFG &= ~BIT3;    // clear the interrupt flag
       timer_count = TAR - timer_count;          /* Record the discharge time */
//    LPM0_EXIT;                                /* Exit from low power 3 or 0 */
       P1OUT ^= 0x01;
       //return;
}
 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表