ch582m GPIOx_ReadPortPin()寄存器操作遇到问题

在调用 GPIOx_ReadPortPin()时,返回复位值,如GPIOA_ReadPortPin(GPIO_Pin_10)的时候直接返回了10,查了一下寄存器R32_PA_PIN的低16位在复位情况下会返回键位原值,有的时候调用GPIOx_ReadPortPin()正常,有的时候异常,是怎么回事;

在官方例程和库中没有提供外部中断的双边沿触发模式,我写代码的时候先设置上升沿再设置下降沿触发,程序可以正确地进入中断服务函数,查了一下寄存器好像有冲突,为什么可以实现?

第一个问题已经解决,原因时非法输入,关于ch582是否支持外部中断双边沿触发还请各位大神解答一下



我们GPIO中断支持四种触发方式,如果需要实现双边沿触发,那么就需要通过切换触发模式来解决。

GPIO_ITMode_LowLevel,  //低电平触发

GPIO_ITMode_HighLevel, //高电平触发

GPIO_ITMode_FallEdge,  //下降沿触发

GPIO_ITMode_RiseEdge,  //上升沿触发



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