RT1052+KPP矩阵键盘接口和systick延时
2022/6/19 23:23:41
本文主要是介绍RT1052+KPP矩阵键盘接口和systick延时,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在1052众多的外设资源里面,我发现了一个比较有意思的外设接口,KPP(矩阵键盘接口),这个在很多MCU里面都没见过,一般都是用过IO输入来读取的,而1052直接集成了!!!最大应该是支持8X8的矩阵键盘输入,而ok10520-c板子也提供了一个4X4的排针接口,可以用来测试。KPP的配置也是比较简单,IO复用为KPP模式
设置为中断模式触发
中断函数
按键读取
实验结果,发现按键没有消抖机制,按一下会触发好几次中断
需要添加适当的延时来消抖,这里我们用systick来做延时机制
可以直接使用如下函数来设置systick,因为我systick采用时钟摘取的方式,所以不影响中断,时钟摘取的意思就是延时之前取一次systick的计数值做参考,然后一直读取计数值做比较,直到大于延时的时间
打印信息检测延时效果。
重新进行main函数配置
发现按键相对比较稳定,按一次打印一次。当然这是比较粗糙的消抖方式,不能用于实际产品。
KPP接口的测试,还是比较简单就能配置实现,但没有按键的消抖机制,还是需要自己去实现,这样看起来有点小鸡肋吧
这篇关于RT1052+KPP矩阵键盘接口和systick延时的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享