STM32-笔记1-点亮led灯

1、复制一个模板文件,重命名为02-点亮一个led灯
2、在该路径下新创建一个led文件夹,并且在该文件夹下创建一个 led.c 和 led.h 文件
3、在keil5中把led.c加入到项目中

4、把led.h头文件导入到项目中

4、打开led.c文件,输入下面的代码,加完下面的头文件记得先编译一下,led.h才会出来
5、打开led.h输入下面的代码

此代码含义是:

6、书写代码流程,解析图中1、2步

使用2,必须要有1这个关于时钟的头文件,打开1这个头文件可以看见如下图:

1这些是关于系统时钟的初始化函数

2这里为什么要调用这个__HAL_RCC_GPIOB_CLK_ENABLE();函数,我们可以在系统时钟头文件中寻找

stm32f1xx_hal_rcc.h :用于配置和管理系统时钟的函数和宏定义

我们在这里能看到各种GPIO的宏函数,找到了GPIOB这个函数,那么为什么不是GPIOA而是GPIOB?

查看原理图,我们会知道,led1在PB上,我们要改变led1灯的状态变化,也就是给led1的端口信息,所以这里是GPIOB

7、调用GPIO初始化函数

在led.c文件中调用该函数,在结构体类型中F12打开stm32f1xx_hal_gpio.h文件

8、点亮led

如果你不知道赋什么值,请按以下步骤

9、熄灭led(同上)

10、翻转led的状态(同上)

9、补充头文件
10、在主函数中调用函数,烧写函数,实现点灯,熄灯,翻转灯的状态
相关推荐
zcmodeltech42 分钟前
智能制造教学实训沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的工业机器人-智慧工厂-数字孪生全场景联动方案
数据库·stm32·嵌入式硬件·机器人·制造·多分类
程序员与背包客_CoderZ1 小时前
Linux D-Bus通信协议详解:从入门到C/C++编码实战
linux·服务器·c语言·c++·嵌入式硬件·嵌入式软件·dbus
嵌入式阿蔡2 小时前
HAL库 vs LL库 vs 寄存器:到底用哪个?
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
后季暖3 小时前
langgraph笔记(2)&& fastapi笔记
笔记
天空'之城3 小时前
单片机基础核心知识点汇总(三)
单片机·嵌入式硬件
嵌入式阿蔡4 小时前
CAN总线入门:从协议帧到STM32实战
c语言·stm32·单片机·嵌入式硬件·嵌入式实时数据库
小小筱筱4 小时前
LabVIEW笔记:解决周立功CAN卡驱动缺失导致的启动报错问题
笔记·labview
Wang's Blog4 小时前
PostgreSQL笔记4: 市场地位、生态全景与行业应用实践
数据库·笔记·postgresql
RainCity4 小时前
Java Swing 自定义组件库分享(十六)
java·笔记·后端
恒锐丰科技韩生4 小时前
率能 SS8847E|2.7~15V 双通道 H 桥电机驱动 ETSSOP16 散热封装 家电 / 打印 / 舞台灯光专用
嵌入式硬件·硬件工程