首页 > 系统相关 >基于Linux/ARM/单片机利用状态机对多个按键进行扫描实现短按或者长按

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

时间:2024-07-06 18:30:26浏览次数:13  
标签:扫描 按键 短按 状态机 单片机 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
已经整理好,可以在主页链接下载得到完整的源码。

标签:扫描,按键,短按,状态机,单片机,Linux,ARM
From: https://blog.csdn.net/EmLinuxDeveloper/article/details/140152169

相关文章

  • 834、基于51单片机的车内换气扇的控制系统(温度,气体,数码管)
    毕设帮助、开题指导、技术解答(有偿)见文末。目录一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括一、设计功能1、单片机型号:STC89C52/51、AT89C52/51、AT89S52/51等等都可通用。2、车内换气扇的控制系统。3、按键设置阈值,通过数码管显示相关......
  • 833、基于51单片机的测量仪(电压,电平,频率,LCD1602)
    毕设帮助、开题指导、技术解答(有偿)见文末。目录一、设计功能二、proteus仿真三、原理图四、程序源码五、资料包括一、设计功能基于单片机的简易测量仪(测量电压、TTL电平01,频率等)设计-一个简易的测量设备,用两支表笔(1个是GND,一个是输入信号)测量,可用于......
  • 51单片机定时器实现delay函数
    参考内容:不记得原作地址了,很尴尬啊,1.确定时钟周期、机器周期。时钟周期由单片机的晶振频率Fclk决定。那么时钟周期就是1/Fclk(比如:11.0592MHz)。确定单片机的机器周期是n个时钟周期(n在51单片机下一般是12)。2.确定需要单次定时器最大的计时时间长度如果是16位的计数器,16位最大......
  • 初学者指南:如何选择嵌入式Linux和单片机(MCU)
    前言在嵌入式系统开发领域,选择合适的平台是项目成功的关键之一。对于初学者来说,如何在嵌入式Linux和单片机(MCU)之间做出选择可能是一项艰巨的任务。本文将详细解释这两种平台的特点、优缺点,以及在不同应用场景中的适用性,帮助初学者做出明智的选择。嵌入式Linux简介概述嵌入......
  • 417、基于51单片机的热水器(燃气,温度,LCD1602,阀门PID)(程序+Proteus仿真+原理图+流程图+
    毕设帮助、开题指导、技术解答(有偿)见文未目录方案选择单片机的选择显示器选择方案一、设计功能二、Proteus仿真图单片机模块设计三、原理图四、程序源码资料包括:需要完整的资料可以点击下面的名片加下我,找我要资源压缩包的百度网盘下载地址及提取码。方案选择......
  • 【车载开发系列】常见单片机调试接口的区别
    【车载开发系列】常见单片机调试接口的区别【车载开发系列】常见单片机调试接口的区别【车载开发系列】常见单片机调试接口的区别一.JTAG协议二.SWD接口三.RDI接口四.仿真器1)J-Link仿真器2)ULink仿真器3)ST-LINK仿真器五.SWD/JTAG的各种区别六.信号线说明一......
  • 51单片机嵌入式开发:Protues开发板仿真平台制作
    Protues开发板仿真平台制作1软件配置2软件配置3初步建的工程及所用器件列表4测试代码5Protues中常用器件对应位置。Protues开发板51开发板的制作1软件配置2软件配置新建protues工程在所有的.C文件夹中,在仿真时可以看到执行的代码位置,目前按路径观察到......
  • 【单片机毕业设计选题24046】-基于单片机的智能鱼缸设计
    系统功能:检测水温,水温过低开启PTC加热。检测水位,水位过低开启水泵抽水。检测湿度,湿度过高则开启风扇通风。检测PH值和浑浊度,TTS语音播报功能,OLED显示系统信息,蓝牙模块连接手机APP。系统上电后显示“欢迎使用智能鱼缸系统请稍后”两秒后进入正常显示页面。第一页面第一行显......
  • 基于STM32单片机的智能垃圾桶控制系统 语音识别 LD3322 垃圾分类 红外感应 超声波满溢
        随着社会科学技术的飞速发展,人们的生活质量和速度也在不断提高。大多数传统的家用垃圾桶已经过时且缺乏新颖性,并且缺乏人性化设计。使用起来既不方便也不卫生,并且所有的生活垃圾和废物垃圾都被均匀地装载,没有经过仔细的分类。随之而来的是,清洁工的任务量正以几何速......
  • 基于STM32单片机的智能垃圾桶控制系统 语音识别LD3322 垃圾分类 火灾检测 金属检测 成
        随着社会科学技术的飞速发展,人们的生活质量和速度也在不断提高。大多数传统的家用垃圾桶已经过时且缺乏新颖性,并且缺乏人性化设计。使用起来既不方便也不卫生,并且所有的生活垃圾和废物垃圾都被均匀地装载,没有经过仔细的分类。随之而来的是,清洁工的任务量正以几何速......