您的位置:首页 > 汽车 > 时评 > 基于Linux/ARM/单片机利用状态机对多个按键进行扫描实现短按或者长按

基于Linux/ARM/单片机利用状态机对多个按键进行扫描实现短按或者长按

2024/7/6 9:39:04 来源:https://blog.csdn.net/EmLinuxDeveloper/article/details/140152169  浏览:    关键词:基于Linux/ARM/单片机利用状态机对多个按键进行扫描实现短按或者长按

1)Linux/ARM/单片机入门级按键扫描程序设计,分享给将要学习或者正在学习Linux/ARM/单片机开发的同学。

2)内容属于原创,若转载,请说明出处。

3)提供相关问题有偿答疑和支持。

学习Linux/ARM/单片机的同学都会学习到一个知识点,就是按键扫描,本课题基于SigmaStar的平台SSC375芯片SOC详细说明如何写一个按键扫描程序,同时也适用于其他厂家SOC,或者是单片机MCU。本课题主要通过3个部分来介绍一个完整软硬件的设计流程。主要在Linux环境下实现。

代码架构:3层(用户层,业务层API,硬件接口层),其中硬件接口层与具体的硬件相关,用户适当的修改即可用到其他硬件平台,方便移植。
d65a7817f63c41edb10b275573d17b14.png

如下是SSC375的SOC按键接口原理图:用到了PAD_FUART_CTS,PAD_FUART_TX两个IO口,本程序支持扩展更多IO口的按键,本例仅使用到2个IO口控制两个按键
d7dd97486f224623b955c593a839f5a8.png

业务层API使用到了典型的状态机来实现按键扫描,支持长按/短按操作:嵌入式软件工程师必须掌握状态机
1992bf087d334c6b9780c33fcbed9170.jpeg

实际运行如下:
c7553622b7fd4d3d9390344514e3dfb4.png

完整的源码:
7af4d69877824bb094763b9787ff184b.png
已经整理好,可以在主页链接下载得到完整的源码。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com