基于C语言的机械按键模块化软件开发
文章平均质量分 76
本系列是针对产品中机械按键模块功能的开发。拥有获取单次按下、获取单次释放、获取按键状态、获取按键故障状态等功能!
模块化程度高,移植性极强,只需修改相关配置项即可完成按键的开发。按键配置项包括个数配置、滤波时间配置等!
airX嵌入式(微信公众号同名)
微信公众号 airX嵌入式 ,分享个人实际项目经验和理解
展开
-
基于C语言的机械按键模块化软件开发(3)
(模块全代码获取方式,关注微信公号,发送switch)关注微信公众号 (airX嵌入式),获取更多项目经验!五、移植说明移植我还是亲自示范吧!我的板子 ,4个按键控制4个led灯!主滤波函数调用周期2ms。把你的项目工程打开,载入这个模块的代码(lib_switch.c和lib_switch.h)你的工程其他模块自然要配置好,定时器啊,输入输出啊等等!在h文件中找到移植配置区,确定硬件按键的有效电平,我的低有效,在下面枚举中配置,在设置自己的滤波时间,根据按键...原创 2021-03-23 11:08:22 · 760 阅读 · 0 评论 -
基于C语言的机械按键模块化软件开发(2)
(模块全代码获取方式,关注微信公号,发送switch)关注微信公众号 (airX嵌入式),获取更多项目经验!四、软件设计本软件模块实现按键的单次按下、单次释放、按下状态、释放状态、故障(卡滞)状态的检测。单次按下:按键从无效电平到有效电平跳变单次释放:按键从有效电平到无效电平跳变按下状态:按键处于按下状态释放状态:按键处于释放状态故障状态:这里主要指按键在按下状态维持的时间过久,就认定按键卡住了,判为按键故障状态,以指示相关功能模块忽略此按键的操作,达到避免误响应的目的!原创 2021-03-23 11:07:01 · 1033 阅读 · 0 评论 -
基于C语言的机械按键模块化软件开发(1)
前言本系列是针对产品中机械按键模块功能的开发。拥有获取单次按下、获取单次释放、获取按键状态、获取按键故障状态等功能!模块化程度高,移植性极强,只需修改相关配置项即可完成按键的开发。按键配置项包括个数配置、滤波时间配置等!虽是针对机械按键的软件模块,软件也适用于其他类型的按键,比如触摸。只要提供获取按键的电平接口,此模块就适用!本模块代码已经实现在多个产品上量产,用于国产上汽、长城、北汽等SUV的车型!整个项目的产品经过严格的测试,包括鲁棒性、一致性等软件性能!(模块全代码获取方式,关注微原创 2021-03-23 11:05:36 · 990 阅读 · 0 评论