|
我现在使用I/O口的一个开关中断来控制电机,想实现当电机转动50步不转后就进入待机模式,当I/O口有上升沿中断时,电机又能转动50步,没有中断就一直处于待机模式。
现在我使用低功耗来实现,但是进入低功耗后就无法出来,请教是哪出问题了?
请教待机模式的编程思路
急急急急!!!!!!
部分主程序
bz=0;
init_timerA();
__bis_SR_register(GIE);
while(bz==0)
__bis_SR_register(LPM3_bits);
部分中断程序
if(bz==0)
{
_BIC_SR_IRQ(LPM3_bits);
if(P2IN&0x01)
{
bz=1;
t2=0;
}
}
定时器初始化程序
void init_timerA()
{
if(bz==1)
{
TACTL = TASSEL1 + MC_1 + TACLR + TAIE; //SMCLK为时钟源,清TAR,不分频,up mode, interrupt enable
CCR0 = NUM_TA_P;
init_adc();
}
else
{
TACTL = TASSEL1 + MC_1 + TACLR + TAIE; //SMCLK为时钟源,清TAR,不分频,up mode, interrupt enable
CCR0 = NUM_TA_P;
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
该献的血还是要献的。你不献他不献。难道让我去献? --- 出自坛友:lovejp1981
|