LED闪烁功能代码详解

GPIO_InitTypeDef GPIO_InitStructure;

定义一个类型为 GPIO_InitTypeDef 的结构体变量,用于配置 GPIO 的各项参数

GPIO_InitTypeDef 是 STM32 标准外设库中定义的一个结构体,包含以下:

GPIO_Pin:指定要配置的引脚( GPIO_Pin_0 ~ GPIO_Pin_15)

GPIO_Mode:设置引脚的8种工作模式(输入/输出/复用等)

GPIO_Speed:设置输出模式下的最大翻转速度(仅对输出有效,要求不高时一般设置为50MHz)

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

使能 GPIOA 的时钟.

GPIOA 连接在 APB2 总线 上,所以调用的是 RCC_APB2PeriphClockCmd()

参数 RCC_APB2Periph_GPIOA 表示要使能 GPIOA 的时钟,ENABLE 表示开启。

GPIO_Init(GPIOA, &GPIO_InitStructure);

将上面的配置应用到 GPIOA 端口。

此时,PA0 引脚已被配置为 50MHz 推挽输出模式 ,可以由软件控制其输出高低电平 GPIO_SetBits()GPIO_ResetBits()

使用 GPIO_ResetBits / GPIO_SetBits

GPIO_ResetBits(GPIOA, GPIO_Pin_0); // PA0 输出低电平0V

Delay_ms(500); // 延时 0.5s

GPIO_SetBits(GPIOA, GPIO_Pin_0); // PA0 输出高电平3.3V

Delay_ms(500); // 延时 0.5s

// 第二组:使用 GPIO_WriteBit

GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_RESET); // PA0 = 0

Delay_ms(500);

GPIO_WriteBit(GPIOA, GPIO_Pin_0, Bit_SET); // PA0 = 1

Delay_ms(500);

LED 以 0.5 秒亮、0.5 秒灭、再 0.5 秒亮、0.5 秒灭 的方式循环。

相关推荐
clear sky .7 分钟前
内存8字节对齐是什么?
c语言·stm32·嵌入式硬件
辰域电子12 分钟前
STM32项目开源:智能安防与燃气监测系统(代码+原理图+仿真)
stm32·单片机·嵌入式硬件·开源·毕业设计·proteus
服务器硬件项目经理20 分钟前
第14篇_服务器主板上MOSFET的三大应用
运维·服务器·人工智能·单片机·硬件工程·硬件
SamChan9020 分钟前
Python批量处理PDF踩坑实录:中文编码、字体内嵌、多栏排版与内存占用
python·单片机·ai·pdf·机器翻译
HUI-4741 小时前
EG1170|SSOP‑10 外置 MOS 200V 异步降压控制器,快充 / 电池充电大电流降压优选
嵌入式硬件·硬件工程
zcmodeltech1 小时前
能源电力沙盘模型控制系统设计——基于STM32与Modbus RTU的“发—输—变—配—用”全链条动态展示方案
数据库·stm32·单片机·嵌入式硬件·能源
高斯的手稿08011 小时前
丽萨单片机固件升级,裁剪hex文件
单片机·嵌入式硬件
昌原的儿子LEO1 小时前
【单片机入门】UART 串行异步通信核心考点梳理
linux·单片机·51单片机
沐欣工作室_lvyiyi1 小时前
基于单片机的汽车防碰撞刹车系统的设计与实现(论文+源码)
单片机·嵌入式硬件·汽车·单片机智能小车
雨田言炎2 小时前
STM32之自定义协议帧格式
网络·笔记·stm32·单片机