STM32微控制器寄存器说明

合集下载

stm32F103寄存器

stm32F103寄存器

313029282726252423222120191817151413121110987654321DBP PVDE CSBF CWUF PDDS313029282726252423222120191817151413121110987654321EWUP PVDO SBF151413121110987654321151413121110987654321注:当WKUP 引脚已经是高电平时,在(通过设置EWUP 位)使能WKUP 引脚时,会检测到一个额外事件BKP ——DRx (x=1...10)(备份数据寄存器)15-0位:备份数据由用户来写数据。

注:BKP ——DRx 寄存器不会被系统复位,电源复位,待机唤醒所复位它可以由备份域复位来复位或(如果入侵检测引脚TAMPER 功能被开启时)由浸入引脚事件复位BKP_RTCCR (RTC 时钟校准寄存器)注:复位时清除这一位2位:PVDO-PVD 输出(当PVD 被PVDE 位使能后该位才有效)定义:0(VDD/VDDA 高于PLS[2-0]选定的PVD 阀值),1(VDD/VDDA 低于PLS[2-0]选定的PVD 阀值) 注:在待机模式下PVD 被停止,因此,待机模式后或复位后,直到设置PVDE 位之前,该位为01位:SBF 待机标志位(该位由硬件设置,并只能由POR/PDR (上电/掉电复位)或设置电源控制寄存器(PWR_CR )的CSBUF 位清除)定义:0(不在待机)1(已待机)0位:WUF 唤醒标志(该位由硬件设置,并只能由POR/PDR (上电/掉电复位)或设置电源控制寄存器(PWR_CR )的CWUF 位清除)定义:0(没有唤醒事件),1(在WKUP 引脚上发生唤醒事件或出现RTC 脑中事件)3位:CSBF 清除待机位(始终输出为0)定义:0(无功效),1(清除SBF 待机位(写)2位:CWUF 清除唤醒位(始终输出为0)定义:0(无功效),1(2个系统时钟周期后清除WUF 唤醒位(写)1位:PDDS 掉电深睡眠(与LPDS 位协同操作)定义:0(当CPU 进入深睡眠时进入停机模式,调压器状态由LPDS 位控制),1(CPU 进入深睡眠时进入待机模式)8位:EWUP 使能WKUP 引脚。

STM32单片机GPIO寄存器的功能解析

STM32单片机GPIO寄存器的功能解析

STM32单片机GPIO寄存器的功能解析1、GPIO的寄存器按照功能可以分为以下几类:A、配置寄存器B、数据寄存器C、位寄存器D、锁定寄存器2、对于GPIO端口,每个端口有16个引脚,每个引脚的模式由寄存器的四个位控制,每四位又分为两位控制引脚配置(CNFy[1:0]),两位控制引脚的模式及最高速度(MODEy [1:0]),其中y表示第y个引脚。

配置GPIO引脚模式的一共有两个寄存器,CRH是高寄存器,用来配置高8位引脚,还有CRL配置低八位引脚。

3、端口位设置\清除寄存器(GPIOx_BSRR)一个引脚y的输出数据由GPIOx_BSRR寄存器位的2个位来控制分别为BRy (Bit Reset y)和BSy (Bit Set y),BRy位用于写1清零,使引脚输出低电平,BSy位用来写1置1,使引脚输出高电平。

而对这两个位进行写零都是无效的。

4、Cortex-M3有32根地址线,所以它的寻址空间大小为2 bit=4GB。

ARM公司设计时,预先把这4GB的寻址空间大致地分配好了。

它把地址从0x4000 0000至0x5FFF FFFF(512MB )的地址分配给片上外设。

5、stm32f10x.h这个文件中重要的内容就是把STM32的所有寄存器进行地址映射。

如同51单片机的头文件一样,stm32f10x.h像一个大表格,我们在使用的时候就是通过宏定义进行类似查表的操作。

6、STM32总线有AHB总线、APB2总线、APB1总线7、时钟系统。

A、从时钟频率来说分为告诉时钟和低速时钟,高速时钟是提供给芯片主体时钟,而低速时钟只是提供给芯片中的RTC及独立看门狗使用。

B、从芯片角度来说,时钟源分为内部时钟与外部时钟源,内部时钟是在芯片内部RC振。

STM32f103寄存器说明

STM32f103寄存器说明

CRC寄存器(一种算法,用以确认发送过程中是否出错)数据寄存器:CRC_DR可读写,复位值:0xFFFF FFFF;独立数据寄存器:CRC_IDR临时存放任何8位数据;控制寄存器:CRC_CR只零位可用,用于复位CRC,对其写1复位,由硬件清零;PWR电源控制(控制和管理电源)电源控制寄存器:PWR_CR控制选择系统的电源电源控制/状态寄存器:PWR_CSR睡眠或待机模式电源控制BKP备份寄存器(用以控制和管理备份数据)备份数据寄存器x:BKP_DRx (x = 1 … 10) 10个16位数据寄存器用以存储用户数据RTC时钟校准寄存器:BKP_RTCCR控制实时时钟的运行备份控制寄存器:BKP_CR控制选择清除备份数据的类型备份控制/状态寄存器:BKP_CSR对侵入事件的控制RCC寄存器(时钟的选择、复位、分频)时钟控制寄存器(RCC_CR)各时钟状态显示时钟配置寄存器(RCC_CFGR)时钟分频时钟中断寄存器(RCC_CIR)控制就绪中断使能与否APB2外设复位寄存器(RCC_APB2RSTR) APB1外设复位寄存器(RCC_APB1RSTR) 复位APB各功能寄存器AHB外设时钟使能寄存器(RCC_AHBENR) AHB时钟使能控制APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设时钟使能寄存器(RCC_APB1ENR) APB1时钟使能控制备份域控制寄存器(RCC_BDCR)备份域时钟控制控制/状态寄存器(RCC_CSR)复位标志寄存器AHB外设时钟复位寄存器(RCC_AHBRSTR) 复位以太网MAC模块时钟配置寄存器2(RCC_CFGR2)时钟选择与分频GPIO寄存器(设置端口的功能)端口配置低寄存器(GPIOx_CRL) (x=A..E)端口配置高寄存器(GPIOx_CRH) (x=A..E)端口输入数据寄存器(GPIOx_IDR) (x=A..E)只读数据,读出IO口的状态端口输出数据寄存器(GPIOx_ODR) (x=A..E) 可读可写端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E)端口位清除寄存器(GPIOx_BRR) (x=A..E)将某一端口清零端口配置锁定寄存器(GPIOx_LCKR) (x=A..E) 用于保护端口配值AFIO寄存器(将端口重映射到其它端口用以端口的第二功能)事件控制寄存器(AFIO_EVCR)选择时间输出端口与引脚复用重映射和调试I/O配置寄存器(AFIO_MAPR) 各寄存器功能引脚重映射选择外部中断配置寄存器1(AFIO_EXTICR1)外部中断配置寄存器2(AFIO_EXTICR2)外部中断配置寄存器3(AFIO_EXTICR3) 外部中断配置寄存器4(AFIO_EXTICR4) 外部中断引脚重映射选择EXTI 寄存器(外部中断控制器)中断屏蔽寄存器(EXTI_IMR)用于屏蔽或开放某一引脚的中断请求事件屏蔽寄存器(EXTI_EMR)用于屏蔽或开放某一引脚的事件上升沿触发选择寄存器(EXTI_RTSR) 禁止或允许某一引脚的上升沿触发下降沿触发选择寄存器(EXTI_FTSR) 禁止或允许某一引脚的下降沿触发软件中断事件寄存器(EXTI_SWIER) 控制某引脚的软件中断挂起寄存器(EXTI_PR)显示某线的引脚有无触发请求DMA寄存器(脱离cpu的传输模式)DMA中断状态寄存器(DMA_ISR)中断情况标志器DMA中断标志清除寄存器(DMA_IFCR) 手动清除标志位DMA通道x配置寄存器(DMA_CCRx)(x = 1…7)传输控制寄存器DMA通道x传输数量寄存器(DMA_CNDTRx)(x = 1…7)数据传输剩余数量存储器DMA通道x外设地址寄存器(DMA_CPARx)(x = 1…7)设置数据传输外设源或目标地址DMA通道x存储器地址寄存器(DMA_CMARx)(x = 1…7)设置存储器地址ADC寄存器(模数转换器)ADC状态寄存器(ADC_SR)AD转换标志寄存器ADC控制寄存器1(ADC_CR1)ADC控制寄存器2(ADC_CR2)设置AD转换的各种功能ADC采样时间寄存器1(ADC_SMPR1)ADC采样时间寄存器2(ADC_SMPR2)某通道选择固定的采样时间ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1..4) 设置数据偏移量ADC看门狗高阀值寄存器(ADC_HTR)设置模拟看门狗的阀值高限ADC看门狗低阀值寄存器(ADC_LRT)设置模拟看门狗的阀值低限ADC规则序列寄存器1(ADC_SQR1)ADC规则序列寄存器2(ADC_SQR2)ADC规则序列寄存器3(ADC_SQR3)设置ADC顺序ADC注入序列寄存器(ADC_JSQR)ADC 注入数据寄存器x (ADC_JDRx) (x= 1..4)ADC数据结果寄存器ADC规则数据寄存器(ADC_DR)DAC寄存器(数模转换器)DAC控制寄存器(DAC_CR)DAC软件触发寄存器(DAC_SWTRIGR)DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) DAC通道1的12位左对齐数据保持寄存器(DAC_DHR12L1) DAC通道1的8位右对齐数据保持寄存器(DAC_DHR8R1) DAC通道2的12位右对齐数据保持寄存器(DAC_DHR12R2) DAC通道2的12位左对齐数据保持寄存器(DAC_DHR12L2) DAC通道2的8位右对齐数据保持寄存器(DAC_DHR8R2)双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD)双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD)双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD) DAC通道1数据输出寄存器(DAC_DOR1)DAC通道2数据输出寄存器(DAC_DOR2)TIM1和TIM8寄存器(高级的定时计数寄存器)TIM1和TIM8控制寄存器1(TIMx_CR1)TIM1和TIM8控制寄存器2(TIMx_CR2)TIM1和TIM8从模式控制寄存器(TIMx_SMCR)TIM1和TIM8 DMA/中断使能寄存器(TIMx_DIER) TIM1和TIM8状态寄存器(TIMx_SR)TIM1和TIM8事件产生寄存器(TIMx_EGR)TIM1和TIM8捕获/比较模式寄存器1(TIMx_CCMR1) TIM1和TIM8捕获/比较模式寄存器2(TIMx_CCMR2) TIM1和TIM8捕获/比较使能寄存器(TIMx_CCER) TIM1和TIM8计数器(TIMx_CNT)TIM1和TIM8预分频器(TIMx_PSC)TIM1和TIM8自动重装载寄存器(TIMx_ARR)TIM1和TIM8重复计数寄存器(TIMx_RCR)TIM1和TIM8捕获/比较寄存器1(TIMx_CCR1)TIM1和TIM8捕获/比较寄存器2(TIMx_CCR2)TIM1和TIM8捕获/比较寄存器3(TIMx_CCR3)TIM1和TIM8捕获/比较寄存器(TIMx_CCR4)TIM1和TIM8刹车和死区寄存器(TIMx_BDTR)TIM1和TIM8 DMA控制寄存器(TIMx_DCR)TIM1和TIM8连续模式的DMA地址(TIMx_DMAR)TIMx寄存器(控制定时器)控制寄存器1(TIMx_CR1)控制寄存器2(TIMx_CR2)从模式控制寄存器(TIMx_SMCR)DMA/中断使能寄存器(TIMx_DIER)状态寄存器(TIMx_SR)事件产生寄存器(TIMx_EGR)捕获/比较模式寄存器1(TIMx_CCMR1)捕获/比较模式寄存器2(TIMx_CCMR2)捕获/比较使能寄存器(TIMx_CCER)计数器(TIMx_CNT)预分频器(TIMx_PSC)自动重装载寄存器(TIMx_ARR)捕获/比较寄存器1(TIMx_CCR1)捕获/比较寄存器2(TIMx_CCR2)捕获/比较寄存器3(TIMx_CCR3)捕获/比较寄存器4(TIMx_CCR4)DMA控制寄存器(TIMx_DCR)连续模式的DMA地址(TIMx_DMAR)TIM6和TIM7寄存器(基本定时计数器)TIM6和TIM7控制寄存器1(TIMx_CR1)TIM6和TIM7控制寄存器2(TIMx_CR2)TIM6和TIM7 DMA/中断使能寄存器(TIMx_DIER)TIM6和TIM7状态寄存器(TIMx_SR)TIM6和TIM7事件产生寄存器(TIMx_EGR)TIM6和TIM7计数器(TIMx_CNT)TIM6和TIM7预分频器(TIMx_PSC)TIM6和TIM7自动重装载寄存器(TIMx_ARR)RTC寄存器(实时时钟)RTC控制寄存器高位(RTC_CRH)RTC控制寄存器低位(RTC_CRL)16.4.3 RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) 16.4.4 RTC预分频器余数寄存器(RTC_DIVH / RTC_DIVL)RTC计数器寄存器(RTC_CNTH / RTC_CNTL) 16.4.6 RTC闹钟寄存器(RTC_ALRH/RTC_ALRL)IWDG寄存器(独立看门狗,用以监督系统硬件的正常运行)键寄存器(IWDG_KR)预分频寄存器(IWDG_PR)重装载寄存器(IWDG_RLR)状态寄存器(IWDG_SR)窗口看门狗(WWDG)寄存器(用以监督软件的正常运行)控制寄存器(WWDG_CR)配置寄存器(WWDG_CFR)状态寄存器(WWDG_SR)FSMC寄存器(可变静态存储控制器)NOR闪存和PSRAM控制器寄存器SRAM/NOR闪存片选控制寄存器1…4 (FSMC_BCR1…4)SRAM/NOR闪存片选时序寄存器1…4 (FSMC_BTR1…4) SRAM/NOR闪存写时序寄存器1…4 (FSMC_BWTR1…4)NAND闪存和PC卡控制器寄存器PC卡/NAND闪存控制寄存器2..4 (FSMC_PCR2..4) FIFO状态和中断寄存器2..4 (FSMC_SR2..4)通用存储空间时序寄存器 2..4 (FSMC_PMEM2..4)属性存储空间时序寄存器 2..4 (FSMC_PATT2..4)I/O空间时序寄存器4 (FSMC_PIO4)ECC结果寄存器2/3 (FSMC_ECCR2/3)SDIO寄存器(数据传输控制器)SDIO电源控制寄存器(SDIO_POWER) SDIO时钟控制寄存器(SDIO_CLKCR) SDIO参数寄存器(SDIO_ARG)SDIO命令寄存器(SDIO_CMD)SDIO命令响应寄存器(SDIO_RESPCMD) SDIO响应1..4寄存器(SDIO_RESPx) SDIO数据定时器寄存器(SDIO_DTIMER) SDIO数据长度寄存器(SDIO_DLEN)SDIO数据控制寄存器(SDIO_DCTRL SDIO数据计数器寄存器(SDIO_DCOUNT) SDIO状态寄存器(SDIO_STA)SDIO清除中断寄存器(SDIO_ICR)SDIO中断屏蔽寄存器(SDIO_MASK)SDIO FIFO计数器寄存器(SDIO_FIFOCNT) SDIO数据FIFO寄存器(SDIO_FIFO)USB寄存器(usb传输控制器)通用寄存器USB控制寄存器(USB_CNTR)USB中断状态寄存器(USB_ISTR)USB帧编号寄存器(USB_FNR)USB设备地址寄存器(USB_DADDR)USB分组缓冲区描述表地址寄存器(USB_BTABLE)端点寄存器USB 端点n寄存器(USB_EPnR), n=[0..7]缓冲区寄存器发送缓冲区地址寄存器n(USB_ADDRn_TX)发送数据字节数寄存器n(USB_COUNTn_TX)接收缓冲区地址寄存器n(USB_ADDRn_RX)接收数据字节数寄存器n(USB_COUNTn_RX)CAN 寄存器(邮箱控制寄存器)CAN控制和状态寄存器CAN主控制寄存器(CAN_MCR)CAN主状态寄存器(CAN_MSR)CAN发送状态寄存器(CAN_TSR)CAN接收FIFO 0寄存器(CAN_RF0R)CAN接收FIFO 1寄存器(CAN_RF1R)CAN中断使能寄存器(CAN_IER)CAN错误状态寄存器(CAN_ESR)CAN位时序寄存器(CAN_BTR)CAN邮箱寄存器发送邮箱标识符寄存器(CAN_TIxR) (x=0..2)发送邮箱数据长度和时间戳寄存器(CAN_TDTxR) (x=0..2)发送邮箱低字节数据寄存器(CAN_TDLxR) (x=0..2)发送邮箱高字节数据寄存器(CAN_TDHxR) (x=0..2)接收FIFO邮箱标识符寄存器(CAN_RIxR) (x=0..1)接收FIFO邮箱数据长度和时间戳寄存器(CAN_RDTxR) (x=0..1)接收FIFO邮箱低字节数据寄存器(CAN_RDLxR) (x=0..1)接收FIFO邮箱高字节数据寄存器(CAN_RDHxR) (x=0..1)CAN过滤器寄存器CAN 过滤器主控寄存器(CAN_FMR)CAN 过滤器模式寄存器(CAN_FM1R)CAN 过滤器位宽寄存器(CAN_FS1R)CAN 过滤器FIFO关联寄存器(CAN_FFA1R)CAN 过滤器激活寄存器(CAN_FA1R)CAN 过滤器组i的寄存器x (CAN_FiRx) (互联产品中i=0..27,其它产品中i=0..13;x=1..2)SPI和I2S寄存器(串行外设接口控制器)SPI控制寄存器1(SPI_CR1)SPI控制寄存器2(SPI_CR2)SPI 状态寄存器(SPI_SR)SPI 数据寄存器(SPI_DR)SPI CRC多项式寄存器(SPI_CRCPR)SPI Rx CRC寄存器(SPI_RXCRCR)SPI Tx CRC寄存器(SPI_TXCRCR)SPI_I2S配置寄存器(SPI_I2S_CFGR)SPI_I2S预分频寄存器(SPI_I2SPR)I2C寄存器(数据传输寄存器)控制寄存器1(I2C_CR1)控制寄存器2(I2C_CR2)自身地址寄存器1(I2C_OAR1)自身地址寄存器2(I2C_OAR2)数据寄存器(I2C_DR)状态寄存器1(I2C_SR1)状态寄存器2 (I2C_SR2)时钟控制寄存器(I2C_CCR)TRISE寄存器(I2C_TRISE)USART寄存器(通用同步异步收发器)状态寄存器(USART_SR)数据寄存器(USART_DR)波特比率寄存器(USART_BRR)控制寄存器1(USART_CR1)控制寄存器2(USART_CR2)控制寄存器3(USART_CR3)保护时间和预分频寄存器(USART_GTPR)OTG_FS控制和状态寄存器(数据传输控制器)OTG_FS全局寄存器OTG_FS控制和状态寄存器(OTG_FS_GOTGCTL)OTG_FS中断寄存器(OTG_FS_GOTGINT)OTG_FS AHB配置寄存器(OTG_FS_GAHBCFG)OTG_FS_USB配置寄存器(OTG_FS_GUSBCFG)OTG_FS复位寄存器(OTG_FS_GRSTCTL)OTG_FS控制器中断寄存器(OTG_FS_GINTSTS)OTG_FS中断屏蔽寄存器(OTG_FS_GINTMSK)OTG_FS接收状态调试读/OTG状态读和POP寄存器(OTG_FS_GRXSTSR / OTG_FS_GRXSTSP)OTG_FS接收FIFO长度寄存器(OTG_FS_GRXFSIZ)OTG_FS非周期性TX FIFO长度寄存器(OTG_FS_GNPTXFSIZ)OTG_FS非周期性TX FIFO/请求队列状态寄存器(OTG_FS_GNPTXSTS)OTG_FS通用控制器配置寄存器(OTG_FS_GCCFG)OTG_FS控制器ID寄存器(OTG_FS_CID)OTG_FS主机周期性发送FIFO长度寄存器(OTG_FS_HPTXFSIZ)OTG_FS设备IN端点发送FIFO长度寄存器(OTG_FS_DIEPTXFx)(其中x是FIFO的编号,x=1…4)主机模式下的寄存器OTG_FS主机模式配置寄存器(OTG_FS_HCFG)OTG_FS主机帧间隔寄存器(OTG_FS_HFIR)OTG_FS主机帧号/帧时间剩余寄存器(OTG_FS_HFNUM)OTG_FS主机周期性发送FIFO/请求队列寄存器(OTG_FS_HPTXSTS)OTG_FS主机所有通道中断寄存器(OTG_FS_HAINT)OTG_FS主机所有通道中断屏蔽寄存器(OTG_FS_HAINTMSK)OTG_FS主机端口控制和状态寄存器(OTG_FS_HPRT)OTG_FS主机通道x特性寄存器(OTG_FS_HCCHARx)(此处x代码通道号,x = 0...7)OTG_FS主机通道x中断寄存器(OTG_FS_HCINTx)(其中x代表通道号,x=0...7,)OTG_FS主机通道x中断屏蔽寄存器(OTG_FS_HCINTMSKx)(其中x为通道号,x=0...7) OTG_FS主机通道x传输长度寄存器(OTG_FS_HCTSIZx)(其中x为通道号,x=0...7)设备模式下的寄存器OTG_FS设备配置寄存器(OTG_FS_DCFG)OTG_FS设备控制寄存器(OTG_FS_DCTL)OTG_FS设备状态寄存器(OTG_FS_DSTS)OTG_FS设备IN端点通用中断屏蔽寄存器(OTG_FS_DIEPMSK)OTG_FS设备OUT端点通用中断屏蔽寄存器(OTG_FS_DOEPMSK)OTG_FS设备所有端点中断寄存器(OTG_FS_DAINT)OTG_FS所有端点中断屏蔽寄存器(OTG_FS_DAINTMSK)OTG_FS设备V BUS放电时间寄存器(OTG_FS_DVBUSDIS)OTG_FS设备V BUS脉冲时间寄存器(OTG_FS_DVBUSPULSE)OTG_FS设备IN端点FIFO空中断屏蔽寄存器(OTG_FS_DIEPEMPMSK)OTG_FS设备控制IN端点0控制寄存器(OTG_FS_DIEPCTL0)OTG设备端点x控制寄存器(OTG_FS_DIEPCTLx)(其中x为端点号,x=1…3)OTG_FS设备控制OUT端点0控制寄存器(OTG_FS_DOEPCTL0)OTG_FS设备OUT端点x控制寄存器(OTG_FS_DOEPCTLx)(其中x为端点号,x=1…3) OTG_FS设备端点x中断寄存器(OTG_FS_DIEPINTx)(其中x为端点号,x=0…3)OTG_FS设备端点x中断寄存器(OTG_FS_DOEPINTx)(其中x为端点号,x=0…3)OTG_FS设备IN端点0传输长度寄存器(OTG_FS_DIEPTSIZ0)OTG_FS设备OUT端点0传输长度寄存器(OTG_FS_DOEPTSIZ0)OTG_FS设备端点x传输长度寄存器(OTG_FS_DIEPTSIZx)(其中x为端点号,x=1…3) OTG_FS设备IN端点传输FIFO状态寄存器(OTG-FS_DTXFSTSx)(其中x为端点号,x=0…3)OTG_FS设备端点x传输长度寄存器(OTG_FS_DOEPTSIZx)(其中x为端点号,x=1…3) OTG_FS电源和时钟门控寄存器(OTG_FS_PCGCCTL)以太网寄存器(通信传输控制器)MAC寄存器以太网MAC设置寄存器(ETH_MACCR)以太网MAC帧过滤器寄存器(ETH_MACFFR)以太网MAC Hash列表高寄存器(ETH_MACHTHR)以太网MAC Hash列表低寄存器(ETH_MACHTLR)以太网MAC MII地址寄存器(ETH_MACMIIAR)以太网MAC MII数据寄存器(ETH_MACMIIDR)以太网MAC流控寄存器(ETH_MACFCR)以太网MAC VLAN标签寄存器(ETH_MACVLANTR)以太网MAC远程唤醒帧过滤器寄存器(ETH_MACRWUFFR)以太网MAC PMT控制和状态寄存器(ETH_MACPMTCSR)以太网MAC中断状态寄存器(ETH_MACSR)以太网MAC中断屏蔽寄存器(ETH_MAIMR)以太网MAC地址0高寄存器(ETH_MACA0HR)以太网MAC地址0低寄存器(ETH_MACA0LR)以太网MAC地址1高寄存器(ETH_MACA1HR)以太网MAC地址1低寄存器(ETH_MACA1LR)以太网MAC地址2高寄存器(ETH_MACA2HR)以太网MAC地址2低寄存器(ETH_MACA2LR)以太网MAC地址3高寄存器(ETH_MACA3HR)以太网MAC地址3低寄存器(ETH_MACA3LR)MMC寄存器以太网MMC控制寄存器(ETH_MMCCR)以太网MMC接收中断寄存器(ETH_MMCRIR)以太网MMC发送中断寄存器(ETH_MMCTIR)以太网MMC接收中断屏蔽寄存器(ETH_MMCRIMR)以太网MMC发送中断屏蔽寄存器(ETH_MMCTIMR)以太网MMC1次冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFSCCR)以太网MMC1次以上冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFMSCCR)以太网MMC发送”好”帧的计数器寄存器(ETH_MMCTGFCR)以太网MMC CRC错误接收帧计数器寄存器(ETH_ MMCRFCECR)以太网MMC对齐错误接收帧计数器寄存器(ETH_ MMCRFAECR)以太网MMC接收帧”好”单播帧计数器寄存器(ETH_ MMCRGUFCR)27.8.3。

STM32f103寄存器说明

STM32f103寄存器说明

CRC寄存器(一种算法,用以确认发送过程中是否出错)数据寄存器:CRC_DR可读写,复位值:0xFFFF FFFF;独立数据寄存器:CRC_IDR临时存放任何8位数据;控制寄存器:CRC_CR只零位可用,用于复位CRC,对其写1复位,由硬件清零;PWR电源控制(控制和管理电源)电源控制寄存器:PWR_CR控制选择系统的电源电源控制/状态寄存器:PWR_CSR睡眠或待机模式电源控制BKP备份寄存器(用以控制和管理备份数据)备份数据寄存器x:BKP_DRx (x = 1 …10) 10个16位数据寄存器用以存储用户数据RTC时钟校准寄存器:BKP_RTCCR控制实时时钟的运行备份控制寄存器:BKP_CR控制选择清除备份数据的类型备份控制/状态寄存器:BKP_CSR对侵入事件的控制RCC寄存器(时钟的选择、复位、分频)时钟控制寄存器(RCC_CR)各时钟状态显示时钟配置寄存器(RCC_CFGR)时钟分频时钟中断寄存器(RCC_CIR)控制就绪中断使能与否APB2外设复位寄存器(RCC_APB2RSTR) APB1外设复位寄存器(RCC_APB1RSTR)复位APB各功能寄存器AHB外设时钟使能寄存器(RCC_AHBENR) AHB时钟使能控制APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设时钟使能寄存器(RCC_APB1ENR) APB1时钟使能控制备份域控制寄存器(RCC_BDCR)备份域时钟控制控制/状态寄存器(RCC_CSR)复位标志寄存器AHB外设时钟复位寄存器(RCC_AHBRSTR)复位以太网MAC模块时钟配置寄存器2(RCC_CFGR2)时钟选择与分频.GPIO寄存器(设置端口的功能)端口配置低寄存器(GPIOx_CRL) (x=A..E)端口配置高寄存器(GPIOx_CRH) (x=A..E)端口输入数据寄存器(GPIOx_IDR) (x=A..E)只读数据,读出IO口的状态端口输出数据寄存器(GPIOx_ODR) (x=A..E)可读可写端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E)端口位清除寄存器(GPIOx_BRR) (x=A..E)将某一端口清零端口配置锁定寄存器(GPIOx_LCKR) (x=A..E)用于保护端口配值AFIO寄存器(将端口重映射到其它端口用以端口的第二功能)事件控制寄存器(AFIO_EVCR)选择时间输出端口与引脚复用重映射和调试I/O配置寄存器(AFIO_MAPR)各寄存器功能引脚重映射选择外部中断配置寄存器1(AFIO_EXTICR1) 2(AFIO_EXTICR2)外部中断配置寄存器.外部中断配置寄存器3(AFIO_EXTICR3) 外部中断配置寄存器4(AFIO_EXTICR4) 外部中断引脚重映射选择EXTI 寄存器(外部中断控制器)中断屏蔽寄存器(EXTI_IMR)用于屏蔽或开放某一引脚的中断请求事件屏蔽寄存器(EXTI_EMR)用于屏蔽或开放某一引脚的事件上升沿触发选择寄存器(EXTI_RTSR)禁止或允许某一引脚的上升沿触发下降沿触发选择寄存器(EXTI_FTSR)禁止或允许某一引脚的下降沿触发软件中断事件寄存器(EXTI_SWIER)控制某引脚的软件中断挂起寄存器(EXTI_PR)显示某线的引脚有无触发请求DMA寄存器(脱离cpu的传输模式)DMA中断状态寄存器(DMA_ISR)中断情况标志器DMA中断标志清除寄存器(DMA_IFCR)手动清除标志位DMA通道x配置寄存器(DMA_CCRx)(x = 1…7)传输控制寄存器DMA通道x传输数量寄存器(DMA_CNDTRx)(x = 1…7) 数据传输剩余数量存储器DMA通道x外设地址寄存器(DMA_CPARx)(x = 1…7)设置数据传输外设源或目标地址DMA通道x存储器地址寄存器(DMA_CMARx)(x = 1…7) 设置存储器地址ADC寄存器(模数转换器)ADC状态寄存器(ADC_SR)AD转换标志寄存器ADC控制寄存器1(ADC_CR1)ADC控制寄存器2(ADC_CR2)设置AD转换的各种功能1(ADC_SMPR1)ADC采样时间寄存器ADC采样时间寄存器2(ADC_SMPR2)某通道选择固定的采样时间ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1..4) 设置数据偏移量ADC看门狗高阀值寄存器(ADC_HTR)设置模拟看门狗的阀值高限ADC看门狗低阀值寄存器(ADC_LRT)设置模拟看门狗的阀值低限1(ADC_SQR1)ADC规则序列寄存器2(ADC_SQR2)规则序列寄存器ADC.ADC规则序列寄存器3(ADC_SQR3)设置ADC顺序(ADC_JSQR)ADC注入序列寄存器ADC 注入数据寄存器x (ADC_JDRx) (x= 1..4)ADC数据结果寄存器(ADC_DR)ADC规则数据寄存器DAC寄存器(数模转换器)(DAC_CR)控制寄存器DAC(DAC_SWTRIGR)软件触发寄存器DAC(DAC_DHR12R1)位右对齐数据保持寄存器的12通道DAC1(DAC_DHR12L1)位左对齐数据保持寄存器的12DAC通道1(DAC_DHR8R1)8位右对齐数据保持寄存器通道DAC1的(DAC_DHR12R2)12位右对齐数据保持寄存器DAC通道2的(DAC_DHR12L2)位左对齐数据保持寄存器2的12通道DAC (DAC_DHR8R2)位右对齐数据保持寄存器的8通道DAC2双DAC 的12位右对齐数据保持寄存器(DAC_DHR12RD)双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD)双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD)DAC通道1数据输出寄存器(DAC_DOR1)(DAC_DOR2)数据输出寄存器2通道DAC.TIM1和TIM8寄存器(高级的定时计数寄存器)1(TIMx_CR1)TIM8控制寄存器TIM1和2(TIMx_CR2)TIM8控制寄存器TIM1和(TIMx_SMCR)TIM8从模式控制寄存器TIM1和(TIMx_DIER)TIM8 DMA/中断使能寄存器TIM1和(TIMx_SR)状态寄存器和TIM1TIM8 (TIMx_EGR)事件产生寄存器TIM1和TIM81(TIMx_CCMR1)比较模式寄存器TIM8捕获/TIM1和2(TIMx_CCMR2)比较模式寄存器捕获/TIM1和TIM8(TIMx_CCER)比较使能寄存器捕获/TIM1和TIM8(TIMx_CNT)TIM8计数器TIM1和(TIMx_PSC)TIM8预分频器TIM1和(TIMx_ARR)自动重装载寄存器和TIM1TIM8(TIMx_RCR)重复计数寄存器TIM1和TIM81(TIMx_CCR1)比较寄存器捕获/TIM1和TIM82(TIMx_CCR2)/比较寄存器TIM1和TIM8捕获3(TIMx_CCR3)比较寄存器捕获/和TIM1TIM8(TIMx_CCR4)比较寄存器TIM8捕获/和TIM1(TIMx_BDTR)刹车和死区寄存器TIM8和TIM1.(TIMx_DCR)控制寄存器和TIM8 DMATIM1(TIMx_DMAR)DMA地址连续模式的TIM1和TIM8TIMx寄存器(控制定时器)1(TIMx_CR1)控制寄存器2(TIMx_CR2)控制寄存器(TIMx_SMCR)从模式控制寄存器(TIMx_DIER)中断使能寄存器DMA/(TIMx_SR)状态寄存器(TIMx_EGR)事件产生寄存器捕获/比较模式寄存器1(TIMx_CCMR1)捕获/比较模式寄存器2(TIMx_CCMR2)捕获/比较使能寄存器(TIMx_CCER)计数器(TIMx_CNT)预分频器(TIMx_PSC)自动重装载寄存器(TIMx_ARR)捕获/比较寄存器1(TIMx_CCR1)捕获/比较寄存器2(TIMx_CCR2)捕获/比较寄存器3(TIMx_CCR3)4(TIMx_CCR4)比较寄存器/捕获.DMA控制寄存器(TIMx_DCR)连续模式的DMA地址(TIMx_DMAR)TIM6和TIM7寄存器(基本定时计数器)TIM6和TIM7控制寄存器1(TIMx_CR1)TIM6和TIM7控制寄存器2(TIMx_CR2)TIM6和TIM7 DMA/中断使能寄存器(TIMx_DIER)TIM6和TIM7状态寄存器(TIMx_SR)TIM6和TIM7事件产生寄存器(TIMx_EGR)TIM6和TIM7计数器(TIMx_CNT)TIM6和TIM7预分频器(TIMx_PSC)TIM6和TIM7自动重装载寄存器(TIMx_ARR)RTC寄存器(实时时钟)RTC控制寄存器高位(RTC_CRH)RTC控制寄存器低位(RTC_CRL)16.4.3 RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) (RTC_DIVH / RTC_DIVL)预分频器余数寄存器16.4.4 RTC.RTC计数器寄存器(RTC_CNTH / RTC_CNTL)16.4.6 RTC闹钟寄存器(RTC_ALRH/RTC_ALRL) IWDG寄存器(独立看门狗,用以监督系统硬件的正常运行)键寄存器(IWDG_KR)预分频寄存器(IWDG_PR)重装载寄存器(IWDG_RLR)状态寄存器(IWDG_SR)窗口看门狗(WWDG)寄存器(用以监督软件的正常运行)控制寄存器(WWDG_CR)配置寄存器(WWDG_CFR)状态寄存器(WWDG_SR)FSMC寄存器(可变静态存储控制器)NOR闪存和PSRAM控制器寄存器1…4 (FSMC_BCR1…4)闪存片选控制寄存器SRAM/NOR.1…4 (FSMC_BTR1…4)SRAM/NOR闪存片选时序寄存器1…4 (FSMC_BWTR1…4)SRAM/NOR闪存写时序寄存器NAND闪存和PC卡控制器寄存器2..4 (FSMC_PCR2..4)/NAND闪存控制寄存器PC卡 2..4 (FSMC_SR2..4) FIFO状态和中断寄存器 2..4 (FSMC_PMEM2..4)通用存储空间时序寄存器2..4 (FSMC_PATT2..4)属性存储空间时序寄存器4 (FSMC_PIO4)I/O空间时序寄存器2/3 (FSMC_ECCR2/3)ECC结果寄存器(数据传输控制器)SDIO电源控制寄存器(SDIO_POWER)SDIO时钟控制寄存器(SDIO_CLKCR)SDIO参数寄存器(SDIO_ARG)SDIO命令寄存器(SDIO_CMD)SDIO命令响应寄存器(SDIO_RESPCMD) SDIO响应1..4寄存器(SDIO_RESPx) SDIO数据定时器寄存器(SDIO_DTIMER) SDIO数据长度寄存器(SDIO_DLEN)SDIO数据控制寄存器(SDIO_DCTRLSDIO数据计数器寄存器(SDIO_DCOUNT) SDIO状态寄存器(SDIO_STA)SDIO清除中断寄存器(SDIO_ICR)(SDIO_MASK)中断屏蔽寄存器SDIO.SDIO FIFO计数器寄存器(SDIO_FIFOCNT) SDIO数据FIFO寄存器(SDIO_FIFO)USB寄存器(usb传输控制器)(USB_CNTR)控制寄存器USB(USB_ISTR)中断状态寄存器USB(USB_FNR)帧编号寄存器USB(USB_DADDR)设备地址寄存器USB(USB_BTABLE)分组缓冲区描述表地址寄存器USB端点寄存器(USB_EPnR), n=[0..7]寄存器端点nUSB缓冲区寄存器n(USB_ADDRn_TX)发送缓冲区地址寄存器n(USB_COUNTn_TX)发送数据字节数寄存器n(USB_ADDRn_RX)接收缓冲区地址寄存器n(USB_COUNTn_RX)接收数据字节数寄存器CAN 寄存器(邮箱控制寄存器)CAN控制和状态寄存器(CAN_MCR)CAN主控制寄存器(CAN_MSR)主状态寄存器CAN(CAN_TSR)发送状态寄存器CAN(CAN_RF0R)接收FIFO 0寄存器CAN(CAN_RF1R)FIFO 1寄存器CAN接收(CAN_IER)中断使能寄存器CAN(CAN_ESR)错误状态寄存器CAN.(CAN_BTR)CAN位时序寄存器CAN邮箱寄存器(CAN_TIxR) (x=0..2)发送邮箱标识符寄存器(CAN_TDTxR) (x=0..2)发送邮箱数据长度和时间戳寄存器(CAN_TDLxR) (x=0..2)发送邮箱低字节数据寄存器(CAN_TDHxR) (x=0..2)发送邮箱高字节数据寄存器(CAN_RIxR) (x=0..1)邮箱标识符寄存器接收FIFO(CAN_RDTxR) (x=0..1)邮箱数据长度和时间戳寄存器接收FIFO(CAN_RDLxR) (x=0..1)邮箱低字节数据寄存器接收FIFO(CAN_RDHxR) (x=0..1)邮箱高字节数据寄存器接收FIFO CAN过滤器寄存器(CAN_FMR)CAN 过滤器主控寄存器(CAN_FM1R)CAN 过滤器模式寄存器(CAN_FS1R)CAN 过滤器位宽寄存器(CAN_FFA1R)FIFO关联寄存器CAN 过滤器(CAN_FA1R)CAN 过滤器激活寄存器x=1..2)0..13;,其它产品中i=过滤器组CAN i的寄存器x (CAN_FiRx) (互联产品中i=0..27SPI和IS寄存器2(串行外设接口控制器)SPI控制寄存器1(SPI_CR1)SPI控制寄存器2(SPI_CR2)SPI 状态寄存器(SPI_SR)SPI 数据寄存器(SPI_DR)SPI CRC多项式寄存器(SPI_CRCPR)SPI Rx CRC寄存器(SPI_RXCRCR)SPI Tx CRC寄存器(SPI_TXCRCR)SPI_IS配置寄存器(SPI_I2S_CFGR)2(SPI_I2SPR)预分频寄存器SPI_I2S.IC寄存器2(数据传输寄存器)控制寄存器1(I2C_CR1)控制寄存器2(I2C_CR2)自身地址寄存器1(I2C_OAR1)自身地址寄存器2(I2C_OAR2)数据寄存器(I2C_DR)状态寄存器1(I2C_SR1)状态寄存器2 (I2C_SR2)时钟控制寄存器(I2C_CCR)TRISE寄存器(I2C_TRISE)USART寄存器(通用同步异步收发器)状态寄存器(USART_SR)数据寄存器(USART_DR)波特比率寄存器(USART_BRR)控制寄存器1(USART_CR1)2(USART_CR2)控制寄存器.控制寄存器3(USART_CR3)保护时间和预分频寄存器(USART_GTPR)OTG_FS控制和状态寄存器(数据传输控制器)OTG_FS全局寄存器(OTG_FS_GOTGCTL)控制和状态寄存器OTG_FS(OTG_FS_GOTGINT)中断寄存器OTG_FS(OTG_FS_GAHBCFG)配置寄存器OTG_FS AHB(OTG_FS_GUSBCFG)配置寄存器OTG_FS_USB(OTG_FS_GRSTCTL)复位寄存器OTG_FS(OTG_FS_GINTSTS)控制器中断寄存器OTG_FS(OTG_FS_GINTMSK)中断屏蔽寄存器OTG_FSOTG_FS接收状态调试读/OTG状态读和POP寄存器(OTG_FS_GRXSTSR / OTG_FS_GRXSTSP) (OTG_FS_GRXFSIZ)FIFO长度寄存器OTG_FS接收(OTG_FS_GNPTXFSIZ)TX FIFO长度寄存器OTG_FS非周期性(OTG_FS_GNPTXSTS)TX FIFO/请求队列状态寄存器OTG_FS非周期性(OTG_FS_GCCFG)OTG_FS通用控制器配置寄存器(OTG_FS_CID)寄存器OTG_FS控制器ID(OTG_FS_HPTXFSIZ)长度寄存器OTG_FS 主机周期性发送FIFOOTG_FS设备IN端点发送FIFO长度寄存器(OTG_FS_DIEPTXFx)(其中x是FIFO的编号,x=1…4)主机模式下的寄存器(OTG_FS_HCFG)主机模式配置寄存器OTG_FS(OTG_FS_HFIR)OTG_FS主机帧间隔寄存器(OTG_FS_HFNUM)/帧时间剩余寄存器OTG_FS主机帧号(OTG_FS_HPTXSTS)FIFO/请求队列寄存器OTG_FS主机周期性发送(OTG_FS_HAINT)主机所有通道中断寄存器OTG_FS(OTG_FS_HAINTMSK)主机所有通道中断屏蔽寄存器OTG_FS(OTG_FS_HPRT)主机端口控制和状态寄存器OTG_FSOTG_FS主机通道x特性寄存器(OTG_FS_HCCHARx)(此处x代码通道号,x = 0...7)OTG_FS主机通道x中断寄存器(OTG_FS_HCINTx)(其中x代表通道号,x=0...7,) OTG_FS主机通道x中断屏蔽寄存器(OTG_FS_HCINTMSKx)(其中x为通道号,x=0...7)x=0...7)为通道号,x其中(OTG_FS_HCTSIZx)(传输长度寄存器x主机通道OTG_FS.设备模式下的寄存器(OTG_FS_DCFG)OTG_FS设备配置寄存器(OTG_FS_DCTL)OTG_FS设备控制寄存器(OTG_FS_DSTS)OTG_FS设备状态寄存器(OTG_FS_DIEPMSK)IN端点通用中断屏蔽寄存器OTG_FS设备(OTG_FS_DOEPMSK)OUT端点通用中断屏蔽寄存器OTG_FS设备(OTG_FS_DAINT)OTG_FS设备所有端点中断寄存器(OTG_FS_DAINTMSK)所有端点中断屏蔽寄存器OTG_FS(OTG_FS_DVBUSDIS)放电时间寄存器OTG_FS设备V BUS(OTG_FS_DVBUSPULSE)脉冲时间寄存器OTG_FS设备V BUS(OTG_FS_DIEPEMPMSK)空中断屏蔽寄存器IN端点FIFOOTG_FS设备(OTG_FS_DIEPCTL0)控制寄存器IN端点0OTG_FS设备控制x=1…3)为端点号,其中xOTG设备端点x控制寄存器(OTG_FS_DIEPCTLx)((OTG_FS_DOEPCTL0)控制寄存器端点0OTG_FS设备控制OUT x=1…3)为端点号,其中x端点x控制寄存器(OTG_FS_DOEPCTLx)(OTG_FS设备OUT x=0…3)x为端点号,x中断寄存器(OTG_FS_DIEPINTx)(其中OTG_FS设备端点x=0…3)x为端点号,x中断寄存器(OTG_FS_DOEPINTx)(其中OTG_FS设备端点(OTG_FS_DIEPTSIZ0)0传输长度寄存器设备IN端点OTG_FS(OTG_FS_DOEPTSIZ0)传输长度寄存器OUT端点0设备OTG_FS x=1…3)为端点号,(OTG_FS_DIEPTSIZx)(其中xOTG_FS设备端点x传输长度寄存器OTG_FS设备IN端点传输FIFO状态寄存器(OTG-FS_DTXFSTSx)(其中x为端点号,x=0…3)x=1…3)x为端点号,传输长度寄存器设备端点x(OTG_FS_DOEPTSIZx)(其中OTG_FS OTG_FS电源和时钟门控寄存器(OTG_FS_PCGCCTL)以太网寄存器(通信传输控制器)MAC寄存器(ETH_MACCR)设置寄存器以太网MAC(ETH_MACFFR)帧过滤器寄存器以太网MAC(ETH_MACHTHR)列表高寄存器以太网MAC Hash(ETH_MACHTLR)MAC Hash列表低寄存器以太网(ETH_MACMIIAR)地址寄存器以太网MAC MII(ETH_MACMIIDR)数据寄存器以太网MAC MII(ETH_MACFCR)MAC流控寄存器以太网(ETH_MACVLANTR)MAC VLAN以太网标签寄存器(ETH_MACRWUFFR)远程唤醒帧过滤器寄存器MAC以太网.(ETH_MACPMTCSR)控制和状态寄存器以太网MAC PMT(ETH_MACSR)中断状态寄存器以太网MAC(ETH_MAIMR)中断屏蔽寄存器以太网MAC(ETH_MACA0HR)高寄存器地址0以太网MAC(ETH_MACA0LR)0低寄存器以太网MAC地址(ETH_MACA1HR)1高寄存器以太网MAC地址(ETH_MACA1LR)1低寄存器以太网MAC地址(ETH_MACA2HR)2高寄存器以太网MAC地址以太网MAC地址2低寄存器(ETH_MACA2LR)(ETH_MACA3HR)高寄存器MAC地址3以太网以太网MAC地址3低寄存器(ETH_MACA3LR)MMC寄存器(ETH_MMCCR)控制寄存器以太网MMC(ETH_MMCRIR)接收中断寄存器以太网MMC(ETH_MMCTIR)MMC以太网发送中断寄存器(ETH_MMCRIMR)MMC接收中断屏蔽寄存器以太网(ETH_MMCTIMR)MMC发送中断屏蔽寄存器以太网(ETH_MMCTGFSCCR)帧的计数器寄存器”好”1以太网MMC次冲突后发送(ETH_MMCTGFMSCCR)帧的计数器寄存器好”以太网MMC1次以上冲突后发送”以太网MMC发送”好”帧的计数器寄存器(ETH_MMCTGFCR)(ETH_ MMCRFCECR)错误接收帧计数器寄存器以太网MMC CRC以太网MMC对齐错误接收帧计数器寄存器(ETH_ MMCRFAECR)以太网MMC接收帧”好”单播帧计数器寄存器(ETH_ MMCRGUFCR)27.8. 3。

STM32中几个GPIO寄存器总结

STM32中几个GPIO寄存器总结

OPA1632 全差动 I/O 音频放大器 音频放大器
OPA2604-Q1 汽车类双路 FET 输入低失真运算放大器 音频放大器
PCM1600 104dB SNR 6 通道音频 DAC 音频转换器
PCM1601 104dB SNR 6 通道音频 DAC 音频转换器
PCM1602 105dB SNR 6 通道音频 DAC 音频转换器
DSD1792 132dB SNR 最高性能立体声音频 DAC(软件控制) 音频转换器
DSD1792A 132dB SNR 最高性能立体声音频 DAC(软件控制) 音频转换器
DSD1793 113dB SNR 立体声音频 DAC(软件控制R 最高性能立体声音频 DAC(硬件控制) 音频转换器
PCM1609 105dB SNR 8 通道音频 DAC 音频转换器
PCM1609A 105dB SNR 8 通道音频 DAC 音频转换器
PCM1680 105dB SNR 8 通道音频 DAC 音频转换器
GPIOA->CRH&=0XFFFFFFF0;//清除该位原来的设置
GPIOA->CRH|=0X00000003;//PA8 推挽输出
GPIOA->ODR|=1<<8; //PA8 输出高
由以上代码看出,PA8设置成了推挽输出。大家都知道一个端口可以输出高电平,也可以输出低电平,而GPIOA->ODR|=1<<8; 这个表达式就把PA8设置成了在空闲的时候输出高电平;GPIOA->ODR|=0<<8; 这个表达式,把PA8设置成了在空闲的时候输出低电平。
一.CRH和CRL的使用:
CRH和CRL的使用基本相同,CRH用于控制GPIOX(X表示A---G)的高8位(Pin15---Pin8),而CRL用于控制GPIOX(X表示A---G)的低8位(Pin7----Pin0)。

STM32f103寄存器说明书

STM32f103寄存器说明书

CRC寄存器(一种算法,用以确认发送过程中是否出错)数据寄存器:CRC_DR可读写,复位值:0xFFFF FFFF;独立数据寄存器:CRC_IDR临时存放任何8位数据;控制寄存器:CRC_CR只零位可用,用于复位CRC,对其写1复位,由硬件清零;PWR电源控制(控制和管理电源)电源控制寄存器:PWR_CR控制选择系统的电源电源控制/状态寄存器:PWR_CSR睡眠或待机模式电源控制BKP备份寄存器(用以控制和管理备份数据)备份数据寄存器x:BKP_DRx (x = 1 … 10) 10个16位数据寄存器用以存储用户数据RTC时钟校准寄存器:BKP_RTCCR控制实时时钟的运行备份控制寄存器:BKP_CR控制选择清除备份数据的类型备份控制/状态寄存器:BKP_CSR对侵入事件的控制RCC寄存器(时钟的选择、复位、分频)时钟控制寄存器(RCC_CR)各时钟状态显示时钟配置寄存器(RCC_CFGR)时钟分频时钟中断寄存器(RCC_CIR)控制就绪中断使能与否APB2外设复位寄存器(RCC_APB2RSTR) APB1外设复位寄存器(RCC_APB1RSTR) 复位APB各功能寄存器AHB外设时钟使能寄存器(RCC_AHBENR) AHB时钟使能控制APB2外设时钟使能寄存器(RCC_APB2ENR) APB1外设时钟使能寄存器(RCC_APB1ENR) APB1时钟使能控制备份域控制寄存器(RCC_BDCR)备份域时钟控制控制/状态寄存器(RCC_CSR)复位标志寄存器AHB外设时钟复位寄存器(RCC_AHBRSTR) 复位以太网MAC模块时钟配置寄存器2(RCC_CFGR2)时钟选择与分频GPIO寄存器(设置端口的功能)端口配置低寄存器(GPIOx_CRL) (x=A..E)端口配置高寄存器(GPIOx_CRH) (x=A..E)端口输入数据寄存器(GPIOx_IDR) (x=A..E)只读数据,读出IO口的状态端口输出数据寄存器(GPIOx_ODR) (x=A..E) 可读可写端口位设置/清除寄存器(GPIOx_BSRR) (x=A..E)端口位清除寄存器(GPIOx_BRR) (x=A..E)将某一端口清零端口配置锁定寄存器(GPIOx_LCKR) (x=A..E) 用于保护端口配值AFIO寄存器(将端口重映射到其它端口用以端口的第二功能)事件控制寄存器(AFIO_EVCR)选择时间输出端口与引脚复用重映射和调试I/O配置寄存器(AFIO_MAPR) 各寄存器功能引脚重映射选择外部中断配置寄存器1(AFIO_EXTICR1)外部中断配置寄存器2(AFIO_EXTICR2)外部中断配置寄存器3(AFIO_EXTICR3) 外部中断配置寄存器4(AFIO_EXTICR4) 外部中断引脚重映射选择EXTI 寄存器(外部中断控制器)中断屏蔽寄存器(EXTI_IMR)用于屏蔽或开放某一引脚的中断请求事件屏蔽寄存器(EXTI_EMR)用于屏蔽或开放某一引脚的事件上升沿触发选择寄存器(EXTI_RTSR) 禁止或允许某一引脚的上升沿触发下降沿触发选择寄存器(EXTI_FTSR) 禁止或允许某一引脚的下降沿触发软件中断事件寄存器(EXTI_SWIER) 控制某引脚的软件中断挂起寄存器(EXTI_PR)显示某线的引脚有无触发请求DMA寄存器(脱离cpu的传输模式)DMA中断状态寄存器(DMA_ISR)中断情况标志器DMA中断标志清除寄存器(DMA_IFCR) 手动清除标志位DMA通道x配置寄存器(DMA_CCRx)(x = 1…7)传输控制寄存器DMA通道x传输数量寄存器(DMA_CNDTRx)(x = 1…7)数据传输剩余数量存储器DMA通道x外设地址寄存器(DMA_CPARx)(x = 1…7)设置数据传输外设源或目标地址DMA通道x存储器地址寄存器(DMA_CMARx)(x = 1…7)设置存储器地址ADC寄存器(模数转换器)ADC状态寄存器(ADC_SR)AD转换标志寄存器ADC控制寄存器1(ADC_CR1)ADC控制寄存器2(ADC_CR2)设置AD转换的各种功能ADC采样时间寄存器1(ADC_SMPR1)ADC采样时间寄存器2(ADC_SMPR2)某通道选择固定的采样时间ADC注入通道数据偏移寄存器x (ADC_JOFRx)(x=1..4) 设置数据偏移量ADC看门狗高阀值寄存器(ADC_HTR)设置模拟看门狗的阀值高限ADC看门狗低阀值寄存器(ADC_LRT)设置模拟看门狗的阀值低限ADC规则序列寄存器1(ADC_SQR1)ADC规则序列寄存器2(ADC_SQR2)ADC规则序列寄存器3(ADC_SQR3)设置ADC顺序ADC注入序列寄存器(ADC_JSQR)ADC 注入数据寄存器x (ADC_JDRx) (x= 1..4)ADC数据结果寄存器ADC规则数据寄存器(ADC_DR)DAC寄存器(数模转换器)DAC控制寄存器(DAC_CR)DAC软件触发寄存器(DAC_SWTRIGR)DAC通道1的12位右对齐数据保持寄存器(DAC_DHR12R1) DAC通道1的12位左对齐数据保持寄存器(DAC_DHR12L1) DAC通道1的8位右对齐数据保持寄存器(DAC_DHR8R1) DAC通道2的12位右对齐数据保持寄存器(DAC_DHR12R2) DAC通道2的12位左对齐数据保持寄存器(DAC_DHR12L2) DAC通道2的8位右对齐数据保持寄存器(DAC_DHR8R2)双DAC的12位右对齐数据保持寄存器(DAC_DHR12RD)双DAC的12位左对齐数据保持寄存器(DAC_DHR12LD)双DAC的8位右对齐数据保持寄存器(DAC_DHR8RD) DAC通道1数据输出寄存器(DAC_DOR1)DAC通道2数据输出寄存器(DAC_DOR2)TIM1和TIM8寄存器(高级的定时计数寄存器)TIM1和TIM8控制寄存器1(TIMx_CR1)TIM1和TIM8控制寄存器2(TIMx_CR2)TIM1和TIM8从模式控制寄存器(TIMx_SMCR)TIM1和TIM8 DMA/中断使能寄存器(TIMx_DIER) TIM1和TIM8状态寄存器(TIMx_SR)TIM1和TIM8事件产生寄存器(TIMx_EGR)TIM1和TIM8捕获/比较模式寄存器1(TIMx_CCMR1) TIM1和TIM8捕获/比较模式寄存器2(TIMx_CCMR2) TIM1和TIM8捕获/比较使能寄存器(TIMx_CCER) TIM1和TIM8计数器(TIMx_CNT)TIM1和TIM8预分频器(TIMx_PSC)TIM1和TIM8自动重装载寄存器(TIMx_ARR)TIM1和TIM8重复计数寄存器(TIMx_RCR)TIM1和TIM8捕获/比较寄存器1(TIMx_CCR1)TIM1和TIM8捕获/比较寄存器2(TIMx_CCR2)TIM1和TIM8捕获/比较寄存器3(TIMx_CCR3)TIM1和TIM8捕获/比较寄存器(TIMx_CCR4)TIM1和TIM8刹车和死区寄存器(TIMx_BDTR)TIM1和TIM8 DMA控制寄存器(TIMx_DCR)TIM1和TIM8连续模式的DMA地址(TIMx_DMAR)TIMx寄存器(控制定时器)控制寄存器1(TIMx_CR1)控制寄存器2(TIMx_CR2)从模式控制寄存器(TIMx_SMCR)DMA/中断使能寄存器(TIMx_DIER)状态寄存器(TIMx_SR)事件产生寄存器(TIMx_EGR)捕获/比较模式寄存器1(TIMx_CCMR1)捕获/比较模式寄存器2(TIMx_CCMR2)捕获/比较使能寄存器(TIMx_CCER)计数器(TIMx_CNT)预分频器(TIMx_PSC)自动重装载寄存器(TIMx_ARR)捕获/比较寄存器1(TIMx_CCR1)捕获/比较寄存器2(TIMx_CCR2)捕获/比较寄存器3(TIMx_CCR3)捕获/比较寄存器4(TIMx_CCR4)DMA控制寄存器(TIMx_DCR)连续模式的DMA地址(TIMx_DMAR)TIM6和TIM7寄存器(基本定时计数器)TIM6和TIM7控制寄存器1(TIMx_CR1)TIM6和TIM7控制寄存器2(TIMx_CR2)TIM6和TIM7 DMA/中断使能寄存器(TIMx_DIER)TIM6和TIM7状态寄存器(TIMx_SR)TIM6和TIM7事件产生寄存器(TIMx_EGR)TIM6和TIM7计数器(TIMx_CNT)TIM6和TIM7预分频器(TIMx_PSC)TIM6和TIM7自动重装载寄存器(TIMx_ARR)RTC寄存器(实时时钟)RTC控制寄存器高位(RTC_CRH)RTC控制寄存器低位(RTC_CRL)16.4.3 RTC预分频装载寄存器(RTC_PRLH/RTC_PRLL) 16.4.4 RTC预分频器余数寄存器(RTC_DIVH / RTC_DIVL)RTC计数器寄存器(RTC_CNTH / RTC_CNTL) 16.4.6 RTC闹钟寄存器(RTC_ALRH/RTC_ALRL)IWDG寄存器(独立看门狗,用以监督系统硬件的正常运行)键寄存器(IWDG_KR)预分频寄存器(IWDG_PR)重装载寄存器(IWDG_RLR)状态寄存器(IWDG_SR)窗口看门狗(WWDG)寄存器(用以监督软件的正常运行)控制寄存器(WWDG_CR)配置寄存器(WWDG_CFR)状态寄存器(WWDG_SR)FSMC寄存器(可变静态存储控制器)NOR闪存和PSRAM控制器寄存器SRAM/NOR闪存片选控制寄存器1…4 (FSMC_BCR1…4)SRAM/NOR闪存片选时序寄存器1…4 (FSMC_BTR1…4) SRAM/NOR闪存写时序寄存器1…4 (FSMC_BWTR1…4)NAND闪存和PC卡控制器寄存器PC卡/NAND闪存控制寄存器2..4 (FSMC_PCR2..4) FIFO状态和中断寄存器2..4 (FSMC_SR2..4)通用存储空间时序寄存器 2..4 (FSMC_PMEM2..4)属性存储空间时序寄存器 2..4 (FSMC_PATT2..4)I/O空间时序寄存器4 (FSMC_PIO4)ECC结果寄存器2/3 (FSMC_ECCR2/3)SDIO寄存器(数据传输控制器)SDIO电源控制寄存器(SDIO_POWER) SDIO时钟控制寄存器(SDIO_CLKCR) SDIO参数寄存器(SDIO_ARG)SDIO命令寄存器(SDIO_CMD)SDIO命令响应寄存器(SDIO_RESPCMD) SDIO响应1..4寄存器(SDIO_RESPx) SDIO数据定时器寄存器(SDIO_DTIMER) SDIO数据长度寄存器(SDIO_DLEN)SDIO数据控制寄存器(SDIO_DCTRL SDIO数据计数器寄存器(SDIO_DCOUNT) SDIO状态寄存器(SDIO_STA)SDIO清除中断寄存器(SDIO_ICR)SDIO中断屏蔽寄存器(SDIO_MASK)SDIO FIFO计数器寄存器(SDIO_FIFOCNT) SDIO数据FIFO寄存器(SDIO_FIFO)USB寄存器(usb传输控制器)通用寄存器USB控制寄存器(USB_CNTR)USB中断状态寄存器(USB_ISTR)USB帧编号寄存器(USB_FNR)USB设备地址寄存器(USB_DADDR)USB分组缓冲区描述表地址寄存器(USB_BTABLE)端点寄存器USB 端点n寄存器(USB_EPnR), n=[0..7]缓冲区寄存器发送缓冲区地址寄存器n(USB_ADDRn_TX)发送数据字节数寄存器n(USB_COUNTn_TX)接收缓冲区地址寄存器n(USB_ADDRn_RX)接收数据字节数寄存器n(USB_COUNTn_RX)CAN 寄存器(控制寄存器)CAN控制和状态寄存器CAN主控制寄存器(CAN_MCR)CAN主状态寄存器(CAN_MSR)CAN发送状态寄存器(CAN_TSR)CAN接收FIFO 0寄存器(CAN_RF0R)CAN接收FIFO 1寄存器(CAN_RF1R)CAN中断使能寄存器(CAN_IER)CAN错误状态寄存器(CAN_ESR)CAN位时序寄存器(CAN_BTR)CAN寄存器发送标识符寄存器(CAN_TIxR) (x=0..2)发送数据长度和时间戳寄存器(CAN_TDTxR) (x=0..2)发送低字节数据寄存器(CAN_TDLxR) (x=0..2)发送高字节数据寄存器(CAN_TDHxR) (x=0..2)接收FIFO标识符寄存器(CAN_RIxR) (x=0..1)接收FIFO数据长度和时间戳寄存器(CAN_RDTxR) (x=0..1)接收FIFO低字节数据寄存器(CAN_RDLxR) (x=0..1)接收FIFO高字节数据寄存器(CAN_RDHxR) (x=0..1)CAN过滤器寄存器CAN 过滤器主控寄存器(CAN_FMR)CAN 过滤器模式寄存器(CAN_FM1R)CAN 过滤器位宽寄存器(CAN_FS1R)CAN 过滤器FIFO关联寄存器(CAN_FFA1R)CAN 过滤器激活寄存器(CAN_FA1R)CAN 过滤器组i的寄存器x (CAN_FiRx) (互联产品中i=0..27,其它产品中i=0..13;x=1..2)SPI和I2S寄存器(串行外设接口控制器)SPI控制寄存器1(SPI_CR1)SPI控制寄存器2(SPI_CR2)SPI 状态寄存器(SPI_SR)SPI 数据寄存器(SPI_DR)SPI CRC多项式寄存器(SPI_CRCPR)SPI Rx CRC寄存器(SPI_RXCRCR)SPI Tx CRC寄存器(SPI_TXCRCR)SPI_I2S配置寄存器(SPI_I2S_CFGR)SPI_I2S预分频寄存器(SPI_I2SPR)I2C寄存器(数据传输寄存器)控制寄存器1(I2C_CR1)控制寄存器2(I2C_CR2)自身地址寄存器1(I2C_OAR1)自身地址寄存器2(I2C_OAR2)数据寄存器(I2C_DR)状态寄存器1(I2C_SR1)状态寄存器2 (I2C_SR2)时钟控制寄存器(I2C_CCR)TRISE寄存器(I2C_TRISE)USART寄存器(通用同步异步收发器)状态寄存器(USART_SR)数据寄存器(USART_DR)波特比率寄存器(USART_BRR)控制寄存器1(USART_CR1)控制寄存器2(USART_CR2)控制寄存器3(USART_CR3)保护时间和预分频寄存器(USART_GTPR)OTG_FS控制和状态寄存器(数据传输控制器)OTG_FS全局寄存器OTG_FS控制和状态寄存器(OTG_FS_GOTGCTL)OTG_FS中断寄存器(OTG_FS_GOTGINT)OTG_FS AHB配置寄存器(OTG_FS_GAHBCFG)OTG_FS_USB配置寄存器(OTG_FS_GUSBCFG)OTG_FS复位寄存器(OTG_FS_GRSTCTL)OTG_FS控制器中断寄存器(OTG_FS_GINTSTS)OTG_FS中断屏蔽寄存器(OTG_FS_GINTMSK)OTG_FS接收状态调试读/OTG状态读和POP寄存器(OTG_FS_GRXSTSR / OTG_FS_GRXSTSP)OTG_FS接收FIFO长度寄存器(OTG_FS_GRXFSIZ)OTG_FS非周期性TX FIFO长度寄存器(OTG_FS_GNPTXFSIZ)OTG_FS非周期性TX FIFO/请求队列状态寄存器(OTG_FS_GNPTXSTS)OTG_FS通用控制器配置寄存器(OTG_FS_GCCFG)OTG_FS控制器ID寄存器(OTG_FS_CID)OTG_FS主机周期性发送FIFO长度寄存器(OTG_FS_HPTXFSIZ)OTG_FS设备IN端点发送FIFO长度寄存器(OTG_FS_DIEPTXFx)(其中x是FIFO的编号,x=1…4)主机模式下的寄存器OTG_FS主机模式配置寄存器(OTG_FS_HCFG)OTG_FS主机帧间隔寄存器(OTG_FS_HFIR)OTG_FS主机帧号/帧时间剩余寄存器(OTG_FS_HFNUM)OTG_FS主机周期性发送FIFO/请求队列寄存器(OTG_FS_HPTXSTS)OTG_FS主机所有通道中断寄存器(OTG_FS_HAINT)OTG_FS主机所有通道中断屏蔽寄存器(OTG_FS_HAINTMSK)OTG_FS主机端口控制和状态寄存器(OTG_FS_HPRT)OTG_FS主机通道x特性寄存器(OTG_FS_HCCHARx)(此处x代码通道号,x = 0...7)OTG_FS主机通道x中断寄存器(OTG_FS_HCINTx)(其中x代表通道号,x=0...7,)OTG_FS主机通道x中断屏蔽寄存器(OTG_FS_HCINTMSKx)(其中x为通道号,x=0...7) OTG_FS主机通道x传输长度寄存器(OTG_FS_HCTSIZx)(其中x为通道号,x=0...7)设备模式下的寄存器OTG_FS设备配置寄存器(OTG_FS_DCFG)OTG_FS设备控制寄存器(OTG_FS_DCTL)OTG_FS设备状态寄存器(OTG_FS_DSTS)OTG_FS设备IN端点通用中断屏蔽寄存器(OTG_FS_DIEPMSK)OTG_FS设备OUT端点通用中断屏蔽寄存器(OTG_FS_DOEPMSK)OTG_FS设备所有端点中断寄存器(OTG_FS_DAINT)OTG_FS所有端点中断屏蔽寄存器(OTG_FS_DAINTMSK)OTG_FS设备V BUS放电时间寄存器(OTG_FS_DVBUSDIS)OTG_FS设备V BUS脉冲时间寄存器(OTG_FS_DVBUSPULSE)OTG_FS设备IN端点FIFO空中断屏蔽寄存器(OTG_FS_DIEPEMPMSK)OTG_FS设备控制IN端点0控制寄存器(OTG_FS_DIEPCTL0)OTG设备端点x控制寄存器(OTG_FS_DIEPCTLx)(其中x为端点号,x=1…3)OTG_FS设备控制OUT端点0控制寄存器(OTG_FS_DOEPCTL0)OTG_FS设备OUT端点x控制寄存器(OTG_FS_DOEPCTLx)(其中x为端点号,x=1…3) OTG_FS设备端点x中断寄存器(OTG_FS_DIEPINTx)(其中x为端点号,x=0…3)OTG_FS设备端点x中断寄存器(OTG_FS_DOEPINTx)(其中x为端点号,x=0…3)OTG_FS设备IN端点0传输长度寄存器(OTG_FS_DIEPTSIZ0)OTG_FS设备OUT端点0传输长度寄存器(OTG_FS_DOEPTSIZ0)OTG_FS设备端点x传输长度寄存器(OTG_FS_DIEPTSIZx)(其中x为端点号,x=1…3) OTG_FS设备IN端点传输FIFO状态寄存器(OTG-FS_DTXFSTSx)(其中x为端点号,x=0…3)OTG_FS设备端点x传输长度寄存器(OTG_FS_DOEPTSIZx)(其中x为端点号,x=1…3) OTG_FS电源和时钟门控寄存器(OTG_FS_PCGCCTL)以太网寄存器(通信传输控制器)MAC寄存器以太网MAC设置寄存器(ETH_MACCR)以太网MAC帧过滤器寄存器(ETH_MACFFR)以太网MAC Hash列表高寄存器(ETH_MACHTHR)以太网MAC Hash列表低寄存器(ETH_MACHTLR)以太网MAC MII地址寄存器(ETH_MACMIIAR)以太网MAC MII数据寄存器(ETH_MACMIIDR)以太网MAC流控寄存器(ETH_MACFCR)以太网MAC VLAN标签寄存器(ETH_MACVLANTR)以太网MAC远程唤醒帧过滤器寄存器(ETH_MACRWUFFR)以太网MAC PMT控制和状态寄存器(ETH_MACPMTCSR)以太网MAC中断状态寄存器(ETH_MACSR)以太网MAC中断屏蔽寄存器(ETH_MAIMR)以太网MAC地址0高寄存器(ETH_MACA0HR)以太网MAC地址0低寄存器(ETH_MACA0LR)以太网MAC地址1高寄存器(ETH_MACA1HR)以太网MAC地址1低寄存器(ETH_MACA1LR)以太网MAC地址2高寄存器(ETH_MACA2HR)以太网MAC地址2低寄存器(ETH_MACA2LR)以太网MAC地址3高寄存器(ETH_MACA3HR)以太网MAC地址3低寄存器(ETH_MACA3LR)MMC寄存器以太网MMC控制寄存器(ETH_MMCCR)以太网MMC接收中断寄存器(ETH_MMCRIR)以太网MMC发送中断寄存器(ETH_MMCTIR)以太网MMC接收中断屏蔽寄存器(ETH_MMCRIMR)以太网MMC发送中断屏蔽寄存器(ETH_MMCTIMR)以太网MMC1次冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFSCCR)以太网MMC1次以上冲突后发送”好”帧的计数器寄存器(ETH_MMCTGFMSCCR)以太网MMC发送”好”帧的计数器寄存器(ETH_MMCTGFCR)以太网MMC CRC错误接收帧计数器寄存器(ETH_ MMCRFCECR)以太网MMC对齐错误接收帧计数器寄存器(ETH_ MMCRFAECR)以太网MMC接收帧”好”单播帧计数器寄存器(ETH_ MMCRGUFCR)27.8.3。

stm32寄存器写法

stm32寄存器写法

STM32是一种常见的微控制器,其寄存器地址和功能由其ARM Cortex-M内核定义。

下面是一些常见的STM32寄存器操作的方法:
1.直接操作寄存器:这种方法需要直接操作特定的寄存器地址,例如:
__asm("MOV R0, #0"); // 将值0写入寄存器R0
2.使用标准C库函数:STM32提供了许多标准C库函数,可以方便地操作寄
存器,例如:
HAL_GPIO_WritePin(GPIOA, GPIO_PIN_0, GPIO_PIN_RESET); // 将GPIOA的第0位设置为低电平
3.使用HAL库函数:STM32 HAL库提供了一组函数,可以方便地操作寄存
器,例如:
HAL_Delay(1000); // 延时1000毫秒
4.使用标准外设库函数:STM32标准外设库函数可以方便地操作寄存器,例
如:
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.Pin = GPIO_PIN_0;
GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
GPIO_InitStruct.Pull = GPIO_NOPULL;
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); // 初始化GPIOA的第0位为输出模式
以上是一些常见的STM32寄存器操作方法,具体使用哪种方法取决于具体的项目需求和开发环境。

STM32外设寄存器简介及简单用法

STM32外设寄存器简介及简单用法
STM32外设寄存器简介及简单用法
STM32外设有哪些?
外设指的是单片机外部的外围功能模块,比如键盘控制芯片,液晶,A/D
转换芯片,等等。外设可通过单片机的I/O,SPI,I2C等总线控制。
Smt32外设有以下几类寄存器:
1.控制寄存器CR:配置、控制相应外设工作方式
2.数据寄存器DR:存储外设进行输入输出的数据
USART收发函数为USART_RECEIVEDATA()USART_SENDDATA
()
状态寄存器SR
对外设工作状态进行检查。假如外设进行完成了某一事件,完成的标志就
会储存在状态寄存器SR中。
假如将串口的接收与发送都设置为中断,那幺如何才能确定是由什幺时间
触发的中断呢?这就可以从状态寄存器中读取标志位了。
标志位检查的库函数
GETFLAGSTATUS()GETITSATUS()
功能为读取事件标志位和中断标志位状态
USART_GETFLAGSTபைடு நூலகம்TUS()读取串口标志位
EXIT_GETFLAGSTATUS()读取EXIT线状态
那幺清除标志位的函数为CLEARFLAG()清除事件标志位
CLEARITPENGDINGBIT()清除挂起中断标志位
3.状态寄存器SR:存储当前外设的运行状态(标准位,状态位)
控制寄存器CR结构体初始化代码:
1. GPIO_initTypedef用来配置GPIO
2. NVIC_InitTypedef配置NVIC
3. EXTI_InitTypede配置EXTI
4. USART_InitTypede配置USART
控制寄存器使用库初始化外设步骤:
1.定义1个InitTypedef类型初始化结构体
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

PLLXTPRE:HSE 分频器作为 PLL 输入(HSE divider for PLL entry)。由软件
置‘1’或清‘0’来分频 HSE 后作为 PLL 输入时钟。只能在关闭 PLL 时才能
写入此位。
0:HSE 不分频; 1:HSE 2 分频
PLLSRC:PLL 输入时钟源(PLL entry clock source)。由软件置‘1’或清‘0’
保 HSI HSI
留 RDY ON
位 31:26 位 25 位 24
位 23:20 位 19 位 18
位 17
位 16
位 15:8 位 7:3
保留,始终读为 0。 PLLRDY:PLL 时钟就绪标志(PLL clock ready flag)。PLL 锁定后由硬件置‘1’。 0:PLL 未锁定; 1:PLL 锁定。 PLLON:PLL 使能(PLL enable)。由软件置‘1’或清零。当进入待机和停止 模式时,该位由硬件清零。当 PLL 时钟被用作或被选择将要作为系统时钟时, 该位不能被清零。 0:PLL 关闭; 1:PLL 使能。 保留,始终读为 0。 CSSON:时钟安全系统使能(Clock security system enable)。由软件置‘1’或 清零以使能时钟监测器。 0:时钟监测器关闭; 1:如果外部 4-16MHz 振荡器就绪,时钟监测器开启。 HSEBYP:外部高速时钟旁路(External high-speed clock bypass)。在调试模式 下由软件置‘1’或清零来旁路外部晶体振荡器。只有在外部 4-16MHz 振荡器 关闭的情况下,才能写入该位。 0:外部 4-16MHz 振荡器没有旁路; 1:外部 4-16MHz 外部晶体振荡器被旁路。 HSERDY:外部高速时钟就绪标志(External high-speed clock ready flag)。由硬 件置‘1’来指示外部 4-16MHz 振荡器已经稳定。在 HSEON 位清零后,该位 需要 6 个外部 4-16MHz 振荡器周期清零。 0:外部 4-16MHz 振荡器没有就绪; 1:外部 4-16MHz 振荡器就绪。 HSEON:外部高速时钟使能(External high-speed clock enable)。由软件置‘1’ 或清零。当进入待机和停止模式时,该位由硬件清零,关闭 4-16MHz 外部振荡 器。当外部 4-16MHz 振荡器被用作或被选择将要作为系统时钟时,该位不能被 清零。 0:HSE 振荡器关闭; 1:HSE 振荡器开启。 HSICAL[7:0]:内部高速时钟校准(Internal high-speed clock calibration)。系统 启动时,这些位被自动初始化。 HSITRIM[4:0]:内部高速时钟调整(Internal high-speed clock trimming)。由软 件写入来调整内部高速时钟,它们被叠加在 HSICAL[7:0]数值上。这些位在
位0
HSION:内部高速时钟使能(Internal high-speed clock enable)。由软件置‘1’
或清零。当从待机和停止模式返回或用作系统时钟的外部 4-16MHz 振荡器发生
故障时,该位由硬件置‘1’来启动内部 8MHz 的 RC 振荡器。当内部 8MHz
振荡器被直接或间接地用作或被选择将要作为系统时钟时,该位不能被清零。
1
《基于 ARM Cortex-M3 的 STM32 系列嵌入式微控制器应用实践》——彭刚、秦志强
HSICAL[7:0]的基础上,让用户可以输入一个调整数值,根据电压和温度的变
化调整内部 HSI RC 振荡器的频率。默认数值为 16,可以把 HSI 调整到 8MHz
±1%;每步 HSICAL 的变化调整约 40kHz。
来选择 PLL 输入时钟源。只能在关闭 PLL 时才能写入此位。
0:HSI 振荡器时钟经 2 分频后作为 PLL 输入时钟;
1:HSE 时钟作为 PLL 输入时钟。
ADCPRE[1:0]:ADC 预分频(ADC prescaler)。由软件置‘1’或清‘0’来确
定 ADC 时钟频率。
00:PCLK2 2 分频后作为 ADC 时钟; 时钟(HSE)输出; 111:PLL 时钟 2 分频后输出。
注意:该时钟输出在启动和切换 MCO 时钟源时可能会被截断。在系统时钟作
为输出至 MCO 引脚时,要保证输出时钟频率不超过 50MHz(I/O 口最高频率)。
保留
USBPRE:USB 预分频(USB prescaler)。由软件置‘1’或清‘0’来产生 48MHz
9
LSE RDYIE
8
LSI RDYIE
7
CSSF
65
保留
4
PLL RDYF
3
HSE RDYF
2
HSI RDYF
1
LSE RDYF
0
LSI RDYF
位 31:24 位 23
位 22:21 位 20
位 19
位 18
位 17
位 16
位 15:13 位 12
位 11
位 10
位9
保留,始终读为 0。 CSSC:清除时钟安全系统中断(Clock security system interrupt clear)。由软件 置‘1’来清除 CSSF 安全系统中断标志位 CSSF。 0:无作用; 1:清除 CSSF 安全系统中断标志位。 保留,始终读为 0。 PLLRDYC:清除 PLL 就绪中断(PLL ready interrupt clear)。由软件置‘1’来 清除 PLL 就绪中断标志位 PLLRDYF。 0:无作用; 1:清除 PLL 就绪中断标志位 PLLRDYF。 HSERDYC:清除 HSE 就绪中断 (HSE ready interrupt clear)。由软件置‘1’来 清除 HSE 就绪中断标志位 HSERDYF。 0:无作用; 1:清除 HSE 就绪中断标志位 HSERDYF。 HSIRDYC:清除 HSI 就绪中断(HSI ready interrupt clear)。由软件置‘1’来 清除 HSI 就绪中断标志位 HSIRDYF。 0:无作用; 1:清除 HSI 就绪中断标志位 HSIRDYF。 LSERDYC:清除 LSE 就绪中断(LSE ready interrupt clear)。由软件置‘1’来 清除 LSE 就绪中断标志位 LSERDYF。 0:无作用; 1:清除 LSE 就绪中断标志位 LSERDYF。 LSIRDYC:清除 LSI 就绪中断(LSI ready interrupt clear)。由软件置‘1’来清 除 LSI 就绪中断标志位 LSIRDYF。 0:无作用; 1:清除 LSI 就绪中断标志位 LSIRDYF。 保留,始终读为 0。 PLLRDYIE:PLL 就绪中断使能(PLL ready interrupt enable)。由软件置‘1’ 或清‘0’来使能或关闭 PLL 就绪中断。 0:PLL 就绪中断关闭; 1:PLL 就绪中断使能。 HSERDYIE:HSE 就绪中断使能(HSE ready interrupt enable)。由软件置‘1’ 或清‘0’来使能或关闭外部 4-16MHz 振荡器就绪中断。 0:HSE 就绪中断关闭; 1:HSE 就绪中断使能。 HSIRDYIE:HSI 就绪中断使能 (HSI ready interrupt enable)。由软件置‘1’或 清‘0’来使能或关闭内部 8MHz RC 振荡器就绪中断。 0:HSI 就绪中断关闭; 1:HSI 就绪中断使能。 LSERDYIE:LSE 就绪中断使能(LSE ready interrupt enable)。由软件置‘1’ 或清‘0’来使能或关闭外部 32kHz RC 振荡器就绪中断。
保留
PLL PLL
RDY ON
复位值:0x0000 XX83,X 代表未定义。
23 22 21 20 19 18 17 16
保留
CSS HSE HSE HSE
ON BYP RDY ON
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
HSICAL[7:0]
HSITRIM[4:0]
位2
保留,始终读为 0。
位1
HSIRDY:内部高速时钟就绪标志(Internal high-speed clock ready flag)。由硬
件置‘1’来指示内部 8MHz 振荡器已经稳定。在 HSION 位清零后,该位需要
6 个内部 8MHz 振荡器周期清零。
0:内部 8MHz 振荡器没有就绪; 1:内部 8MHz 振荡器就绪。
0:内部 8MHz 振荡器关闭; 1:内部 8MHz 振荡器开启。
(2)时钟配置寄存器(RCC_CFGR) 首地址:0x4002,1000 地址偏移:0x04 复位值:0x0000 0000。 访问:0 到 2 个等待周期,字、半字和字节访问。只有当访问发生在时钟切换时,才会插入 1 或 2 个等待周期。
32 SWS[1:0]
10 SW[1:0]
位 31:27 位 26:24
位 23 位 22
位 21:18
保留,始终读为 0。
MCO:微控制器时钟输出(Microcontroller clock output)。由软件置‘1’或清 零。
0xx:没有时钟输出;
100:系统时钟(SYSCLK)输出;
101:内部 RC 振荡器时钟(HIS)输出;
的 USB 时钟。在 RCC_APB1ENR 寄存器中使能 USB 时钟之前,必须保证该位 已经有效。如果 USB 时钟被使能,该位不能被清零。 0:PLL 时钟 1.5 倍分频作为 USB 时钟; 1:PLL 时钟直接作为 USB 时钟。
PLLMUL:PLL 倍频系数(PLL multiplication factor)。由软件设置来确定 PLL 倍频系数。只有在 PLL 关闭的情况下才可被写入。 注意:PLL 的输出频率不能超过 72MHz。 0000:PLL 2 倍频输出; 1000:PLL 10 倍频输出;
相关文档
最新文档