在CH573F上测试好的PB22脚中断,换到CH582F后进不了中断,是不是CH582F的PB22脚中断是否不能用?

如题,CH582F的PB22脚,不管电平中断还是边缘中断都进不了,读端口状态可以。

在582中使用pb22作为外部中断,是需要切换的,将RB_PIN_INTX置1。

emobile_2022-04-21_13-21-37.png


你们的库已经处理了。也手动处理过,还是不行。


试一下是否可行:

__INTERRUPT
__HIGH_CODE
void GPIOB_IRQHandler(void)
{
    printf("Interr\n");
    GPIOB_ClearITFlagBit(GPIO_Pin_22 | GPIO_Pin_3);
}

int main()
{
    SetSysClock(CLK_SOURCE_PLL_60MHz);

    DebugInit();
    PRINT("Start @ChipID=%02X\n", R8_CHIP_ID);

    R16_PIN_ALTERNATE |= RB_PIN_INTX;
    GPIOB_ModeCfg(GPIO_Pin_22 | GPIO_Pin_3, GPIO_ModeIN_PU);
    GPIOB_ITModeCfg(GPIO_Pin_22 | GPIO_Pin_3, GPIO_ITMode_FallEdge);
    PFIC_EnableIRQ(GPIO_B_IRQn);

    while(1);
}



好用,谢谢。


请问解决了吗?我使用的是CH582M但是PB22还是无法进入中断,请问为什么啊



可以参考四楼的代码,问题是已解决的,在默认状态下,pb22是无法出发中断的,需要添加代码。

R16_PIN_ALTERNATE |= RB_PIN_INTX;

1650518050154039.png


你好,请问我就是按照这个来写的但是还是进入不了终端

image.png

1654136491(1).png

但是我是吧PB22设置为唤醒终端源来看的


串口打印初始化了吗,例程中的一些打印信息是否打印了呢。


串口初始化再其他函数初始化了所以这里我就没初始化了,打印信息被我给删除了,不过之前我用例程给的PA5都可以成功唤醒并且进入到中断


这是我的打印image.png


下载官网最新的例程再去修改,如果仍无法进入中断,可以发送邮件至邮箱hy@wch.cn,给你发个例程。


已发,感谢


只有登录才能回复,可以选择微信账号登录