RT1052+KPP矩阵键盘接口和systick延时

在1052众多的外设资源里面,我发现了一个比较有意思的外设接口,KPP(矩阵键盘接口),这个在很多MCU里面都没见过,一般都是用过IO输入来读取的,而1052直接集成了!!!最大应该是支持8X8的矩阵键盘输入,而ok10520-c板子也提供了一个4X4的排针接口,可以用来测试。

KPP的配置也是比较简单,IO复用为KPP模式



设置为中断模式触发


中断函数



按键读取







实验结果,发现按键没有消抖机制,按一下会触发好几次中断



需要添加适当的延时来消抖,这里我们用systick来做延时机制
可以直接使用如下函数来设置systick,因为我systick采用时钟摘取的方式,所以不影响中断,时钟摘取的意思就是延时之前取一次systick的计数值做参考,然后一直读取计数值做比较,直到大于延时的时间






打印信息检测延时效果。



重新进行main函数配置




发现按键相对比较稳定,按一次打印一次。当然这是比较粗糙的消抖方式,不能用于实际产品。



KPP接口的测试,还是比较简单就能配置实现,但没有按键的消抖机制,还是需要自己去实现,这样看起来有点小鸡肋吧

posted on 2022-06-19 16:24  张凌001  阅读(397)  评论(0编辑  收藏  举报

导航