一个应用于单片机的按键处理模块!.docx
《一个应用于单片机的按键处理模块!.docx》由会员分享,可在线阅读,更多相关《一个应用于单片机的按键处理模块!.docx(13页珍藏版)》请在优知文库上搜索。
1、keyjoard介绍key_board用于单片机中的小巧多功能按键支持,软件采用了分层的思想,并且做到了与平台无关,用户只需要提供按键的基本信息和读写i。电平的函数即可,非常方便移植,同时支持多个矩阵键盘及多个单io控制键盘。目前已实现按下触发、弹起触发、长按自动触发、长按弹起触发、多击触发、连续触发等功能,并且能够随意组合(支持状态的同一时间轴和非同一时间轴),后续还会添加更多的功能。使用说明1 .初始化相关的硬件资源。2 .提供一个ImS的定时器,用于周期性的调用key_check,函数。3 .提供按键的描述及读写io的函数。4 .将键盘注册到系统。5 .具体的操作参考提供的stm32例程
2、。6 .因为程序默认使用了堆内存,当发现程序运行结果不正常时,尝试增大你的程序堆空间,或者注册调试接口查看原因。7 .更详细的使用教程见详细使用说明或者提供的stm32例程。已支持的键盘1.矩阵键盘1 s-a5 s 9 4,D LrrLTc矩阵键盘1.单io按键单i。按键详细使用说明将key_board.c,key_board.h,key_board_config.h放进key_board文件夹中并包含进你的工程,添加头文件路径。基础功能移植(以stm32矩阵键盘为例)首先需要一个可使用的定时器(如果不想使用定时器也可直接放到主循环中,但不推荐,会导致时基不准确),固定为ImS触发一次;准备待
3、检测的按键的基本信息,可参考key_board_sample.c文件中的structkey_pin_t结构体,如:structkey_pin_tGPIO_TypeDef*port;按键端口号uintl6_tpin;按键的引脚号GPIO_PinStatevalid;按键的有效电平(即按健按卜时的电平)GPIO_PinStateinvalid;按健的无效电平(即按键空闲时的电平)/*可添加你的其它参数*/;定义待检测的按键信息,可参考key_board_sample.c文件中的conststructkey_pin_tkey_pin_sig结构体数组,对应头文件为key_board_sample.h
4、,如:全局变量conststructkey_pin_tkey_pin_sig=.port=KEY_PORT_J12,.pin=KEY_PIN_J12,.valid=KEY_PRESS_LEVEL_J12,.invalid=KEYRELEASELEVELJ12,.port=KEY_P0RT_J34,.pin=KEY_PIN_J34,.valid=KEY_PRESS_LEVEL_J34,.invalid=KEY_RELEASE_LEVEL_334,.port=KEY_PORT_J56,.pin=KEY_PIN_J56,.valid=KEY_PRESS_LEVEL_J56,.invalid=KEY_
5、RELEASE_LEVEL_356,;切果为箱隼健盘还需要定义控制io的相关信息,可参考key_bOareLSampie.c文件中的conststructkey_pin_tkey_pin_ctrl结构体数组,对应头文件为key_board_sample.h,如:conststructkey_pin_tkey_pin_ctrl=.port=KEY_P0RT_J135,.pin=KEY_PIN_J135,.valid=KEY_CTL_LINE_ENABLE,.invalid=KEY_CTL_LINE_DISABLE,.port=KEY_P0RT_J246,.pin=KEY_PIN_3246,.va
6、lid=KEY_CTL_LINE_ENABLE,.invalid=KEY_CTL_LINE_DISABLE,;实现按键io的电平读取函数,可参考key_board_sample.c文件中的pin_level_get函数,如:staticinlineboolpin_level_get(constvoid*desc)structkey_pin_t*pdesc;pdesc=(structkey_pin_t*)desc;returnHAL_GPIO_ReadPin(pdesc-port,pdesc-pin)=pdesc-valid;)如桌为矩摩健盘还需要实现按键io的电平写入函数,可参考key_boa
7、rd_sample.c文件中的pin_level_set函数,如:staticinlinevoidpin_level_set(constvoid*desc,boolflag)structkey_pin_t*pdesc;pdesc=(structkey_pin_t*)desc;HAL_GPIO_WritePin(pdesc-port,pdesc-pin,flag?pdesc-valid:desc-invalid);)定义按键的id及功能结构体structkey_public_sig_t,可参考key_board_sample.c文件中的conststructkey_public_sig_tkey
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 一个 应用于 单片机 按键 处理 模块