Zicro 发表于 2025-11-8 19:48:32

定时器与IO中断冲突求助

定时器0与IO中断一起初始化后,定时器0中断进不去,IO中断能进,还会导致程序中的其他无关代码异常。即使中断函数内什么都没写,中断代码是STCISP生成的,单片机stc8H2K27U,以下是相关部分代码:
void Port1_Isr(void) interrupt 40
{
        /*
      ···
      */
}
void PortInt_Init(void)
{
        P1INTE = 0x02;                        //使能P1口中断
        P1IM0 = 0x00;                        //设置P1口中断模式 (00:下降沿, 01:上升沿)
        P1IM1 = 0x00;                        //设置P1口中断模式 (10:低电平, 11:高电平)
        P1WKUE = 0x00;                        //设置P1口中断唤醒省电模式
}

void Timer0_Isr(void) interrupt 1
{
        /*
      ···
      */
}

void Timer0_Init(void)                //1毫秒 @40.000MHz 中断
{
        AUXR |= 0x80;                        //定时器时钟1T模式
        TMOD &= 0xF0;                        //设置定时器模式
        TL0 = 0xA0;                                //设置定时初始值1.5ms
        TH0 = 0x15;                                //设置定时初始值1.5ms
        TF0 = 0;                                  //清除TF0标志
        TR0 = 1;                                  //定时器0开始计时
        ET0 = 1;                                  //使能定时器0中断
}

void main()
{
        EAXSFR();                /* 扩展寄存器访问使能 */
        GPIO_init();//GPIO初始化
        uart_config();//UART初始化
        ADC_config();//ADC初始化
        PortInt_Init();
        Timer0_Init();
      ···
}

神农鼎 发表于 2025-11-8 20:20:02


选 STC8H8K64U,AiCube 图形化配置,自动生成程序

dxzpyshf 发表于 2026-3-28 16:51:16

解决了么? 我的也是,IO中断打开,定时器就跑不了了。STC8H2K17U,AiCube不支持吧?
页: [1]
查看完整版本: 定时器与IO中断冲突求助