以下是您请求的 STM32F103C8T6 寄存器名称及其功能:
1. RCC->APB2ENR (APB2 外设时钟使能寄存器)
- 功能:用于使能连接到 APB2 总线的外设的时钟。
- 用途:通过设置此寄存器,可以使能各种外设时钟,如 GPIO、USART、SPI、TIM1 等。设置为 1 时,时钟被启用;设置为 0 时,时钟被禁用。
2. RCC->APB1ENR (APB1 外设时钟使能寄存器)
- 功能:用于使能连接到 APB1 总线的外设的时钟。
- 用途:控制 APB1 总线上外设(如 USART2、I2C、TIM3、TIM4 等)的时钟。设置为 1 时,外设时钟被启用。
3. GPIOA->CRH (GPIOA 高位配置寄存器)
- 功能:用于配置 GPIOA 引脚 8 到 15 的工作模式和输出类型。
- 用途:设置 GPIOA 中引脚 8 至 15 的输入/输出模式、上拉/下拉电阻、输出速度等配置。每 4 位控制一个引脚的配置。
4. GPIOA->CRL (GPIOA 低位配置寄存器)
- 功能:用于配置 GPIOA 引脚 0 到 7 的工作模式和输出类型。
- 用途:设置 GPIOA 中引脚 0 至 7 的输入/输出模式、上拉/下拉电阻、输出速度等配置。
5. GPIOA->ODR (GPIOA 输出数据寄存器)
- 功能:用于读取或写入 GPIOA 引脚的输出数据。
- 用途:设置或读取 GPIOA 引脚的电平状态,0 表示低电平,1 表示高电平。可以用来控制引脚输出的状态。
6. GPIOA->IDR (GPIOA 输入数据寄存器)
- 功能:用于读取 GPIOA 引脚的输入数据。
- 用途:读取 GPIOA 引脚的输入电平状态。返回值是引脚的电平,0 表示低电平,1 表示高电平。
7. TIM2->PSC (定时器 2 预分频器寄存器)
- 功能:用于设置 TIM2 定时器的预分频值。
- 用途:TIM2 定时器的时钟频率由预分频器来调整。该寄存器控制定时器计数器的时钟频率,设置为 0 时没有分频。
8. TIM2->ARR (定时器 2 自动重装载寄存器)
- 功能:用于设置 TIM2 定时器的自动重装载值。
- 用途:设置定时器计数器的溢出值,当计数器达到此值时,会产生溢出事件并重载计数器。
9. TIM2->DIER (定时器 2 中断使能寄存器)
- 功能:用于使能或禁用定时器 2 的中断。
- 用途:设置定时器 2 溢出中断、更新中断等的使能。设置为 1 时,允许生成中断。
10. TIM2->CR1 (定时器 2 控制寄存器 1)
- 功能:用于配置定时器 2 的基本控制参数,如计数方向、计数模式等。
- 用途:启动或停止定时器、选择计数模式、设置预分频等控制。
11. RCC->APB2RSTR (APB2 外设复位寄存器)
- 功能:用于复位连接到 APB2 总线的外设。
- 用途:通过设置为 1 来复位连接到 APB2 总线的外设,如 GPIOA、USART1、SPI1 等,设置为 0 时停止复位。
12. RCC->APB1RSTR (APB1 外设复位寄存器)
- 功能:用于复位连接到 APB1 总线的外设。
- 用途:通过设置为 1 来复位连接到 APB1 总线的外设,如 USART2、I2C1、TIM3 等,设置为 0 时停止复位。
13. USART1->BRR (USART1 波特率寄存器)
- 功能:用于设置 USART1 的波特率。
- 用途:波特率通过 BRR 寄存器的值来配置。BRR 是一个 16 位的寄存器,其中包含了分频系数的高位和低位部分,用于控制 USART1 的波特率。
14. USART1->CR1 (USART1 控制寄存器 1)
- 功能:用于配置 USART1 的控制设置,如数据位、停止位、校验位、使能串口等。
- 用途:通过设置或清除该寄存器的不同位来启用 USART 的不同功能,如使能接收和发送、设置数据位长度、设置校验方式等。
总结:
寄存器名称 | 功能描述 |
---|---|
RCC->APB2ENR | 使能连接到 APB2 总线的外设时钟 |
RCC->APB1ENR | 使能连接到 APB1 总线的外设时钟 |
GPIOA->CRH | 配置 GPIOA 引脚 8 到 15 的工作模式和输出类型 |
GPIOA->CRL | 配置 GPIOA 引脚 0 到 7 的工作模式和输出类型 |
GPIOA->ODR | 读取或设置 GPIOA 引脚的输出数据 |
GPIOA->IDR | 读取 GPIOA 引脚的输入数据 |
TIM2->PSC | 设置定时器 2 的预分频值 |
TIM2->ARR | 设置定时器 2 的自动重装载值 |
TIM2->DIER | 使能或禁用定时器 2 中断 |
TIM2->CR1 | 配置定时器 2 的基本控制参数 |
RCC->APB2RSTR | 复位连接到 APB2 总线的外设 |
RCC->APB1RSTR | 复位连接到 APB1 总线的外设 |
USART1->BRR | 设置 USART1 的波特率 |
USART1->CR1 | 配置 USART1 的控制设置(如使能、数据位、校验等) |
这些寄存器是 STM32 微控制器的核心组成部分,直接影响硬件外设的配置和控制。
2.1 与时钟相关的寄存器
与时钟相关的寄存器用于配置 STM32 微控制器的时钟源、时钟分频、外设时钟等,主要的时钟寄存器包括:
-
RCC->CR (时钟控制寄存器)
- 用于配置系统时钟源的控制,如 HSI(内部高速时钟)和 HSE(外部高速时钟)的启用与禁用。
-
RCC->CFGR (时钟配置寄存器)
- 配置系统时钟选择、分频器等。比如选择 PLL(相位锁定环)作为时钟源,设置 APB1/APB2 总线时钟的分频等。
-
RCC->CIR (时钟中断寄存器)
- 用于配置和管理时钟源的中断,例如 HSE 失效或 PLL 失效等中断。
-
RCC->APB2ENR (APB2 外设时钟使能寄存器)
- 启用连接到 APB2 总线的外设时钟。
-
RCC->APB1ENR (APB1 外设时钟使能寄存器)
- 启用连接到 APB1 总线的外设时钟。
-
RCC->BDCR (备份域控制寄存器)
- 配置 LSE(低速外部晶振)和 RTC 时钟等。
-
RCC->CSR (控制/状态寄存器)
- 用于启用/禁用内部低速时钟、复位和检查时钟的状态。
2.2 与 GPIOA 相关的寄存器
GPIOA 的寄存器用于配置、读取和控制 GPIOA 引脚的状态。主要的寄存器包括:
-
GPIOA->CRL (GPIOA 低位配置寄存器)
- 配置 GPIOA 引脚 0 到 7 的输入/输出模式、上拉/下拉电阻和输出类型等。
-
GPIOA->CRH (GPIOA 高位配置寄存器)
- 配置 GPIOA 引脚 8 到 15 的输入/输出模式、上拉/下拉电阻和输出类型等。
-
GPIOA->IDR (GPIOA 输入数据寄存器)
- 读取 GPIOA 引脚的输入电平。
-
GPIOA->ODR (GPIOA 输出数据寄存器)
- 读取或设置 GPIOA 引脚的输出电平。
-
GPIOA->BSRR (GPIOA 位设置/复位寄存器)
- 通过写入此寄存器,可以设置或复位 GPIOA 的输出引脚。
-
GPIOA->LCKR (GPIOA 锁定寄存器)
- 用于锁定 GPIO 引脚的配置,防止其被进一步修改。
-
GPIOA->AFR[0] 和 GPIOA->AFR[1] (GPIOA 备用功能寄存器)
- 用于配置 GPIO 引脚的备用功能(如 USART、SPI、I2C 等)。
2.3 与定时器 2 相关的寄存器
定时器 2 的寄存器用于配置定时器、计数和中断。主要的寄存器包括:
-
TIM2->PSC (定时器 2 预分频器寄存器)
- 设置定时器 2 的预分频值,用来调整定时器的计数频率。
-
TIM2->ARR (定时器 2 自动重装载寄存器)
- 设置定时器 2 的自动重装载值,当计数器达到该值时会溢出。
-
TIM2->DIER (定时器 2 中断使能寄存器)
- 配置定时器 2 中断的使能,如溢出中断、更新中断等。
-
TIM2->CR1 (定时器 2 控制寄存器 1)
- 配置定时器 2 的工作模式,如启用/禁用定时器、选择计数方向等。
-
TIM2->CNT (定时器 2 计数寄存器)
- 读取或写入定时器 2 的当前计数值。
-
TIM2->CCR1-CCR4 (定时器 2 通道比较寄存器)
- 用于设置定时器的捕获/比较值,支持 PWM 输出和输入捕获。
-
TIM2->SMCR (定时器 2 从属模式控制寄存器)
- 配置定时器 2 在从属模式下的工作方式,例如选择触发源。
2.4 与串口 1 通信相关的寄存器
USART1 的寄存器用于配置和控制串口的工作模式、波特率和数据传输。主要的寄存器包括:
-
USART1->BRR (USART1 波特率寄存器)
- 设置 USART1 的波特率。该寄存器包含波特率的分频系数。
-
USART1->CR1 (USART1 控制寄存器 1)
- 配置 USART1 的基本控制设置,如使能接收/发送、数据位长度、校验等。
-
USART1->CR2 (USART1 控制寄存器 2)
- 配置 USART1 的帧格式、停止位、同步通信等。
-
USART1->CR3 (USART1 控制寄存器 3)
- 配置 USART1 的额外功能,如 DMA 支持、流控制等。
-
USART1->SR (USART1 状态寄存器)
- 读取 USART1 的状态,检查是否发生了传输错误、接收完成等事件。
-
USART1->DR (USART1 数据寄存器)
- 用于接收和发送数据。发送数据时,写入此寄存器;接收数据时,从此寄存器读取。
-
USART1->GTPR (USART1 预分频器寄存器)
- 用于配置 USART1 的时钟预分频,用于调整数据传输速率。
总结:
项目 | 寄存器名称 | 说明 |
---|---|---|
与时钟相关的寄存器 | RCC->CR, RCC->CFGR, RCC->CIR, RCC->APB2ENR, RCC->APB1ENR, RCC->BDCR, RCC->CSR | 用于配置和管理系统时钟、外设时钟、复位等。 |
与GPIOA相关的寄存器 | GPIOA->CRL, GPIOA->CRH, GPIOA->IDR, GPIOA->ODR, GPIOA->BSRR, GPIOA->LCKR, GPIOA->AFR[0], GPIOA->AFR[1] | 用于配置 GPIOA 引脚的输入/输出模式、读取输入电平、输出电平等。 |
与定时器2相关的寄存器 | TIM2->PSC, TIM2->ARR, TIM2->DIER, TIM2->CR1, TIM2->CNT, TIM2->CCR1-CCR4, TIM2->SMCR | 用于定时器 2 的配置,如预分频、自动重装载、计数、比较、触发等。 |
与串口1通信相关的寄存器 | USART1->BRR, USART1->CR1, USART1->CR2, USART1->CR3, USART1->SR, USART1->DR, USART1->GTPR | 用于配置 USART1 的波特率、传输格式、数据传输、状态管理等。 |
这些寄存器控制了 STM32F103C8T6 微控制器的时钟系统、GPIO 引脚、定时器和串口通信等重要功能,是嵌入式开发中的基础。