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上升沿和下降沿中断只有第一次上电才能触发上升沿
看看你中断是怎么处理的 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未插入;代表没有充电信号
}
} 直接下载这个例子到芯片里试试:
用示波器测量测试端口电平判断中断触发情况,避免其他程序影响外部中断功能。 主要我的程序是上电第一可以触发上升沿;接下来都不可以;是不是哪里的问题? 端口设置什么模式? 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]