|
msp430F2013
void main( void )
{
WDTCTL = WDTPW + WDTHOLD; //关看门狗
Init_F2013(); //IO口设置
_EINT(); //允许全局中断。GIE=1
while(1)
{
LPM3; // 进入低功耗模式3,只有ACLK工作,最省电模式 _BIS_SR(LPM3_bits + GIE);
}
}
/*******************************************************************************
看门狗中断函数:watchdog_timer();
*******************************************************************************/
#pragma vector=WDT_VECTOR
__interrupt void watchdog_timer(void)
{
Choose_CH(5); // 选择AD通道
Turn_on_Sampling(); // 接通采集电路的电源启动采集。开启AD中断使能,并开始AD转换
LPM3_EXIT; //退出低功耗模式,在AD完成后重新开启
}
#pragma vector=SD16_VECTOR
__interrupt void SD16ISR(void)
{
Close_Sampling(); // SD16停止转换,禁止中断及关闭采集电路的电源。
adc_last_val = SD16MEM0; // 保存 ADC 最后的结果.
LPM3; // 恢复到 LPM3 。
}
本打算,定时器定时打开AD模块电源和中断使能,开始AD采集,在AD采集完再返回低功耗模式。。可按上面却始终得不到数据,
如果不用低功耗模式3,一直开启AD使能,可以采集数据 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981
|