Oscar 发表于 2024-5-28 11:41:18

STC8H3K64S2-45I-TSSOP20的INT1上升沿和下降沿中断触发问题

    P0M0 = 0x00;       //设置P0.0~P0.7为双向口模式
    P0M1 = 0x00;
    P1M0 = 0x00;      
    P1M1 = 0x00;
    P2M0 = 0x00;      
    P2M1 = 0x00;
    P3M0 = 0x00;      
    P3M1 = 0x00;
   P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;
       
    IT0 = 0;                                    //使能INT0上升沿和下降沿中断
    EX0 = 1;                                    //使能INT0中断
       
    IT1 = 0;                                    //使能INT1上升沿和下降沿中断
    EX1 = 1;                                    //使能INT1中断
    EA = 1;

INT0上升沿和下降沿中断正常触发

INT1上升沿和下降沿中断只有第一次上电才能触发上升沿


晓飛飛 发表于 2024-5-28 11:52:30

看看你中断是怎么处理的

Oscar 发表于 2024-5-28 12:26:33

void INT1_Isr() interrupt 2
{
       

   if(1== Usb_input)
       {
               
                             // Uart1_send_bytes("USB插入",9) ;
                        Uart1_send_bytes_Printf("USB插入\n");
                     //Uart1_send_bytes("\r\n",2) ;
                          
          
       }
       if(0== Usb_input)
    {
                       
                                        //Uart1_send_bytes("USB拔出\0",9) ;
                                        Uart1_send_bytes_Printf("USB拔出\n");
                                //Uart1_send_bytes("\r\n",2) ;
                                // charger_flag1 =0;         //USB未插入;代表没有充电信号
       
    }
}

乘风飞扬 发表于 2024-5-28 13:17:54

直接下载这个例子到芯片里试试:

用示波器测量测试端口电平判断中断触发情况,避免其他程序影响外部中断功能。

Oscar 发表于 2024-5-28 13:55:18

主要我的程序是上电第一可以触发上升沿;接下来都不可以;是不是哪里的问题?

zhang32568 发表于 2024-5-28 16:24:41

端口设置什么模式?

Oscar 发表于 2024-5-28 17:08:56

P0M0 = 0x00;       //设置P0.0~P0.7为双向口模式
    P0M1 = 0x00;
    P1M0 = 0x00;      
    P1M1 = 0x00;
    P2M0 = 0x00;      
    P2M1 = 0x00;
    P3M0 = 0x00;      
    P3M1 = 0x00;
   P4M0 = 0x00;
    P4M1 = 0x00;
    P5M0 = 0x00;
    P5M1 = 0x00;


双向IO模式
页: [1]
查看完整版本: STC8H3K64S2-45I-TSSOP20的INT1上升沿和下降沿中断触发问题