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 秒灭 的方式循环。

相关推荐
炸膛坦客10 小时前
单片机开发工具篇:(十四)配置输出 .map 文件及其本地路径
c语言·单片机·嵌入式硬件
笨笨饿11 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网
hahaha601613 小时前
色彩恒常性概述
人工智能·嵌入式硬件·数码相机·计算机视觉
我叫洋洋13 小时前
Cadence CIS 元器件库合并实战:3000+ 焊盘、156 个符号零冲突并入自有库
数据库·单片机·嵌入式硬件·oracle·电路
hahaha601614 小时前
Shades-of-Gray (SoG) 算法--白平衡算法
人工智能·嵌入式硬件·算法·计算机视觉
ebiobiz14 小时前
极海 APM32 使用 Nimmake 编译指南
c++·python·单片机·嵌入式硬件·mcu
小神兵16 小时前
对电压源与电流源的的简单理解
单片机·嵌入式硬件·物联网
comyccccc17 小时前
三极管与MOS管工作原理全解析学习笔记
单片机·嵌入式硬件
FPGA小徐18 小时前
运放电路:负载必须接地时,如何做电流采样(浮地负载 vs 接地负载)
单片机·嵌入式硬件
木白CPP18 小时前
USB(一): USB 概述&&介绍
linux·网络·嵌入式硬件