当前位置: 首页 > news >正文

2-2 点灯例程(寄存器开发) - LI,Yi

视频选集(3/50)[2-2] 新建工程

注.当未烧录任何程序的前提下,STM32最小系统板上电后,出现现象:电源指示灯长亮,IO口测试灯不断闪烁。这是芯片里的一个测试程序

1. 器件

  • STM32最小系统板
  • 杜邦线(母对母)*4
  • ST-LINK V2下载器

2. 实现目标

点亮开发板上的IO口测试灯

2. 创建工程文件

  1. 复制工程建立 - LI,Yi-han - 博客园一篇中创建的2-1 STM32工程模板(寄存器开发)文件,粘贴副本,重命名为2-2 点灯例程(寄存器开发)文件

  2. 打开工程文件

  3. 最小系统板接上下载器,下载器通过USB口与PC主机连接

    image-20250728202826702

  4. 编译工程文件,点击下载

    image-20250728203100640

    image-20250728203011809

  5. 可见开发板上现象:电源灯依旧长亮,IO口测试灯熄灭、不再闪烁。这是由于该工程的主函数内只有一个空的死循环

3. 配置寄存器

  • IO口测试灯的对应引脚为PC13

  • 由图可见该LED为低电平点亮

    image-20250728203858647

  • PC13是GPIOC端口的IO口

  • GPIOC挂载在APB2下

  • 使用任何外设前,都要先使能时钟

3.1 APB2外设时钟使能寄存器RCC_APB2ENR

image-20250728205424159

image-20250728205447406

RCC->APB2ENR = 0x1<<4; // 将该寄存器的位4置1【开启GPIOC的时钟】

3.2 GPIOC端口配置高寄存器GPIOC_CRH

image-20250728210315238

image-20250728210700645

GPIOC->CRH = 0x3<<20; // 将该寄存器的位20、21置1【配置IO口-PC13:通用推挽输出模式,最大速度为50MHz】

3.3 GPIOC端口输出数据寄存器GPIOC_ODR

image-20250728211940837

  • 位13置1,则PC13引脚输出高电平
  • 位13置0,则PC13引脚输出低电平
GPIOC->ODR = 0x0; // 将该寄存器的位13置0【使PC13输出低电平,LED点亮】
GPIOC->ODR = 0x1<<13; // 将该寄存器的位13置1【使PC13输出高电平,LED熄灭】

4. 程序

#include "stm32f10x.h"                  // Device header/*------------------------------主函数------------------------------*/
int main(void)
{RCC->APB2ENR = 0x1<<4; // 将该寄存器的位4置1【开启GPIOC的时钟】GPIOC->CRH = 0x3<<20; // 将该寄存器的位20、21置1【配置IO口-PC13:通用推挽输出模式,最大速度为50MHz】GPIOC->ODR = 0x0; // 将该寄存器的位13置0【使PC13输出低电平,LED点亮】
}

编译,下载

开发板现象:IO口测试灯上电后长亮

image-20250728215252004

http://www.sczhlp.com/news/531.html

相关文章:

  • 【Datawhale AI夏令营--task2】科大讯飞AI大赛(大模型技术)
  • 记录一次vue3+mqtt.js连接华为云mqtt的成功经历
  • 狂神说Java|Java基础
  • 每日题单
  • 在常量时间内实现单向链表的插入与删除
  • cpp的单头文件
  • (阶段三:整合)面向用户 面向商户,场景之:shop
  • 现代Web框架的性能基准测试(6084)
  • 服务端推送技术的现代实现(8430)
  • 跨平台Web服务开发的新选择(1992)
  • Astro机器人流畅运动背后的科技原理
  • 实时通信协议的Rust实现(5234)
  • 现代Web框架的性能基准测试(8409)
  • 现代Web服务器性能革命:我的Rust框架探索之旅(1820)
  • 实战项目:文件分块上传系统(4936)
  • HTTP请求处理的高效封装(8307)
  • 实时通信的革命:WebSocket技术的深度探索(1440)
  • Rust生态系统在Web开发中的优势(9219)
  • 高并发处理的Rust实现方案(2866)
  • 从零开始构建高性能实时聊天系统:Hyperlane框架实战指南(5696)
  • 内存使用效率的终极对决:零拷贝技术的实战应用(9040)
  • 推荐6本书《MLIR编译器原理与实践》、《ONNX人工智能技术与开发实践》、《AI芯片开发核心技术详解》、《智能汽车传感器:原理设计应用》、《TVM编译器原理与实践》、《LLVM编译器原理与实践》
  • 实时通信协议的Rust实现(2554)
  • 零依赖Web框架的设计哲学(5850)
  • 微服务架构的轻量级解决方案(8414)
  • WebSocket服务端的高效处理(1857)
  • 利用数据绑定让动画更智能:在Rive中创建动态黄金计算器
  • 服务器配置的精细化控制(5106)
  • HTTP响应处理的灵活设计(3253)
  • 现代Web框架的性能基准测试(6931)