type
status
date
slug
summary
tags
category
icon
password
文章筛选
stm32cubemx通过位带操作实现点亮led
完整的工程已上传到码云:
一、软件配置
将led引脚配置位推挽输出,如下:
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F9cef305e-2b0f-490d-9ec3-dc603b2d3615%2Fe5fa95ac-c041-411d-b8c3-78da2d76f185%2FUntitled.png?table=block&id=a660e36a-ec73-46f1-93d0-47f9912a1582&t=a660e36a-ec73-46f1-93d0-47f9912a1582&width=495&cache=v2)
点击generate core 生成代码。
二、位操作的实现
添加IO地址映射文件,sys.c和sys.h
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F9cef305e-2b0f-490d-9ec3-dc603b2d3615%2F7c0bc559-7d9a-4050-a670-f3093b7fa0b5%2FUntitled.png?table=block&id=a479a52e-2431-4222-879a-714bfaab2cf5&t=a479a52e-2431-4222-879a-714bfaab2cf5&width=448&cache=v2)
该文件中有对应的IO地址映射,可实现其位操作。
在该工程中添加一个led.c和led.h文件,添加sys.h以及main.h文件
在led.h中添加如下代码,就可实现对led的位操作。
通过给LED1和LED2复制0,1就可以控制其亮灭。
三、通过位操作实现led的反转
在主函数循环中添加如下代码,实现led的反转。
stm32cubemx 按键输入实验
完整的工程已上传到码云:
一 、软件配置
将按键的IO口配置位输入模式,如下:
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F9cef305e-2b0f-490d-9ec3-dc603b2d3615%2F515fc60b-d9a8-4f80-ae52-b25b8b6c9200%2FUntitled.png?table=block&id=210e71b5-5321-412a-9668-36d42366c521&t=210e71b5-5321-412a-9668-36d42366c521&width=497&cache=v2)
上下拉选择,看原理图,当按键的一端接的是GND,另一端是信号角,则使用上拉。若一端位VCC,另一端位信号叫,则为下拉。如下图,KEY_UP配置位下拉,其余三个配置位上拉。
![notion image](https://www.notion.so/image/https%3A%2F%2Fprod-files-secure.s3.us-west-2.amazonaws.com%2F9cef305e-2b0f-490d-9ec3-dc603b2d3615%2F5625abe8-47f1-4127-bda5-3d1130167e87%2FUntitled.png?table=block&id=a0b83e0d-7a7c-4b7a-ad30-9e0f3e83a545&t=a0b83e0d-7a7c-4b7a-ad30-9e0f3e83a545&width=321&cache=v2)
二、代码实现
新建一个key.c和key.h的文件,在.c文件中添加如下代码,用于按键扫面
下面是按键扫描函数,对KEY0,KEY1,KEY2,KEY_UP都进行位操作,需要现在.h文件中进行宏定义。
key.h的代码如下:
在主函数循环中添加如下代码实现通过按键对LED灯进行操作。
- 作者:也平凡
- 链接:https://www.990001.xyz/blog/stwcz
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。