二级域名建立网站,最新国际新闻热点事件,网页设计与制作轮播图教程,客户关系管理流程图STM32C8T6最小系统开发板#xff0c;点亮PC13引脚的LED灯
1.使能PC13引脚的定时器
PC13引脚为GPIOC组的第13个端口#xff0c;GPIO的时钟使能定时器为RCC_APB2ENR#xff0c;这是可以从手册中得出的#xff0c;如下图所示 从下图可以得出#xff0c;若要使能GPIOC端口点亮PC13引脚的LED灯
1.使能PC13引脚的定时器
PC13引脚为GPIOC组的第13个端口GPIO的时钟使能定时器为RCC_APB2ENR这是可以从手册中得出的如下图所示 从下图可以得出若要使能GPIOC端口需要使能四号位为1. 因此可以编码为
RCC-APB2ENR 0x00000010;
RCC为一个结构体内部包含如CR、CFGR、APB2ENR等都代表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为00MODE13为11
编写代码为
GPIOC-CRH 0X00300000;
3.设置GPIOC引脚为低电平 GPIOC-ODR 0X00000000;
最后设置GPIOC_ODR寄存器中的ODR13为低电平即可点亮LED灯为什么是低电平呢我还没有学清楚可能是电路设计原因如果在手册上可以找到的话请评论告诉我谢谢