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

STM32标准库学习之寄存器方法点亮LED灯

STM32C8T6最小系统开发板,点亮PC13引脚的LED灯

1.使能PC13引脚的定时器

PC13引脚为GPIOC组的第13个端口,GPIO的时钟使能定时器为RCC_APB2ENR,这是可以从手册中得出的,如下图所示

从下图可以得出,若要使能GPIOC端口,需要使能四号位为1.

因此可以编码为

RCC->APB2ENR = 0x00000010;

RCC为一个结构体,内部包含如CRCFGRAPB2ENR等都代表RCC模块中的一个寄存器。

内部定义如下

/** * @brief Reset and Clock Control*/typedef struct
{__IO uint32_t CR;__IO uint32_t CFGR;__IO uint32_t CIR;__IO uint32_t APB2RSTR;__IO uint32_t APB1RSTR;__IO uint32_t AHBENR;__IO uint32_t APB2ENR;__IO uint32_t APB1ENR;__IO uint32_t BDCR;__IO uint32_t CSR;#ifdef STM32F10X_CL  __IO uint32_t AHBRSTR;__IO uint32_t CFGR2;
#endif /* STM32F10X_CL */ #if defined (STM32F10X_LD_VL) || defined (STM32F10X_MD_VL) || defined (STM32F10X_HD_VL)   uint32_t RESERVED0;__IO uint32_t CFGR2;
#endif /* STM32F10X_LD_VL || STM32F10X_MD_VL || STM32F10X_HD_VL */ 
} RCC_TypeDef;

2.设置GPIOC引脚的模式

端口配置寄存器用于配置端口参数和功能,分为高寄存器和低寄存器。

  • 端口配置低寄存器(GPIOx_CRL):用于配置GPIO端口的低8位引脚(即引脚0到7)。每个引脚对应4个寄存器位,因此总共需要32位来配置这8个引脚。
  • 端口配置高寄存器(GPIOx_CRH):用于配置GPIO端口的高8位引脚(即引脚8到15)。同样地,每个引脚也对应4个寄存器位,所以也需要32位来配置这8个引脚。

GPIOC13位于端口配置高寄存器

由手册可知需要配置为通用推挽输出模式和输出模式,CNF13为00,MODE13为11

编写代码为

GPIOC->CRH = 0X00300000;

3.设置GPIOC引脚为低电平

GPIOC->ODR = 0X00000000;

最后设置GPIOC_ODR寄存器中的ODR13为低电平即可点亮LED灯,为什么是低电平呢?我还没有学清楚,可能是电路设计原因,如果在手册上可以找到的话请评论告诉我谢谢!

http://www.lryc.cn/news/506055.html

相关文章:

  • Jenkins:持续集成与持续部署的利器
  • 概率论得学习和整理30: 用EXCEL 描述泊松分布 poisson distribution
  • 汽车SoC芯片及其安全岛设计与未来发展趋势(学习笔记)
  • 【排序算法】——选择排序
  • 第十五章 Linux Shell 编程
  • 【c++笔试强训】(第三十八篇)
  • go 自己写序列化函数不转义
  • 一般行业安全管理人员考试题库分享
  • Marketo REST API 批量修改邮件内容
  • 《云原生安全攻防》-- K8s安全框架:认证、鉴权与准入控制
  • 淘宝获取sku详细信息 API
  • 基于Spring Boot的体育商品推荐系统
  • C++小细节笔记
  • go语言并发读写数据队列,不停写的同时,一次最多读取指定量数据(逐行注释)
  • 密码学——密码学概述、分类、加密技术(山东省大数据职称考试)
  • 【数据库MySQL篇二】MySQL数据库入门基础教程:一网打尽数据库和表各种操作、命令和语法
  • Android 解决“Could not resolve all artifacts for configuration ‘:classpath‘方法
  • 青少年编程与数学 02-004 Go语言Web编程 08课题、使用Gin框架
  • PostgreSQL: 事务年龄
  • C# 识别二维码
  • KeepAlive与RouterView缓存
  • RK3588 , mpp硬编码rgb, 保存MP4视频文件.
  • 使用 Wireshark 和 Lua 脚本解析通讯报文
  • ElasticSearch08-分析器详解
  • 【IN、NOT、AND、OR】在 MySql 中的使用方法,使用场景、注意事项
  • Face to face
  • 宝塔配置python项目提示python版本与安装的不符
  • Restaurants WebAPI(一)—— clean architecture
  • c++数据结构算法复习基础--13--基数算法
  • ntp设置