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;//唤醒后全速运行
结果发现中低等压缩没有问题,高压缩后时钟分频不起作用了,定时时间间隔大为缩短导致设备耗电量大,
各位高手知道应该如何改下程序吗? CLKPR SMCR 的定义是怎么写的?
页:
[1]