打印

怎么完全关闭247的adc12,降低功耗?

[复制链接]
1329|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
小弟现在在使用m430f247,客户要求低功耗,但是我发现打开adc后,电流增加500多ua,下面是函数,一旦调用adc_init()函数后,电流就会变大,我想通过adc_lp()使ADC12CTL0和ADC12CTL1置0,但是没效果如图,那几个寄存器位依旧是1.求大神帮帮忙,谢谢了。
void adc_init()
{
  volatile unsigned int i;
  P6SEL |= BIT4;                           
  ADC12CTL0 = ADC12ON+SHT0_2+REFON+REF2_5V; // Turn on and set up ADC12
  ADC12CTL1 = SHP;                        
  ADC12MCTL0 = SREF_1+INCH_4;                  

  for ( i=0; i<0x3600; i++);               
  ADC12CTL0 |= ENC;
}
void adc_lp()
{
P6SEL |= BIT4;
ADC12CTL1 &=~ SHP;
ADC12CTL0&=~(ADC12ON+SHT0_2+REFON+REF2_5V);//adc off
ADC12CTL0 &=~ ENC;                        
}


相关帖子

沙发
dirtwillfly| | 2016-3-16 20:08 | 只看该作者
要关闭adc模块使能和基准电压使能等

使用特权

评论回复
板凳
smilingangel| | 2016-3-16 21:27 | 只看该作者
这个还跟相关的IO口的状态有关系的。

使用特权

评论回复
地板
smilingangel| | 2016-3-17 19:24 | 只看该作者
这个需要关闭ADC模块的同事,也关掉信号输入对应的IO口的,是其处于低功耗状态的设置。

使用特权

评论回复
5
comeon201208| | 2016-3-17 19:46 | 只看该作者
楼上说的是,不管要考虑AD模块自身的,还需要考虑线管的IO管脚的。

使用特权

评论回复
6
vibra2016| | 2016-3-17 22:42 | 只看该作者
参考楼上各位的意见的,我在这方面的也多注意下。

使用特权

评论回复
7
vibra2016| | 2016-3-17 22:46 | 只看该作者
参考楼上各位的意见的,我在这方面的也多注意下。

使用特权

评论回复
8
android2| | 2016-3-18 21:24 | 只看该作者
关闭ADC模块,关掉信号输入IO口,再进入低功耗状态

使用特权

评论回复
9
zhangbo1985| | 2016-3-26 21:59 | 只看该作者
AD数据采集完了就直接关闭该相关的IO管脚的,并设置成输入状态的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

15

帖子

0

粉丝