寄存器表,差什么跟我说,马上加
文章目录
1、系统
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | SYSCONFIG | 系统配置寄存器,用于设置系统时钟、看门狗定时器、电源控制等。 |
2 | SYSCTRL0 | 系统控制寄存器 0,用于配置外部晶振、内部晶振等时钟源。 |
3 | SYSCTRL1 | 系统控制寄存器 1,用于配置时钟分频、电源模式等。 |
4 | INTEN | 中断使能寄存器,用于全局中断使能和禁用。 |
5 | NVICICER | NVIC 分组中断使能寄存器,用于分别使能或禁用各个中断。 |
6 | NVICISPR | NVIC 分组中断状态寄存器,用于查看各个中断的状态。 |
7 | NVICICPR | NVIC 分组中断清除寄存器,用于清除各个中断的状态。 |
8 | EXCNUM | 异常号码寄存器,记录当前发生的异常编号。 |
9 | BASEPRI | 基优先级寄存器,用于设置和读取基优先级。 |
10 | FPBCTRL | 快捕基准寄存器,用于设置快捕使能和配置。 |
11 | DWTCTRL | 数据观察点控制寄存器,用于配置数据观察点。 |
12 | CYCCNT | 循环计数寄存器,用于统计 CPU 执行的循环次数。 |
13 | COMPCTRL | 比较控制寄存器,用于配置比较器。 |
14 | EXCCause | 异常原因寄存器,记录异常发生的原因。 |
15 | EPSR | 程序状态保存寄存器,保存程序状态信息。 |
16 | ICSR | 中断控制和状态寄存器,用于控制中断和查看中断状态。 |
17 | VTOR | 向量表偏移寄存器,用于设置向量表的位置。 |
18 | TPRI | 任务优先级寄存器,用于设置各个任务的优先级。 |
19 | TPEND | 任务PEND寄存器,用于挂起或激活任务。 |
20 | TPIU_CTRL | Trace Port Interface Unit (TPIU) 控制寄存器,用于配置跟踪端口接口。 |
21 | TPIU_SCTRL | TPIU 常态控制寄存器,用于配置常态输出。 |
22 | TPIU_FFCR | TPIU 指令流/数据流控制寄存器,用于控制指令流和数据流的输出。 |
23 | TPIU_CWR | TPIU 周期寄存器,用于设置周期计数器。 |
24 | TPIU_TAG | TPIU 标签寄存器,用于标记数据标签。 |
25 | TPIU_EVTCOUNT | TPIU 事件计数器,用于统计事件数量。 |
26 | TPIU_ITATB0 | TPIU ITATB0 寄存器,用于配置 ITATB0。 |
27 | TPIU_ITATB1 | TPIU ITATB1 寄存器,用于配置 ITATB1。 |
以上列表是基于STM32F4系列的一些常见寄存器,其他系列可能有所不同。
2、USART(串口)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | USART_CR1 | USART 控制寄存器 1,用于配置串口的工作模式、波特率、数据位、停止位、奇偶校验等 |
2 | USART_CR2 | USART 控制寄存器 2,用于配置地址位、空闲线检测、LIN 模式、智能卡模式等 |
3 | USART_CR3 | USART 控制寄存器 3,用于配置多处理器通信、DMA 控制、错误检测等功能 |
4 | USART_BRR | USART 波特率寄存器,用于设置波特率 |
5 | USART_GTPR | USART 超时保护寄存器,用于设置超时值 |
6 | USART_RTOR | USART 接收时间寄存器,用于设置接收超时 |
7 | USART_RQR | USART 请求寄存器,用于发送和接收数据 |
8 | USART_ISR | USART 状态寄存器,用于读取串口的状态 |
9 | USART_ICR | USART 清除寄存器,用于清除串口的状态 |
10 | USART_RDR | USART 接收数据寄存器,用于读取接收到的数据 |
11 | USART_TDR | USART 发送数据寄存器,用于写入要发送的数据 |
请注意,某些STM32系列可能不支持所有的这些寄存器,或者某些寄存器的名称可能有所不同。
例如,USART_GTPR和USART_RTOR在某些STM32系列中可能不存在。
此外,USART_RQR在某些文献中可能被称为USART_CR1的别名,用于触发特定的USART操作。
3、ADC(模数转换)
下面是将上述ADC(模拟到数字转换器)寄存器信息转换为表格的形式:
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | ADC_CR | ADC 控制寄存器,用于启动转换、软件触发、多通道模式等 |
2 | ADC_CFGR | ADC 配置寄存器,用于配置分辨率、采样时间、序列长度、校准等 |
3 | ADC_CDR | ADC 数据寄存器,用于读取转换结果 |
4 | ADC_CHSELR | ADC 通道选择寄存器,用于选择哪些通道将被包含在转换序列中 |
5 | ADC_SQRx | 规则序列寄存器x,用于配置规则转换序列中的通道 |
6 | ADC_DR | 规则 数据寄存器,用于读取规则通道的转换结果 |
7 | ADC_JSQR | 注入序列寄存器,用于配置注入转换序列中的通道 |
8 | ADC_JDRx | 注入数据寄存器x,用于读取注入通道x的转换结果 |
9 | ADC_CSR | ADC 状态寄存器,用于查看 ADC 的状态 |
10 | ADC_CCR | ADC 外部触发寄存器,用于配置外部触发源 |
11 | ADC_SMPR1 | 采样时间寄存器1,用于设置ADC通道0到通道9的采样时间 |
12 | ADC_SMPR2 | 采样时间寄存器2,用于设置ADC通道10到通道17的采样时间 |
13 | ADC_CFGR1 | ADC 配置寄存器 1,用于配置序列、校准、序列长度等 |
14 | ADC_CFGR2 | ADC 配置寄存器 2,用于配置采样时间、序列长度等 |
15 | ADC_CCR | ADC 通道配置寄存器,用于配置通道的电压范围等 |
16 | ADC_OFRx | ADC 输出配置寄存器 x,用于配置 DAC 输出 |
以上列表涵盖了STM32F4系列中的ADC寄存器,其他系列可能有所不同。
4、DAC(数模转换)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | DAC_CR | DAC 控制寄存器,用于启用 DAC、波形生成、缓冲区使能等 |
2 | DAC_BUFFER | DAC 缓冲区寄存器,用于写入要转换的数据 |
3 | DAC_DHR12R1 | DAC 12 位右对齐数据寄存器 1,用于设置输出值 |
4 | DAC_DHR12L1 | DAC 12 位左对齐数据寄存器 1,用于设置输出值 |
5 | DAC_DHR8R1 | DAC 8 位右对齐数据寄存器 1,用于设置输出值 |
6 | DAC_DHR12R2 | DAC 12 位右对齐数据寄存器 2,用于设置输出值 |
7 | DAC_DHR12L2 | DAC 12 位左对齐数据寄存器 2,用于设置输出值 |
8 | DAC_DHR8R2 | DAC 8 位右对齐数据寄存器 2,用于设置输出值 |
9 | DAC_DHR12RD | DAC 12 位双通道右对齐数据寄存器,用于同时设置两个通道的输出值 |
10 | DAC_DHR12LD | DAC 12 位双通道左对齐数据寄存器,用于同时设置两个通道的输出值 |
11 | DAC_DHR8RD | DAC 8 位双通道右对齐数据寄存器,用于同时设置两个通道的输出值 |
12 | DAC_DOR1 | DAC 输出寄存器 1,用于读取 DAC1 的输出值 |
13 | DAC_DOR2 | DAC 输出寄存器 2,用于读取 DAC2 的输出值 |
14 | DAC_SR | DAC 状态寄存器,用于查看 DAC 的状态 |
部分STM32系列可能没有DAC_BUFFER寄存器,而是直接通过DHR寄存器写入数据。
DAC_DOR1和DAC_DOR2寄存器通常用于读取DAC的当前输出值
但在某些情况下可能不提供这些寄存器。
5、TIM(定时器)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | TIMx_CR1 | 定时器控制寄存器 1,用于启用定时器、设置计数模式、预分频器等 |
2 | TIMx_CR2 | 定时器控制寄存器 2,用于配置定时器的触发输入、DMA 请求等 |
3 | TIMx_SMCR | 定时器同步模式控制寄存器,用于配置同步模式、触发输出等 |
4 | TIMx_DIER | 定时器 DMA/中断使能寄存器,用于使能各种事件和中断 |
5 | TIMx_SR | 定时器状态寄存器,用于查看定时器的状态和中断标志 |
6 | TIMx_EGR | 定时器事件生成寄存器,用于手动产生事件 |
7 | TIMx_CCMR1 | 定时器通道控制寄存器 1,用于配置通道模式、输出比较模式等 |
8 | TIMx_CCMR2 | 定时器通道控制寄存器 2,用于配置通道模式、输出比较模式等 |
9 | TIMx_CCER | 定时器通道使能寄存器,用于控制通道的极性、使能等 |
10 | TIMx_CNT | 定时器计数器寄存器,用于读取或设置计数值 |
11 | TIMx_PSC | 定时器预分频寄存器,用于设置预分频值 |
12 | TIMx_ARR | 定时器自动重装载寄存器,用于设置计数器溢出值 |
13 | TIMx_CCRx | 定时器通道捕获/比较寄存器 x,用于设置捕获或比较值 |
14 | TIMx_BDTR | 定时器_break_控制寄存器,用于配置 break 功能、锁存等 |
15 | TIMx_OR | 定时器选项寄存器,用于配置外部触发、互补输出等 |
6、GPIO(IO口)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | GPIO_MODER | 模式寄存器,用于设置引脚为输入、输出、复用或其他模式 |
2 | GPIO_OTYPER | 输出类型寄存器,用于设置输出引脚为推挽、开漏等类型 |
3 | GPIO_OSPEEDR | 速度寄存器,用于设置输出引脚的速度等级 |
4 | GPIO_PUPDR | 上拉/下拉寄存器,用于配置引脚的上拉、下拉电阻 |
5 | GPIO_IDR | 输入数据寄存器,用于读取输入引脚的状态 |
6 | GPIO_ODR | 输出数据寄存器,用于读取或设置输出引脚的状态 |
7 | GPIO_BSRR | 置位/复位寄存器,用于直接控制输出引脚的状态 |
8 | GPIO_LCKR | 锁定寄存器,用于锁定某些寄存器的位,防止被修改 |
9 | GPIO_AFRL | 复用功能寄存器低32位,用于配置引脚的复用功能 |
10 | GPIO_AFRH | 复用功能寄存器高16位,用于配置引脚的复用功能 |
11 | GPIO_BRR | 波形生成寄存器,用于配置输出波形 |
12 | GPIO_SSR | 存储器映射寄存器,用于配置存储器映射 |
13 | GPIO_MKR | 存储器映射寄存器,用于配置存储器映射 |
14 | GPIO_MKR | 存储器映射寄存器,用于配置存储器映射(重复项,可能为错误) |
15 | GPIO_ICR | 中断配置寄存器,用于配置上升沿/下降沿检测 |
16 | GPIO_ICRC | 中断清除寄存器,用于清除中断状态 |
17 | GPIO_PUPDR | 上拉/下拉寄存器,用于配置引脚的上拉、下拉电阻(重复项) |
18 | GPIO_ISF | 中断标志寄存器,用于查看中断状态 |
19 | GPIO_OSPEEDR | 速度寄存器,用于设置输出引脚的速度等级(重复项) |
20 | GPIO_BSRR | 置位/复位寄存器,用于直接控制输出引脚的状态(重复项) |
21 | GPIO_LCKR | 锁定寄存器,用于锁定某些寄存器的位,防止被修改(重复项) |
22 | GPIO_AFRL | 复用功能寄存器低32位,用于配置引脚的复用功能(重复项) |
23 | GPIO_AFRH | 复用功能寄存器高16位,用于配置引脚的复用功能(重复项) |
24 | GPIO_BRR | 波形生成寄存器,用于配置输出波形(重复项) |
… | … | … |
7、EXTI(外部中断/事件控制器)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | EXTI_IMR | 中断屏蔽寄存器,用于使能或禁用外部中断请求。 |
2 | EXTI_EMR | 事件屏蔽寄存器,用于使能或禁用外部事件请求。 |
3 | EXTI_RTSR | 上升沿触发选择寄存器,用于选择上升沿触发的外部中断请求。 |
4 | EXTI_FTSR | 下降沿触发选择寄存器,用于选择下降沿触发的外部中断请求。 |
5 | EXTI_SWIER | 软件中断使能寄存器,用于使能或禁用软件触发的外部中断请求。 |
6 | EXTI_PR | 外部中断请求寄存器,用于读取当前触发的外部中断请求。 |
7 | EXTI_CRL | 外部中断/事件控制寄存器低,用于配置外部中断/事件的边缘触发和电平敏感。 |
8 | EXTI_CRH | 外部中断/事件控制寄存器高,用于配置外部中断/事件的边缘触发和电平敏感。 |
以上列表涵盖了STM32F4系列中的EXTI寄存器,其他系列可能有所不同。
8、IWDG 和 WWDG
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | IWDG_KR | 独立看门狗控制寄存器,用于访问和修改独立看门狗寄存器。 |
2 | IWDG_PR | 独立看门狗预分频寄存器,用于设置独立看门狗的预分频器值。 |
3 | IWDG_RLR | 独立看门狗重装载寄存器,用于设置独立看门狗的计数值。 |
4 | IWDG_SR | 独立看门狗状态寄存器,用于查看独立看门狗的状态。 |
5 | WWDG_CR | 窗口看门狗控制寄存器,用于访问和修改窗口看门狗寄存器。 |
6 | WWDG_CFR | 窗口看门狗配置寄存器,用于设置窗口看门狗的预分频器值和窗口值。 |
7 | WWDG_SR | 窗口看门狗状态寄存器,用于查看窗口看门狗的状态。 |
以上列表是基于STM32F4系列中的IWDG和WWDG寄存器,其他系列可能有所不同。
9、I2C(I2C接口)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | I2Cx_CR1 | I2C控制寄存器1,用于配置I2C模式、波特率、中断使能等。 |
2 | I2Cx_CR2 | I2C控制寄存器2,用于配置发送数据长度、接收数据长度、NACK使能等。 |
3 | I2Cx_SR1 | I2C状态寄存器1,用于查看I2C的状态,如是否准备好发送或接收数据。 |
4 | I2Cx_SR2 | I2C状态寄存器2,用于查看I2C的状态,如是否接收到应答。 |
5 | I2Cx_DR | I2C数据寄存器,用于写入要发送的数据或读取接收到的数据。 |
6 | I2Cx_ODR | I2C主设备地址寄存器,用于设置主设备的地址。 |
7 | I2Cx_OAR1 | I2C主设备地址寄存器1,用于设置主设备的地址。 |
8 | I2Cx_OAR2 | I2C主设备地址寄存器2,用于设置主设备的地址。 |
9 | I2Cx_TIMINGR | I2C时序寄存器,用于配置时钟频率和时序参数。 |
以上列表是基于STM32F4系列中的I2C寄存器,其他系列可能有所不同。
10、SPI(串行外设接口)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | SPIx_CR1 | SPI控制寄存器1,用于配置SPI模式、数据传输方向、预分频器等。 |
2 | SPIx_CR2 | SPI控制寄存器2,用于配置NSS管理、双线模式、外部时钟等。 |
3 | SPIx_SR | SPI状态寄存器,用于查看SPI的状态,如是否准备好发送或接收数据。 |
4 | SPIx_DR | SPI数据寄存器,用于写入要发送的数据或读取接收到的数据。 |
5 | SPIx_CRCPR | SPI CRC多项式寄存器,用于配置SPI通信中的CRC多项式。 |
6 | SPIx_RXCRCR | SPI接收到的CRC寄存器,用于存储接收到的CRC值。 |
7 | SPIx_TXCRCR | SPI发送的CRC寄存器,用于存储发送的CRC值。 |
以上列表是基于STM32F4系列中的SPI寄存器,其他系列可能有所不同。
11、CAN(控制器局域网络)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | CANx_MCR | CAN主控制寄存器,用于配置CAN模块的使能、复位和模式。 |
2 | CANx_BTR | CAN位定时寄存器,用于配置CAN的波特率、同步模式等。 |
3 | CANx_TSR | CAN发送状态寄存器,用于查看CAN发送的状态。 |
4 | CANx_RF0R | CAN接收FIFO 0寄存器,用于查看CAN接收FIFO的状态。 |
5 | CANx_RF1R | CAN接收FIFO 1寄存器,用于查看CAN接收FIFO的状态。 |
6 | CANx_IER | CAN中断使能寄存器,用于使能或禁用CAN的中断。 |
7 | CANx_ESR | CAN错误状态寄存器,用于查看CAN的错误状态。 |
8 | CANx_BRSR | CAN比特率切换寄存器,用于配置CAN的比特率切换。 |
9 | CANx_TIMINGR | CAN时序寄存器,用于配置CAN的时序参数。 |
10 | CANx_ACR | CAN接受代码寄存器,用于配置CAN的接收代码。 |
11 | CANx_AMR | CAN接受屏蔽寄存器,用于配置CAN的接收屏蔽。 |
12 | CANx_I2CMR | CAN I2C模式寄存器,用于配置CAN的I2C模式。 |
以上列表是基于STM32F4系列中的CAN寄存器,其他系列可能有所不同。
12、RTC(实时时钟)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | RTC_CR | RTC控制寄存器,用于控制RTC的使能、复位和时钟源。 |
2 | RTC_PRLH | RTC预分频寄存器高,用于配置RTC的预分频值。 |
3 | RTC_PRLL | RTC预分频寄存器低,用于配置RTC的预分频值。 |
4 | RTC_DIVH | RTC分频寄存器高,用于配置RTC的分频值。 |
5 | RTC_DIVL | RTC分频寄存器低,用于配置RTC的分频值。 |
6 | RTC_CNTH | RTC计数器寄存器高,用于读取或设置RTC的计数值。 |
7 | RTC_CNTL | RTC计数器寄存器低,用于读取或设置RTC的计数值。 |
8 | RTC_ALRH | RTC报警寄存器高,用于配置RTC的报警时间。 |
9 | RTC_ALRL | RTC报警寄存器低,用于配置RTC的报警时间。 |
10 | RTC_RSF | RTC接收状态标志,用于查看RTC的接收状态。 |
11 | RTC_SSF | RTC启动停止标志,用于查看RTC的启动停止状态。 |
以上列表是基于STM32F4系列中的RTC寄存器,其他系列可能有所不同。
13、RCC(时钟控制)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | RCC_CR | RCC控制寄存器,用于控制RCC的使能、复位和时钟源。 |
2 | RCC_PLLCFGR | RCC PLL配置寄存器,用于配置PLL(锁相环)的参数。 |
3 | RCC_CFGR | RCC时钟配置寄存器,用于配置系统时钟、AHB、APB和USB时钟。 |
4 | RCC_CIR | RCC时钟中断寄存器,用于使能或禁用时钟中断。 |
5 | RCC_APB2RSTR | RCC APB2外设复位寄存器,用于复位APB2外设。 |
6 | RCC_APB1RSTR | RCC APB1外设复位寄存器,用于复位APB1外设。 |
7 | RCC_AHBENR | RCC AHB外设使能寄存器,用于使能AHB外设。 |
8 | RCC_APB2ENR | RCC APB2外设使能寄存器,用于使能APB2外设。 |
9 | RCC_APB1ENR | RCC APB1外设使能寄存器,用于使能APB1外设。 |
10 | RCC_BDCR | RCC备份域控制寄存器,用于控制备份域的时钟。 |
11 | RCC_CSR | RCC时钟状态寄存器,用于查看RCC的状态。 |
12 | RCC_CCIPR | RCC时钟配置IP寄存器,用于配置IP时钟。 |
以上列表是基于STM32F4系列中的RCC寄存器,其他系列可能有所不同。
14、EEPROM(电可擦可编程只读存储器)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | EEPROM_CR | EEPROM控制寄存器,用于配置EEPROM的访问模式、突发访问模式、等待状态时钟数等。 |
2 | EEPROM_KEYR | EEPROM密钥寄存器,用于访问EEPROM控制寄存器。 |
3 | EEPROM_SR | EEPROM状态寄存器,用于查看EEPROM的状态,如是否处于忙状态、是否发生了错误等。 |
4 | EEPROM_CR | EEPROM控制寄存器,用于控制EEPROM的编程、擦除、选项字节编程等操作。 |
5 | EEPROM_AR | EEPROM地址寄存器,用于指定要操作的EEPROM页地址。 |
6 | EEPROM_OBR | EEPROM选项寄存器,用于配置EEPROM的选项字节,如数据保持模式、掉电保护模式等。 |
不同STM32系列可能具有不同数量的EEPROM通道和寄存器
以上列表是基于STM32F4系列中的EEPROM寄存器,其他系列可能有所不同。
15、Flash(闪存)
序号 | 寄存器名称 | 描述 |
---|---|---|
1 | FLASH_ACR | Flash访问控制寄存器,用于配置Flash的访问模式、突发访问模式、等待状态时钟数等。 |
2 | FLASH_KEYR | Flash密钥寄存器,用于访问Flash控制寄存器。 |
3 | FLASH_OPTKEYR | Flash选项密钥寄存器,用于访问Flash选项寄存器。 |
4 | FLASH_SR | Flash状态寄存器,用于查看Flash的状态,如是否处于忙状态、是否发生了错误等。 |
5 | FLASH_CR | Flash控制寄存器,用于控制Flash的编程、擦除、选项字节编程等操作。 |
6 | FLASH_AR | Flash地址寄存器,用于指定要操作的Flash页地址。 |
7 | FLASH_OBR | Flash选项寄存器,用于配置Flash的选项字节,如数据保持模式、掉电保护模式等。 |
不同STM32系列可能具有不同数量的Flash通道和寄存器
以上列表是基于STM32F4系列中的Flash寄存器,其他系列可能有所不同。
┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈ ┈┈┈┈▕▔╲┈┈┈┈┈┈┈┈
┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈┈┈┈┈▏▕┈┈┈┈┈┈┈ ┈
┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈┈┈┈┈▏ ▕▂▂▂▂▂┈┈┈
▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈ ▂▂▂▂╱┈┈▕▂▂▂▂▏┈┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈ ▉▉▉┈┈┈┈▕▂▂▂▂▏ ┈
▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈ ▔▔▔▔╲▂▂▕▂▂▂▂▏┈┈