STM32C8T6最小系统开发板,点亮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为00,MODE13为11
编写代码为
GPIOC->CRH = 0X00300000;
3.设置GPIOC引脚为低电平
GPIOC->ODR = 0X00000000;
最后设置GPIOC_ODR寄存器中的ODR13为低电平即可点亮LED灯,为什么是低电平呢?我还没有学清楚,可能是电路设计原因,如果在手册上可以找到的话请评论告诉我谢谢!