Page 1 of 1

关于SDK 版本为ble_mesh_release_V1P的GPIO 中断的问题。

Posted: Thu Jul 16, 2020 5:30 pm
by QinYUN5751
在此版本SDK中的light_switch例程中测试中断功能,将进入休眠部分代码注释掉防止影响测试。初始化了一下两个IO为独立按键并且为低电平进入中断:
gpio_set_interrupt_init(KEY_B1, PM_PIN_PULLUP_10K, 0x01, FLD_IRQ_GPIO_EN); //上拉10K 下降沿触发

gpio_set_interrupt_init(KEY_B2, PM_PIN_PULLUP_10K, 0x01, FLD_IRQ_GPIO_EN); //上拉10K 下降沿触发

测试过程中,发现当KEY_B1按下后成功进入void gpio_irq_user_handle()中断处理函数执行相应的打印语句告知我成功进入(在中断处理函数中有添加清除中断标志位代码),此期间KEY_B1并未松开,此时按下KEY_B2后,发现中断处理函数并没有执行相应的打印语句,说明没有进入中断。当KEY_B1松开后,再按下KEY_B2,发现中断处理函数有执行相应的打印语句,此时说明进入了中断。 两者反过来也是一样的现象,此现象可总结为当一个Key按下后不松开其他按键按下不会进入中断, 826X 8258均是这样。

是否少了其他初始化导致此现象发生?还是说此现象是正常的?