协议栈按键中断流程中有明显的bug,难道没有人发现么
时间:10-02
整理:3721RD
点击:
之前按键用的是轮训,按键都工作正常。换成中断模式后发现有的按键不灵,仔细一追,发现这个bug
尼玛不能贴图。。。。。看附件。配置摇杆中断边沿的寄存器都写错了,应该写PICTL但是实际写成了P2IEN。造成按键不能正常响应。这个bug一直存在,从我看的2.5.1到最新的ZHA 1.2.2,难道没有人发现么?
我猜 因為搖桿不能用中斷去偵測按鍵
所以這段不會被執行到 所以寫成 P2IEN 也沒影響
遥感的中断是通用P2.0口来触发的,为什么说写错了?
图片中下面红框这句话的作用是配置p2_0中断的边沿,设成1,选择下降沿,这个应该是写PICTL的bit3,
但是追一下HAL_KEY_JOY_MOVE_ICTL的定义是P2IEN,是用来enable p2某一个口的中断的,而且还写了第三位,完全牛头不对马嘴!
中断里面加了延时以消抖,但是由于中断边沿设错了,与后面keypoll期待的值相反,所以当按键产生抖动的时候,才能检测到按键,因此表现就是按键不灵