smartter 发表于 2012-11-12 00:56:41

IAR高级优化后,时钟分频不起作用了,请高手赐教

我的程序,必需要用高压缩,代码小优先,
我用定时器T2做了0.5S一次中断唤醒休眠的CPU(休眠前主时钟先16分频,唤醒后再全速运行)


#pragma vector=TIMER2_OVF_vect   // 定时器2用于唤醒休眠中的CPU
__interrupt void timer2(void)
{
   asm("nop");                              //唤醒CPU而已
}

。。。。。。。。。。。。。。。

main:
                {   
                  CLKPR = 0x80;   
                  CLKPR = 0x04;//休眠前把CPU时钟04 = 16分频,分频后定时器定时时间 0.5 S
                  
                  asm("nop");                  
                  SMCR= 0X06;         //省电模式                     
                  SMCR |= 0x01;            
                  __sleep();
                  asm("nop");                  
               }   

               CLKPR = 0x80;   
               CLKPR = 0x00;//唤醒后全速运行

结果发现中低等压缩没有问题,高压缩后时钟分频不起作用了,定时时间间隔大为缩短导致设备耗电量大,
各位高手知道应该如何改下程序吗?

stdio 发表于 2012-11-12 01:29:46

CLKPR SMCR 的定义是怎么写的?
页: [1]
查看完整版本: IAR高级优化后,时钟分频不起作用了,请高手赐教