tangsizu 发表于 2023-11-23 14:42:37

请教STC8A8K64D4 T2定时器用不了

各位大老们,你们好,

请教一下STC8A8K64D4T2定时器怎么用不了,谢谢了


void Timer_2_Init(void)                //1毫秒@22.1184MHz
{
        IE2 |=0x04;      //定时器2中断允许
        AUXR &= 0xFB;                //定时器时钟12T模式
        T2L = 0xCD;                //设置定时初始值
        T2H = 0xF8;                //设置定时初始值
        AUXR |= 0x10;                //定时器2开始计时
}



void Timer2Init() interrupt 12 using 1
{
led=~led;
}


tangsizu 发表于 2023-11-23 15:22:35

把T0定时时间设长一点就T2定时器就正常了,之前T0设置5us进入中断,T2就停了,不知道什么,我要T0快一点,同时T2也要能正常运行。求助一下版主

神农鼎 发表于 2023-11-23 17:48:27

1,将主频提高到 40MHz
2,中断服务程序里面的指令越少越好,树个标志,其他主循环中运行
3,不要定那么短的时间
4,不正常的设置到更高的优先级
5,用仿真功能来仿真查错
页: [1]
查看完整版本: 请教STC8A8K64D4 T2定时器用不了