这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » STM32G070按键扫描

共8条 1/1 1 跳转至

STM32G070按键扫描

院士
2022-03-24 13:00:53     打赏
    大家好!我们在上一期的帖子里面实验了串口终端的功能。将我们看不到摸不着的信号转化为了ASCII字符,并在终端界面显示。本期版主将为大家带来与MCU交互的另外一个常见方式——按键功能。
    在我们的STM32G070RB开发板上面有一个蓝色的小按键,其与引脚PC13相连接(详细见附录电路图 )。引脚在空闲的时候由上拉电阻将电平拉高,即PC13的空闲电平为高电平。
有了外围电路的设计,我们再来安排一下软件实现。按键功能的基本需求有两个:一、短按;二、长按。所以,我们的设计方案也围绕这两个基本功能。
    在FreeRTOS系统里面,我们使用一个task来实现按键扫描功能。嗯,是扫描功能!
这里的按键非紧急按键,仅为普通按键,因此使用扫描的获取方式。

    我们将task的循环调用间隔设定为5ms,即每5ms采样一次引脚PC13的电平状态,以判断按键是否按下。我们再设计一个keypoll()的函数来执行与处理每次扫描后的按键状态,软件流程图如下图所示:

keypoll-Keypollv2.drawio.png

    在软件流程设计里,我们使用了FreeRTOS的队列来发送按键键码,当然,我们又新建了一个task来处理按键的键码。在版主的示例里面,版主使用串口终端打印出来键码值。串口终端的打印图如下所示:

截图.png







关键词: STM32G070     按键     扫描    

专家
2022-03-24 13:31:21     打赏
2楼

学习学习


专家
2022-03-24 13:38:15     打赏
3楼

收到谢谢


高工
2022-03-24 15:10:12     打赏
4楼

学习了


专家
2022-03-24 16:32:47     打赏
5楼

谢谢分享


工程师
2022-03-25 08:56:40     打赏
6楼

多任务系统来做键盘扫描,就是好!


助工
2022-03-25 08:56:15     打赏
7楼

谢谢分享


工程师
2022-03-25 09:10:45     打赏
8楼

我一般是用专用的键盘扫描芯片,比如ZLG7290,mcu使用起来更easy


共8条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]