ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

STM32F103的流水灯点亮版本1(寄存器地址操作)

STM32F103的流水灯点亮版本1(寄存器地址操作) 前言本实验基于 STM32F103C8T6 最小系统核心板利用 GPIOA、GPIOB、GPIOC 三个不同 GPIO 端口引脚控制 LED实现流水轮流闪烁效果灯间隔 1 秒切换。实验采用直接操作寄存器的底层编程方式脱离标准库封装直观理解 STM32 时钟、GPIO 端口配置、输出寄存器的工作原理。一原理STM32F103C8T6的引脚原理图如下STM32F103C8T6 最小系统板电路图二计算在STM32中文参考手册中找到要使用的外设例如复位和时钟控制(RCC)参见6.3.11节:寄存器绝对地址外设起始地址偏移地址则RCC_CR的绝对地址为0x400210000x00三准备工作工作逻辑本程序基于 STM32F103 裸机寄存器编程实现 3 路 LED 流水灯。上电后首先开启 GPIOA、GPIOB 外设时钟将 PA0、PB0、PB1 配置为 2MHz 推挽输出初始化时全部 LED 熄灭。主循环中依次点亮对应编号 LED其余 LED 熄灭通过 SysTick 定时器实现毫秒级延时延时结束后切换 LED 编号编号 0、1、2 循环往复实现流水灯效果。SysTick 采用 HCLK 八分频逐毫秒累加延时控制流水灯切换间隔。按照图示连好电路在keil上创建文件并在main.c上写下代码点击debug连上芯片将代码写入芯片四结果五总结本次实验基于 STM32F103C8T6 最小系统使用寄存器直接操作方式分别配置 GPIOA、GPIOB、GPIOC 三个端口引脚外接 LED实现 3 个 LED 轮流闪烁间隔 1s。在本次实验中掌握 STM32 寄存器级 GPIO 底层配置理解 RCC 时钟使能、GPIO 模式寄存器、输出寄存器作用区分外接 LED 与板载 PC13LED 的电平逻辑差异学会多端口 GPIO 联合控制理解软件延时实现定时的原理。
返回列表