LPC17xx,设置GPIO外部中断,但是无法触发。请大神赐教

void EINT3_IRQHandler(void)
{
//清除端口中断状态
Chip_GPIOINT_ClearIntStatus (LPC_GPIOINT, 0, 19);

PrintFlag = 1 ;     

}

void TestIntGPIO(void)
{
Chip_GPIOINT_Init(LPC_GPIOINT); //初始化中断LPC_GPIO
Chip_GPIO_SetPinDIRInput (LPC_GPIO, 0, 19);//设置端口为输入方向
//NVIC_ClearPendingIRQ(EINT3_IRQn);
NVIC_EnableIRQ(EINT3_IRQn);//使能中断
Chip_GPIOINT_SetIntFalling(LPC_GPIOINT, 0, 19);//设置端口下降沿触发中断

while(1)
{
    if(PrintFlag == 1)
    {
        { /*!!!debug*/
            unsigned char buf[50] = {0};
            sprintf(buf, "##debug -- start Chip_GPIO_WriteDirBit_59 -- 2\r\n");
            UART_Send(0, buf, strlen(buf));
        }

        PrintFlag = 0;

    }
}

}


2个回答

Fanbow198
Fanbow 嗯,操作逻辑是一致的。只是我用的是芯片提供的接口。现在问题解决了,错误在于设置端口输入方向和上、下降沿触发那里,第三个参数忘记偏移,改成“1 << 19”解决
11 个月之前 回复

感谢这位博主给的参考2.1.2 GPIO

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!