打印
[其他ST产品]

stm32—按键(双模式,双函数选择)

[复制链接]
106|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一、新建方法不说了,记得将key和led文件封装进去


不使用CubeMX




二、ked.c代码:

1、按键初始化部分


使用特权

评论回复
沙发
xiaoqi000|  楼主 | 2023-8-26 17:46 | 只看该作者
2、第一个按键函数

使用特权

评论回复
板凳
xiaoqi000|  楼主 | 2023-8-26 17:46 | 只看该作者
注意:

使用特权

评论回复
地板
xiaoqi000|  楼主 | 2023-8-26 17:47 | 只看该作者
这个函数提供两种模式(是否连按)

使用特权

评论回复
5
xiaoqi000|  楼主 | 2023-8-26 17:47 | 只看该作者
注意这个函数存在响应优先级

3、第二个按键函数

使用特权

评论回复
6
xiaoqi000|  楼主 | 2023-8-26 17:47 | 只看该作者
三、key.h部分:

使用特权

评论回复
7
xiaoqi000|  楼主 | 2023-8-26 17:47 | 只看该作者
注意:

有两种方式读取电位,一种用位带操作读取,一种用HAL库读取

声明了.c文件里的三个函数,宏定义了一些特殊常量

使用特权

评论回复
8
xiaoqi000|  楼主 | 2023-8-26 17:48 | 只看该作者
四、main.c中:

使用特权

评论回复
9
xiaoqi000|  楼主 | 2023-8-26 17:48 | 只看该作者
通过这个KEY_Scan();内的数字来选择扫描模式

使用特权

评论回复
10
xiaoqi000|  楼主 | 2023-8-26 17:48 | 只看该作者
0和1

使用CubeMX
一、首先记得先把delay函数和KEY函数封装好

使用特权

评论回复
11
xiaoqi000|  楼主 | 2023-8-26 17:49 | 只看该作者
二、端口初始化部分都在gpio.c里面完成

使用特权

评论回复
12
xiaoqi000|  楼主 | 2023-8-26 17:49 | 只看该作者
三、KEY.c里面没了初始化部分

使用特权

评论回复
13
xiaoqi000|  楼主 | 2023-8-26 17:49 | 只看该作者
四、KEY.h里面少了一个初始化函数声明

使用特权

评论回复
14
xiaoqi000|  楼主 | 2023-8-26 17:50 | 只看该作者
五、main.c:

这个Delay函数记得加上

使用特权

评论回复
15
xiaoqi000|  楼主 | 2023-8-26 17:51 | 只看该作者
定义的8位变量和初始化延时函数调用放到这里面

使用特权

评论回复
16
xiaoqi000|  楼主 | 2023-8-26 17:51 | 只看该作者
操作部分没啥变化

使用特权

评论回复
17
liuzaiy| | 2023-8-26 23:42 | 只看该作者
读取电位都有哪几种方式

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

45

主题

671

帖子

0

粉丝