void main(void){
WDTCTL = WDTPW + WDTHOLD;
Port_Init();
TBDS();
P3DIR|=BIT0+BIT1+BIT2+BIT3+BIT6; //p3口初始化
P3OUT&=~(BIT0+BIT1+BIT2+BIT3);
P3OUT|=8+BIT6;
P4DIR|=BIT5+BIT6; //脉冲、温度控制端口初始化
P4OUT&=~(BIT5+BIT6); //初始不采集不刺激
P4OUT|=BIT5;
uart_init();
ADC_InitRepeat();
PM5CTL0&=~LOCKLPM5;
_EINT();
LPM4; //进入低功耗0模式
//_BIS_SR(LPM4_bits + GIE);
_EINT();
大神帮我看一下,为什么进不去低功耗模式呢?
但是在定时器中断函数里写LPM0等等就可以进入低功耗。
你连while都不写吗,在while里面循环写一个低功耗
#pragma vector= TIMER0_B0_VECTOR
__interrupt void Timer_B0(){
COUNTJS++;
if(COUNTJS>=100){ //定时1s
Boost(); //刺激函数
Sec++;
//退出低功耗0模式
COUNTJS = 0; //中断计数值清零
if(Sec>=59){
Min++; //定时1分钟
Sec=0; //秒计数值清零
if(Min>=59)Min=0; //当分钟计时到1小时时候,分钟计数值清零
}
}
LPM0;
}
这样就可以进入了
while循环写了,都测试过了 还是不行,请问是不是FR系列的进入低功耗方法和F系列不一样?
while(1){
PWM_Change();
//count++;
// ADC12CTL0 |= ADC12ENC | ADC12SC; //ADC开始转换 可以作为控制位放在主程序里
if(TC==1){ //温度控制开关开启
// wendu=Do1Convert();
Change_Wendu(wendu);
UCA0TXBUF=16*dN[5]+dN[4];
P4OUT&=~BIT6;
TC=0; //采集完成之后关闭 单次采集
}
LPM4;
}
我觉得进低功耗和有没有while循环没有影响吧?有没有大神抽点时间帮帮我
以前其他的430直接写上LPMx就可以进入了,这个板子就是TI官方的LaunchPad,看了好多资料都不知道问题出在哪里。。。。。