第03章stm32系列微控制器存储器与外设_第1页
第03章stm32系列微控制器存储器与外设_第2页
第03章stm32系列微控制器存储器与外设_第3页
第03章stm32系列微控制器存储器与外设_第4页
第03章stm32系列微控制器存储器与外设_第5页
已阅读5页,还剩430页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章STM32系列微控制器器与外Cortex-M3(I-bus)(D-bus)(S-AHBAPB(AHB2APBx)APB设备这些通过一个多级的AHB总线构架相互连接,如图3.1所示:着内核和DMA间的。此总线矩阵由三个驱动部件(CPU的DCode、系统总线和DMA总线)和三个部件(闪存存AHB/APBAHB/APBAHBAPB总线之间提供完全同步的连接。APB1被限制36MHz,APB2工作在全速状态(根据设备的不同可以达到72MHz)。所有未分配给片上器或外设的区域被视为是保留的(图3.2中灰色阴影部分)图3.2器映3.10x40022400-0x40020x40022000-0x40020x40021400-0x40020x40021000-0x40020x40020400-0x40020x40020000-0x40020x40013C00-0x40010x40013800-0x40010x40013400-0x40010x40013000-0x4001SPI0x40012C00-0x40010x40012800-0x40010x40012400-0x40010x40012000-0x40010x40011800-0x4001GPIO0x40011400-0x4001GPIO0x40011000-0x4001GPIO0x40010C00-0x4001GPIO0x40010800-0x4001GPIO0x40010400-0x40010x40010000-0x40010x40008000-0x40000x40007000-0x4000电源控制0x40006C00-0x4000备份寄存器0x40006800-0x40000x40006400-0x40000x40006000-0x4000共享的USB/CAN5120x40005C00-0x4000USB0x40005800-0x40000x40005400-0x40000x40005000-0x40000x40004800-0x40000x40004400-0x40000x40004000-0x40000x40003800-0x40000x40003400-0x40000x40003000-0x4000独立的看门狗0x40002C00-0x4000窗口看门狗0x40002800-0x40000x40002400-0x40000x40000800-0x4000TIM40x400004000x4000 TIM30x400000000x4000 TIM2,SRAM的起始地址为0x20000000。bit_word_addr=bit_band_base+(byte_offsetx32)+(bit_number×−bit_word_addr是别名器区中字的地址,它映射到某个目标位bit_band_basebyte_offsetbit_number是目标位所在位置(0-下面的例子说明如何映射别名区中SRAM地址为0x =0x +(0x300*32)+(2*4).对0x 地址的写操作和对SRAM中地址0x 读0x 地址返回SRAM中地址0x 请参考《Cortex-M3技术参考手册》以了解有关位段的信息。128K 16K64bits.1281K25864bits.2页(2K字节)16字节。带预取缓存的读接口(2×64位字//页0x0801页0x0801FC00-0x08011K器0x1FFFF000-0x1FFF2K0x1FFFF800-0x1FFF闪存0x40022000-0x40024闪存0x40022004-0x40024闪存0x40022008-0x40024闪存0x4002200C-0x40024 闪存0x40022010-0x40024器闪存0x40022014-0x400240x40022018-0x40024闪存0x4002201C-0x40024闪存0x40022020-0x400240x40022024-0x4002页0x08000000-0x0800页0x08000400-0x08001K页0x08000800-0x0800页0x08000C00-0x0800主页0x08001000-0x0800……………… 半周期:此这个特性只能和直接来自8MHzRC振荡器的时钟或者和主振荡器一起使用。在每一次传输后都会有一个空闲周期,一些指令可以和DMA传输一起执行。写操作(编程或者擦除)FLITF时钟使能的情况下,该中WFI(等待中断)WFI后才被处理。如表3.3所示 Boot模 系统 即使被映射到启动器空间,相关的器(闪存器或者SRAM)在原先的当启动延时,CPU开始从启动空间(定位在器地址空间的底端,并且在生产的时候由ST公司编程好。3.6(VDDVREF+VREF-上,VREF+2.4V到-VDDRTC功能,VBAT引脚可以连接到VDDtRSTTEMPO阶段,VBATVDDVBATVDD迅VBATVDD-0.6V的时候可能会有一个VDDVBATVBATtRSTTEMPO的值可以参考如果应用中没有使用外部电池,VBATVDDVDD供电的时候(模拟开关连接到VDD),下面的功能可用:由于开关仅仅下降一定量的电流,GPIOsPC13PC15的使用被限制了:每次仅能够使用I/O30pF2MHzIOs不能够用于电流源(例如用来驱动LED)运行模式中,调节器以正常功耗模式向1.8V区域(内核, 你可以使用PVD来监视VDD的电源供应,这是通过将VDD和寄存器PWR_CR的OLS[0:PVD输出中断。例如,服务程序可以执行紧急关闭任务。3.5:PVD睡眠模式(Cortex-M3内核停止,外设继续工作停止模式(所有的时钟停止待机模式(1.8V区域掉电1.8V器CPUCLK无PDDS任何HIS和HSE(1.8V寄存器HSIHSE位、频寄存器来降低。这些分频器同样可以被用来在进入睡眠模式前降低外设的时钟速率。式进入机制,这取决于Cortex-M3系统控制寄存器中的SLEEPONEXIT位:SLEEP-ON-EXIT:SLEEPONEXITWFIWFE指令被执行了,置为模式的外部中断线上的。请参照表3.5和表3.6以获得如何退出睡眠模式的细节。立即睡 描 SLEEPDEEP=0并且 如果WFI被用于进入,唤醒延 退出时睡 描进入模 HIS和HSERC振荡器的功能被,SRAM和寄存器内容被保留下来。以通过电源控制寄存器(PWR_CR)的LPDS位来设置。如果APB区域的正在进行,停止模式的进入被延APB被完成。独立的看门狗(IWDGIWDG通过写入它的关键寄存器或者硬件选项来启动。一旦启(RTCOSC位LSEON位设置。当通过产生一个中断或者一个唤醒退出停止模式时,HSIRC振荡器被选择为系统进入模 WFI(等待中断)或者WFE(等待)当–了PWR_CR寄存器中的PDDSEXTI线挂起位(在挂起EXTI_PR中)RTC闹钟标志必须被复位,否则停退出模式WFI在NVIC中必须使能)请参照表3.27:向量表唤醒延 HISRC唤醒时间+调节器从低功耗唤醒的时Cortex-M3的深度睡眠模式,同时必须将电压调节器禁用,1.8V区域因此也被断电,PLL、HISHSE振荡器同样也被关掉。除了备份区域的寄存器和待机电路之外的SRAM和寄存器的内容被丢失(参照3.3)。独立的看门狗(IWDG)IWDG通过写入它的关键寄存器或者通过硬件选项来启动。3.9.1节:独立的看门狗(IWDG)。RC振荡器(LSIRC):通过控制/状态寄存器(RCC_CSR)LSION位来配32.768kHz(LSEOSC):通过备份区域控制寄存器(RCC_BDCR)中的LSEON位来配置该振荡器。控制器退出待机模式。所有的寄存器(除了电源控制/PWR_CSR外)在从待机式重新开始执行。电源控制/PWR_CSRSBFMCU是否进入模 WFI(等待中断)orWFE(等待)当–置位电源控制寄存器(PWR_CR)PDDS退出模 WKUP引脚上的上升沿RTC闹钟NRST引脚上的外部复位和 待机模式中的I/O状态复位缓引脚(仍旧可用份区域控制寄存器(RCC_BDCR)的RTCSEL[1:0]位的编程,三个RTC时中的二个时钟32.768kHz(LSE这个时为每个低功耗消费提供一个精准的时间基数(在传统的情况下少于1μA的EXTI1700000000000000000000h)(从待机模式唤醒时复位位 保留,总是读到位 在复位状态,RTC寄存器和备份寄存器被保护免于寄生的写。0:RTC寄存器和备份寄存位 000:001:010:011:100:101:110:注意:细节请参照的电子特位4 0:PVD禁用1:PVD位3 该位总是读到0。0:1:SBF待机标志(写)位2 该位总是读到0。0:1:在2个系统时钟周期后唤醒标志WUF(写位 0:当CPULPDS1:CPU位 0:1:复位值:00000000000000000000h)从待机模式唤醒时并不复位 保留,总是读到位8 0:WKUP引脚被用于通用的I/O,该引脚上的并不会将设备从待机模式1:WKUP 保留,总是读到位 位 SBF:待机标POR/PDR(上电复位/掉电复位)或者置位电源控制寄存器(PWR_CR)的CSBF位来0:1:位 POR/PDR(上电复位/掉电复位)或者置位电源控制寄存器(PWR_CR)的CWUF位来。0:没有唤醒发存器除外(请看3.3)。NRST引脚上的低电平(外部复位(WWDG复位(IWDG复位(SW复位请参阅软件复位部分Cortex-M3SYSRESETREQ位必须被置位以强制设备被软件复位。的细节,请参阅Cortex-M3technicalreferencemanual电源上电/(POR/PDR复位图NRST引脚并且使之在延时阶段总是保持低,复位服务程序向量在器映射表中的地址为:0x0000_0004。3个不同的时可以被用于驱动系统时钟HSIHSEPLL32kHzRC(LSIRC)用来驱动独立的看门狗和选择性的驱动用于从停止/待机模式自动唤醒的RTC32.768kHz低速外部晶体振荡器(LSE晶体振荡器)用来选择性的驱动实时时钟 APB(APB2是1的话,定时器的时钟和它所连接到的APB区域的时钟频率是一样的。ReferenceManual.HSE外部晶体/陶瓷HSE3.8:HSE/LSE时外部时(HSE旁路在该模式下,必须提供外部的时,外部时可以达到25MHz,你可以通过设置时钟控制寄存器(RCC_CR)HSEBYPHSEON50%的外部高阻状态。(请看图3.8)外部晶体/陶瓷器(HSE晶体4-16MHz的外部振荡器具有能够在主时钟上产生一个非常精确的速率的优点。HIS8MHz的内部RC振荡器产生,并且可以被直接用作系统时钟,或者经过2分频后作为PLL的输入。过时钟控制寄存器(RCC_CR)中的HSITRIM[4:0]位来调整HIS的频率。在启动的时候,HISRC振荡器输出时钟并没有被释放,直到该标志位被硬件置位。HISRC振荡器可以通过时钟控制寄存器(RCC_CR)HSION位打开或者禁用。当HSE晶体振荡器失效时,HIS信号同样也能用作备用时。(RCC_CR时钟,和其他一些倍频参数PLL启动,配置好的参数不能够被修改。当PLL准备好了并且在时钟中断寄存器中的中断使能了的话,将会产生一个中断。LSE振荡器是一个32.768kHz的低速外部晶体或者陶瓷器,他具有向于时钟/日历以及其他一些计时功能实时时钟(RTC)以低功耗提供高精准时的优点。域控制寄存器(RCC_BDCR)LSEBYPLSEON位来选择该模式。占空比为50%引脚必须被设为高阻状态。(3。LSIRC振荡器作为一个低功耗时,可以为独立的看门狗(IWDG)和自动唤醒单AWU之间)的细节,请参阅的电子特性部分LSIRC振荡器可以通过控制/状态寄存器(RCC_CSR)LSION位来打开或者禁用,在系统复位之后,HIS振荡器被选作系统时钟。当一个时被直接或者通过PLL间HSE振荡器启动延时HSE振荡器时钟上检测到一个失效,这个CSSI措施。CSSI被连接到Cortex-M3的NMI(不可中断)异常向量。CSSHSE时钟失效后,CSSNMI,NMI将会被无限执行下去直到CSS中断挂起位被。因此,在NMI的ISR中,用户必须通过置位时钟中断寄存器(RCC_CIR)的CSSC位来CSS中断。HSE振荡器被直接或者间接的用作系统时钟(PLL输入时是用作系统时钟PLL的时钟,PLL也会被禁用RTCCLK时可以是HSE/128,LSE或者LSI时钟,这可以通过编程备份区域控制寄存器(RCC_BDCR)的RTCSEL[1:0]位来选择,这个选择只有通过复位备份区域才能修并且不能够被禁用,在LSI振荡器开始工作后,它的时钟被提供给IWDG。的复位值:0000XX83h,X位 保留,总是读到位25 PLLRDYPLL时钟可用标志硬件置位以指示PLL被锁定。0:PLL没被锁定1:PLL位 PLL使0:PLL1:PLL位 保留,总是读到位 CSSON时钟安全系统使0:1:如果外部1-25MHz的振荡器准备好了,则时钟检测器打开位18 HSEBYP外部高速时钟旁路0:外部1-25MHz振荡器未被旁路。1:外部1-25MHz振荡器和外部时钟一起被旁路。位17 HSERDY外部高速时钟可用标志位需要6个周期的外部1-25MHz振荡器时钟才。1:外部1-25MHz振荡器可用位16 HSEON外部高速时钟使能0:HSE1:HSE位 HSITRIM[4:0]内部高速时钟调整该域可以调整电压和温度的改变给内部HISRC的频率带来的变化。位 保留,总是读到位 HSIRDY内部高速时钟可用标8MHzRCHSION复位之后,该位需要6个周期的内部8MHz的RC振荡器时钟才能。0:8MHzRC1:8MHzRC位0 HSION内部高速时钟使能0:8MHzRC1:8MHzRC复位值:0000:0<=等待周期<=2,能以字,半字,和字节的方式当且仅当在时切换时进行的话,插入1或2个等待周期。位 保留,总是读到位 MCO微控制器时钟输0xx:100:101:8MHz的RC注意选择输出到MCO,请确保该时钟没有超过50MHz(最大的I/O速度)位 保留,总是读到位 USB预分频48MHzUSBRCC_APB1ENR0:PLL时钟1.5分频1:PLL位 PLLMULPLL倍频参PLLPLL被禁能时才能写0000:PLL输入时钟x2位1000PLLx1001PLLx1010PLLx位 HSE分频后作为PLL输0:HSE1:HSE2位 PLL输入时0:HSI2sPLL1:HSE振荡器时钟被选作PLL输入时钟 ADCPREADC预分频器00:00:PLCK2201:01:PLCK2410:PLCK2611:PLCK28位 PPRE2APB高速预分频器0xx:HCLK100:HCLK2101:HCLK4110:HCLK8111:HCLK16位 PPRE1APB低速预分频器:0xx:HCLK未被分频100:HCLK2101:HCLK4110:HCLK8111:HCLK被16分频位 HPREAHB预分频0xxxSYSCLK1000SYSCLK21001SYSCLK41010SYSCLK81011SYSCLK161100:SYSCLK641101:SYSCLK128位 SWS系统时钟转换状00:HSI振荡器被用作系统时钟01:HSE10:PLL11:位 SW系统时钟切01:HSE10:10:PLL11:地址偏移:08h0000位 保留,总是读到位23 CSSC时钟安全系统中断由软件置位以CSSF。0:CSSF1:CSSF位 保留,总是读到位 0:PLLRDYF未被1:PLLRDYF位 HSERDYCHSE可用中由软件置位以HSERDYF。0:HSERDYF未被1:HSERDYF位 由软件置位以HSIRDYF.0:HSIRDYF未被1:HSIRDYF位 LSERDYCLSE可用中由软件置位以LSERDYF.0:LSERDYF未被1:LSERDYF位 由软件置位以0:LSIRDYF1:LSIRDYF位 保留,总是读到位 0:PLL1:PLL位 HSERDYIEHSE可用中断使0:HSE1:HSE位 HSIRDYIEHSI可用中断使0:HSI1:HSI位 LSERDYIELSE可用中断使0:LSE1:LSE位 32kHz的RC振荡器稳定而引起的中断进行使能/0:LSI1:LSI位7 CSSF时钟安全系统中断标志通过软件写CSSC复位位 保留,总是读到位4 PLLRDYFPLL可用中断标志1:PLL位3 HSERDYFHSE可用中断标志位2 HSIRDYFHSI可用中断标志0:8MHz的RC1:内部8MHzRC振荡器引起的时钟可用中断。位1 LSERDYFLSE可用中断标志位0 LSIRDYFLSI可用中断标志APB20000位 保留,总读到位 USART1RSTUSART1复0:1:位 保留,总读到位 SPI1RSTSPI1复0:1:SPI位 TIM1RSTTIM1定时器复0:1:TIM1位 ADC2RSTADC2接口复0:1:ADC2位 ADC1RSTADC1接口复0:1:ADC1位 保留,总读到位6 IOPERSTI/O端口E复位0:位5 IOPDRSTI/O端口D复位0:1:I/O位4 IOPCRSTI/O端口C复位0:1:I/O位3 IOPBRSTI/O端口B复位0:1:I/O位2 IOPARSTI/O端口A复位0:1:I/O位 保留,总读到位0 AFIORST复用功能的I/O复位0:1:APB10000位 保留,总是读到位28 PWRRST电源接口复位0:1:位27 BKPRST备份接口复位0:1:位 保留,总是读到位 CANRSTCAN复0:1:位 保留,总是读到位 USBRSTUSB复0:1:位 I2C2RSTI2C2复0:位21 2C1RSTI2C1reset0:无效1:I2C位[20:19]位 USART3RSTUSART3复0:1:USART位 USART2RSTUSART2复0:1:USART位[16:15]位 SPI2RSTSPI2复0:位[13:12]位11 WWDGRST窗口看门狗复位0:1:位 保留,总是读到位2 0:1:Timer位1 0:1:timer位 TIM2RSTTimer2复0:1:timer0000位 保留,总读到位 FLITF时钟使位 保留,总读到位 SRAMENSRAM接口时钟使位 保留,总读到位0 DMAENDMA时钟使能0:DMA1:DMA地址偏移:18h复位值:0000当前的这个APB2外设的结束。位 保留,总读到位 0:USART11:USART1位 保留,总读到位 SPI1ENSPI1时钟使0:SPI11:SPI1位 IM1ENTIM1定时器时钟使Bit1:TIM1位10 ADC2ENADC2接口时钟使能Bit0:ADC21:ADC2位9 ADC1ENADC1接口时钟使能0:ADC11:ADC1位 保留,总读到位6 IOPEENI/O端口E时钟使能0:I/OE1:I/OE位5 IOPDENI/O端口D时钟使能0:I/OD1:I/OD位4 IOPCENI/O端口C时钟使能0:I/OC1:I/OC位3 IOPBENI/O端口B时钟使能0:I/OB1:I/OB位2 IOPAENI/O端口A时钟使能0:I/OA1:I/OA位 保留,总读到位0 AFIOEN复用功能的I/O时钟使能0:I/O1:I/O复位值:0000当前的这个APB1外设的结束。位 保留,总读到位 PWREN电源接口时钟使0:1:位 BKPEN备份接口时钟使0:1:位 保留,总读到位 CANENCAN时钟使0:CAN1:CAN位 保留,总读到位23 USBENUSB时钟使能0:USB时钟禁用1:USB位 I2C2ENI2C2时钟使0:I2C21:I2C2位 I2C1ENI2C1时钟使0:I2C11:I2C1位 保留,总读到位 USART3ENUSART3时钟使0:USART31:USART3位 USART2ENUSART2时钟使0:USART21:USART2位 保留,总读到位 SPI2ENSPI2时钟使0:SPI21:SPI2位 保留,总读到位11 WWDGEN窗口看门狗时钟使能0:1:位 保留,总读到位2 TIM4EN定时器4时钟使能0:41:4位1 TIM3EN定时器3时钟使能0:31:3位0 TIM2EN定时器2时钟使能0:21:200000000h:0<=3备份区域控制寄存器(RCC_BDCR)LSEONLSEBYPRTCSELRTCEN位在备VBAT电源上电后复位。位[31:17]位 BDRST备份区域软件复0:1:位15 0:RTC时钟禁用1:RTC位[14:10]位 RTCSEL[1:0]RTC时选除非备份区域复位。BDRST位可以用来复位它们00:位 保留,总读到位 LSEBYP外部低速振荡器旁0:LSE1:LSE位 LSERDY外部低速振荡器可0:32kHz1:32kHz位0 LSEON外部低速振荡器使能0:32kHz1:32kHz复位值:0C000000h,除复位标志外都由系统复位,复位标志只能由电源复位:0<=等待周期<=3,能以字,半字和字节的方式。位 0:1:位30 WWDGRSTF窗口看门狗复位标志0:1:位29 IWDGRSTF独立的看门够复位标志通过软件写RMVF位复位。0:1:位28 SFTRSTF软件复位标志通过软件写RMVF位复0:1:位 0:POR/PDR1:POR/PDR位26 PINRSTF引脚复位标志位 保留,总是读位 RMVF移除复位标 位 LSIRDY内部低速振荡器可0:LSI(32kHzRC振荡器)1:LSI(32kHzRC振荡器)位0 LSION内部低速振荡器使能0:32kHzRC1:32kHzRC3.10通用I/O和备用I/O(GPIO和I/O232位的配置寄存器(GPIOx_CRLGPIOx_CRH),232位一个16位的复位寄存器(GPIOx_BRR)和一个32位的锁定寄存器(GPIOx_LCKR)。每个I/O端口位可以自由的编程,尽管I/O端口寄存器必须以32位字的方式(不允许以半字或者字节的方式。GPIOx_BSRR和GPIOx_BRR寄存器的目的就是用来GPIO寄存器进行原子的读/IRQ(中断请求)发生在000101010011001PA15:JTDI处于上拉模式PA14:JTCK处于下拉模式PA13:JTMS处于上拉模式PB4:JNTRST输出驱动用于推挽模式或者开漏模式(仅当输出0时N-MOS是激活的。输入数据寄存器(GPIOx_IDR)APB2I/O引脚的数据。所1来选择你想修改的位来实现的,未被选择的位将不会被修改。外部中断的信息,请参阅: 3.5.2节:外部中断/控制 节:唤醒管 输入模式(浮空,推挽,下拉 对于复用功能输出,端口必须配置为复用功能输出模式(推挽或者开漏 其他的引脚,这是通过软件编程相关的寄存器完成的(AFIO寄存器描述。在这种 开漏模式:A:输出寄存器上的“0”N-MOS激活,而输出寄存器上的“1”将端口置于高阻状态时(P-MOS不会被激活。 3.12 复位值:4444位31:3023:2219:1815:1411:10

CNFx[1:0]:x(y=0在输入模式中00:01:(复位状态10:上拉/11:在输出模式(MODE[1:0]00:01:10:复用功能位29:2825:2421:2017:1613:12 5:4,

11:00:输入模式(复位状态01:1010:211:50复位值:4444位,CNFy[1:0]:x(y=8在输入模式中,00:,01:(复位,10:上拉/位29:28, 5:4,

11:在输出模式(MODE[1:0]00:01:10:11:MODEy1:0]x(y=800:输入模式(复位状态01:1010:211:50 位 保留,总是读到位 IDRy[15:0]:端口输入数据(y=0..复位值:位 保留,总是读到位 ODRx[15:0]:端口输出数据(x=0..来置位或复位ODR位。复位值:0000BRy:端口xyy0。1:ODRx注意:BSxBRxBSxBSy:x置位位y(y=0..15)。1:ODRx复位值:0000位 保位 BRy:端口x复位位y(y=0..1:ODRx每个锁定位冻结控制寄存器(CRL,CRH)4个位。地址偏移:18h0000位 保位 LCKK:锁0:1:GPIOx_LCKRMCU发生复位写1写写读1(这次读是可选的但是证实了锁键被激活)位 LCKx:锁定位x(x=0..0:1:AFI/O配置寄存器(AFIO_MAPR)实OSC32_IN/OSC32_OUTGPIO当LSELSE振荡器引脚OSC32_IN和OSC32_OUTI/OPC14和PC15。LSE优先级高于GPIOs功能不再供电,PC14/PC15GPIO功能丢失。这种情况下IOs设置为模拟输入模式使用OSC_IN/OSC_OUT引脚作为GPIO将外部振荡器引脚OSC_IN/OSC_OUT用作通用I/OPD0/PD1。BXCAN3.13BXCAN中的1.仅当不使用异步时释放射如表3.16和表3.19中所列。 USART3.23I2C11.重映射在SPI13.24SPI10x0000位 保位 EVOE输出使PIN[3:0]位选择的I/O位 001:PB010:PC011:PD100:PE位 PIN[3:0]引脚选择(x=A..0000:Px0被选0001Px10010Px20011Px3AF重映射和调试I/O配置寄存器0x0000位 保位 SWJ_CFG[2:0]:串行线JTAG配引脚上发送一个特定的序列来使能JTAG或者SW模式。000:SWJ(JTAG-DPSW-DP):001:SWJ(JTAG-DPSW-DP)010:JTAG-DPSW-DP位23:16 位 PD01_REMAP:端口D0/D1映射到PDOSC_INOSC_OUT36,4864引脚封装上可用(PD0PD1在TQFP100封装上可用,并且不需要重映射)0:PD0PD11:PD0重映射到OSC_IN,PD1重映射到OSC_OUT,位14:13 CAN_REMAP[1:0]:CAN复用功能重映射00:CANRXPA11CANTX01:10:CANRXPB8CANTXPB936引脚封装不可用11:CANRX映射到PD0,CANTX映射到PD1(仅当100引脚封装时可用)位12 TIM4_REMAP:定时器4重映射0:无重映射(TIM4_CH1/PB6,TIM4_CH2/PB7,TIM4_CH3/PB8,1:完全重映射(TIM4_CH1/PD12TIM4_CH2/PD13TIM4_CH3/PD14,注意:在PE0上的TIM4_ETR没有被重映射位11:10 TIM3_REMAP[1:0]定时器3重映射00:无映射(CH1/PA6CH2/PA7CH3/PB001:10:(CH1/PB4CH2/PB5CH3/PB011:(CH1/PC6CH2/PC7CH3/PC8位9:8 TIM2_REMAP[1:0]:定时器2重映射Bits00:(CH1/ETR/PA0CH2/PA1CH3/PA201:(CH1/ETR/PA15CH2/PB3CH3/PA210:(CH1/ETR/PA0CH2/PA1CH3/PB1011:(CH1/ETR/PA15CH2/PB3CH3/PB10位 TIM1_REMAP[1:0]:定时器1重映00:无重映射(ETR/PA12CH1/PA8CH2/PA9CH3/PA10CH4/PA11,BKIN/PB12,CH1N/PB13,CH2N/PB14,CH3N/PB15)01:(ETR/PA12CH1/PA8CH2/PA9CH3/PA10CH4/PA11,BKIN/PA6,CH1N/PA7,CH2N/PB0,CH3N/PB1)10:11:(ETR/PE7CH1/PE9CH2/PE11CH3/PE13CH4/PE14,BKIN/PE15,CH1N/PE8,CH2N/PE10,CH3N/PE12)位 用功能在GPIO端口上的映射。00:(TX/PB10RX/PB11CK/PB12CTS/PB1301:(TX/PC10RX/PC11CK/PC12CTS/PB1310:11:(TX/PD8RX/PD9CK/PD10CTS/PD11位 在GPIO端口上的映射。0:(CTS/PA0RTS/PA1TX/PA2RX/PA21:重映射(CTS/PD3RTS/PD4TX/PD5RX/PD6位 的映射ItcontrolsthemapofUSART1TXandRXalternatefunctionsontheGPIOports.0:无重映射(TX/PA9,RX/PA10)1:(TX/PB6位 I2C1_REMAPI2C1重映0:无重映射(SCL/PB61:(SCL/PB8位 SPI1_REMAPSPI1重映GPIO端口上的映射。0:无重映射(NSS/PA4SCK/PA5MISO/PA61:(NSS/PA15SCK/PB3MISO/PB3复位值:位 保位 EXTIx[3:0]:EXTIx配置(x=0000PA[x]0001PB[x]0010PC[x]0011PD[x]0100PE[x]位 保位 EXTIx[3:0]:EXTIx配置(x=40000PA[x]0001PB[x]0010PC[x]0011PD[x]0100PE[x]地址偏移位 保位 EXTIx[3:0]:EXTIx配置(x=80000PA[x]0001PB[x]0010PC[x]0011PD[x]0100PE[x]复位值:位 保位 EXTIx[3:0]:EXTIx配置(x=120000PA[x]0001PB[x]0010PC[x]0011PD[x]0100PE[x]3.26:AFIO43个可中断通道(不包括Cortex-M3的16个中断线16可编程的优先级等级(4位中断优先级所有中断包括内核异常都由NVIC管理,异常和NVIC编程的信息,请参阅ARMCortex-M3TMTechnicalReferenceManualChap5ExceptionsChap8NestedVectoredInterruptControllerHCLK/8产生1ms的时间基值。位置级---不可中RCC时钟安全系统01预取故障,器故2态---34---560718PVD中断(EXTI线29345RCC67EXTI18EXTI29EXTI3EXTI4USB高优先级或者 USB低优先级或者CAN SCE中 TIM1更新中 I2C1中 I2C2中 EXTI线外部中断/控制器有用于产生/中断请求的19个边沿检测器组成。每根输入线可以被单独配置以选择类型(脉冲或者挂起)和相关的触发(上升沿触发或者下降沿触 每根中断 Cortex-M3能够处理外部或者内部以唤醒内核(WFE。通过配置外部线路,任意的I/O端口,RTC闹钟和USB唤醒等可以用于唤醒CPU(从WFE退出。沿检测并且把中断寄存器中相关的位写入‘1’使能中断请求来。当被选择的边沿在外存器写入1能够将该请求复位。沿检测并且把寄存器中相关的位写入‘1’使能请求。当被选择的边沿在 配置19根中断线的位 (EXTI_RTSR 配置那些控制NVICIRQ通道映射到外部中断控制器(EXTI)的使能和位以使19根中断线上的某个中断能够被正确的应答。 配置19根线的位 配置线的触发选择位(EXTI_RTSR和 位(EXTI_IMR 将软件中断寄存器的请求位置位80个GPIOs以下面的方式连接到16个外部中断/线图3.16:外部中断/GPIO映EXTI16PVDEXTI17RTCEXTI18USB0000位 保留,必须保持在复位值位 MRx:线x上的中断0:x线上的中断请求被1:x线上的中断请求未被0000位 保留,必须保持在复位值位 MRx:线x上0:x线上的请求被1:x线上的请求未被0000位 保留,必须保持在复位值位 TRx:线x上的上升沿触发配置0:输入线上的上升沿触发禁用(为和中断1:输入线上的上升沿触发使能(为和中断0000位 保留,必须保持在复位值位 TRx:线x上的上升沿触发配置0:输入线上的下降沿触发禁用(为和中断1:输入线上的下降沿触发使能(为和中断0000位 保留,必须保持在复位值位 SWIERx:x线上的软件中01EXTI_PR中相关的挂起位置位。如果该线上的中EXTI_IMREXTI_EMR中被使能,将产生一个中断请求。该位通过EXTI_PR中的相关位(通过向该位写入1)。偏移地址:14hxxxx位 保留,必须保持在复位值位 PRx:挂起0:1:通过向该位写入1或者改变边沿检测器的极性能够将其,退出停止模式后才被更新,并且如果EXTI_IMR寄存器中的相关位被置位的话,直接器(DMA)用于提供外设和器之间以及器和器之间的高速DMA控制器有7个通道,每个专门用于管理来自于1个或者多个外设的器请求。它有一个仲裁器用于处理DMA请求间的优先级。7个独立的可配置的通道(请求7个请求间的优先级是软件可编程的(4个等级,当软件优先级相同的时候,再判断硬件优先级(请求1的优先级高于请求2) 标志(DMA半传输,DMA完全传输和DMA传输错误),这 DMA控制器通过和Cortex-M3内核系统总线执行直接器。当CPU和DMA的目的地址(RAM或者外设)相同的时候,DMACPU访Round-RobinCPU保证了至少半个系统在一个发生之后,外设向DMA控制器发送一个请求信号。DMA控制器根据通道的优先级来处理请求。一旦DMA控制器外设,DMA将向外设发送一个应答。一旦外DMA控制器发送来的应答,它就会释放它的请求。一旦外设释放了请求,DMA控制撤销应答。如果有的请求,外设可以发起下一次事务。加载来自外设数据寄存器或者由DMA_CMARx寄存器指定的器中的某个位置的存数据到外设数据寄存器或者存数据到DMA_CMARx寄存器指定地址的器单 通有更高的优先级。例如:通道2的优先级比通道4高。每个通道可以处理位于一个确定地址的外设寄存器和一个器地址之间DMA传输,65535外设和器之间传输数据量大小完全可以通过DMA_CCRx寄存器中的PSIZE位输地址上加1,24。初时传输地址被编程到DMA_CPARx/DMA_CMARx寄存器。在DMA_CPARx寄存器中设置外设寄存器的地址。发生外设数据传输请求时,这个 DTRx寄存器中设置要传输的数据量。在每个数据传输后,这个数值递在DMA_CCRx寄存器的PL[1:0]一旦一半的字节被传输好,半传输标志(HTIF)DMA通道在没有外设请求触发的情况下同样可以工作,该模式称作器-到-器寄存器中的使能位(EN)使能,通道开始传输。当DTRx0的时如果在DMA读或者写时出现错误,出现错误的通道通过硬件相关的通道配置3.29DMADMA24DMA25DMA1DMA中断状态寄存器复位值:00000000位 保留,总是读到位27位26,位25

TEIFx:x传输错误标志(x10:x上无传输错误1:x上出现传输错误HTIFx:通道x传输到半标志(x10:通道x上没有传输到半(HT)发1:x上发生了传输到半TCIFx:x传输完成标志(x10:通道x上无传输完成(TC)发 1:x上出现传输完成位240

GIFx:通道x(x10:xTE,HT或者TC1:x上发生TE,HT或者TC00000000位 保留,总是读到位27位26,位251位240

CTEIFx:通道x传输错误标志(x=10:1:DMA_ISR寄存器中对应的TEIF标志CHTIFx:通道x传输到半标志(x=10:1:DMA_ISR寄存器中相应的HTIF标志CTCIFx:通道x传输完成标志(x=1..7)0:1:DMA_ISR寄存器中相应的TCIF标志CGIFx:通道x全局中断标志(x=1..7)0:1:DMA_ISR寄存器中的GIF,TEIF,HTIF和TCIF标DMA通道x(DMA_CCRx)(x108h20dx00000000位 保留,总是读到位14 MEM2MEM:器到器模式0:禁用器到器模1:使能器到器模式位13:12 PL[1:0]:通道优先级00:01:10:11:位 MSIZE[1:0]:器数据大00:801:1610:3211:位 PSIZE[1:0]:外设大00:801:1610:3211:位7 MINC:器地址增量模式0:禁用器地址增量模1:使能器地址增量模式位6 PINC:外设地址增量模式0:1:位 CIRC:循环模0:1:位4 DIR:数据传输方向0:从外设读1:从器位 TEIE:传输错误中断使0:TE1:TE位 HTIE:传输到半中断使0:HT1:HT位 TCIE:传输完成中断使0:TC1:TC位 EN:通道使0:1: DTRx)(x=1地址偏移:0Ch20dx通道号复位值:00000000(00h)3116位 NDT[15:0]:要传输的数据的个065535。该寄存器仅当通道被禁用的时候可以写入,0,要么被重装载为先前编程好的值(如果通道DMAx(DMA_CPARx)(x110h20dx通道号复位值:00000000(00h)位 PA[31:0]:外设地 DMA通道x器地址寄存器(DMA_CMARx)(x=1地址偏移:14h20dx通道号复位值:00000000(00h)位 PA[31:0]:器地在复位之后,对备份寄存器和RTC的被禁能,备份区域被保护以防止可能的寄生写。DBP位必须在电源控制寄存器(PWR_CR)中置位以使能对备份寄存器和RTC的2PCLK1时钟(用于APB1接口)和RTC(必须小于PCLK1时钟RTC(分频器,闹钟,计数器和除法器)通过备份区域来复位。(节:备份区域复位3 32位的可编程的计数器,该计数器可以用当前的系统时间来初始化,系统时间如果匹配,则产生一个闹钟中断(如果该中断在RTC_CR控制寄存器中被使能了的话)RTCRTC_PRL RTC_PRLRTC_ALR,TRTC_DIV寄存器仅能通过备份区域复位信号来复位,请参阅节。软件通过APB1接口RTC预分频器,计数器和闹钟值。但是,相关的可读寄存器只在以上所有的情况,APB1接口禁用(复位,无时钟驱动或者无电源供应)期间因此,当禁用RTCAPB1接口后RTC寄存器时,软件首先必须等待RTC_CRL寄存器中的RSF位(寄存器同步位)被硬件置位。RTC_PRL,TRTC_ALR寄存器,RTC必须进入配置模式,这是通过置位RTC_CRL寄存器中的CNF位来完成。RTC寄存器的写操作仅当前一次的写操作完成后才被进行。为了使软件更新中,仅当RTOFF状态位值为‘1’的时候才能够向RTC寄存器中写入新值。RTC(OWF)0x0000RTC内核时钟周期被置为位 保留,硬件强制为位 OWIE:溢出中断使0:1:位 ALRIE:闹钟中断使0:1:位 SECIE:秒中断使0:秒中断被1:这些位用于中断请求。注意复位之后所有的中断都是被禁用的,所以可以通过写来标志先前的写是否完成,请参照节),不可以对RTC_CRH寄存器进行写操作。程章节)。位 保留,由硬件强制为位 通过该位,RTC报告最近一次写寄存器操作执行的状态,用来指示写操作是否完成。如果它的值是‘0’,那么不能够向RTC寄存器写。该位是只读位。0:RTC1:在RTC寄存器上最近一次写操作已经完成位4 CNF:配置标志 T,0:退出配置模式(RTC寄存器1:位 RSF:寄存器同步标 T和RTC_DIV寄存器被软件更新和的时候由硬件置位。 T,RTC_ALR或者RTC_PRL被同0:1:寄存器被同步位 OWF:溢出标32RTC_CRH0:1:32位可编程计数器发生溢出位 ALRF:闹钟标32RTC_ALR寄存器中设置的阀值后由硬件置位,当RTC_CRH寄存器中的ALRIE=1的时候产生一个中断。它不能够由软件,0:1:位 SECF:秒标器中的SECIE=1时产生一个中断。该位仅由软件,向其写‘1’无效0:秒标志条件不成立1:秒标志条件成立RTCRTC_CR请求位由软件复位,以指示中断请求是否被响OWFALRFSECFRSFAPB1OWF,ALRF,SECF和RSF位仅能由硬件置位,由软件ALRF1ALRIE1,RTC全局中断被使能,如果EXTI17ALRF1EXTI17EXTIRTC闹钟中断被使能。当EXTI线17在模式中被使能,该线上将产生一个脉冲(不会产生RTC闹钟中断)。RTC(RTC_PRLH位15:4位 这些位按照下面的fTR_CLK=f地址偏移:0Ch复位值:8000h位 PRL[15:0]:RTC预分频装载值低字fTR_CLK=f为1秒的信号。TR_CLK周期,RTCRTC_PRL寄存器中前值(RTC_DIV寄存器中RTC_PRL或者T0000h位 保位 RTC预分频除法寄存器低位(RTC_DIVL)位 TH RTC内核有一个32位可编程的计数器,通过两个16位的寄存器来。计数的速率基于预分频器产生的TR_CLK时间基数, TH)或者( TL)寄存器进行写操作将直接装载入相关的可编程计数器并且重装载RTC预分频器。该寄存器将返回计数器的当前值(系统日期。RTC计数器寄存器( 位 T[31:16]:RTC计数器 须使用RTC_CR寄存器中的RTOFF位来进入配置模式。RTC计数器寄存器低位 0000h位 T[15:0]:RTC计数器低字 须使用RTC_CR寄存器中的RTOFF位来进入配置模式。RTC闹钟寄存器(RTC_ALRH/仅当RTOFF值为‘1’的时候允许对该寄存器进行写操作。位 位 备份寄存器是10个用于20字节的用户应用程序数据的16位寄存器,它们在备份在复位之后,备份寄存器和RTC,备份区域受保护,不接受意外的写。电源控制寄存器(PWR_CR)中的DBP位必须置位,才能对备份寄存器和RTC进行。一旦干扰检测引脚被使能,将检测到一个额外的干扰(尽管TPE被置位后,干扰检测引脚上没有上升沿)TPAL=1:如果干扰检测引脚在被使能(TPE位)前已经是低电平的话,TPE位重新使能。这可以防止软件在干扰检测引脚仍有干扰的时候对备份数据寄存器(BKP_DRx)进行写操作。这相当于在干当钟校验寄存器(BKP_RTCCR)CCOCAL[16:0]位降低多121ppm“STM32F101xxSTM32F103xxRTC校验”x(BKP_DRx(x=1..10地址偏移:04hto复位值:0000000000000000位 注意:BKP_DRx寄存器不会因系统复位或者电源复位或者设备从待机模式唤醒而复位值:0000000000000000位 保留,总是读到位 ASOE位置位的时候,ASOS位8 位 CCO校验时钟输注意:该位当VDD供应掉电的时候被复位。位6:0 CAL[6:0]校验值 RTC时钟可以减慢0到121PPM复位值:0000000000000000位 保留,总是读到位 TPAL干扰检测引脚有效电0:干扰检测引脚上高电平将所有的数据备份寄存器复位(TPE位置位1:干扰检测引脚上低电平将所有的数据备份寄存器复位(如果TPE位置位).位0 TPE干扰检测引脚使能0:1:干扰备份I/O同时置位TPAL和PTE位总是安全的,尽管同时复位会产生一个虚干扰。由于这个原因,建议在TPE位复位的时候修改TPAL位。复位值:0000000000000000位 保留,总是读到位 TIF干扰中断标也会被0:1:位8 TEF干扰标志0:1:7:3位 TPIE干扰检测引脚中断使0:1:干扰中断使能(BKP_CR寄存器中的TPE位置位)注意1:干扰中断并不会将内核从低功耗状态唤醒。注意2:该位仅由系统复位和从待机模式唤醒复位.位 CTI清除干扰中0:1:清除干扰中断并TIF干扰中断标志位0 CTE干扰0:1:复位TEF干扰标志(和干扰检测器检测应用程序的过迟或过早的行为。IWDG_PR和IWDG_RLR工作要么停止,这取决于调试模式下DBG_IWDG_STOP位的配置情况.细节请参3.3440KHZIWDG 31:16 保留,读出为 31:3位保留,读出为2:0位PR[2:0]:31:12 保留,读出为11:0 31:2位Bit1RVU:Bit0PVU:错误会导致应用程序偏离正常的运行顺序.看门狗电路在一个预先编程的时间到达后会 变化,,这是因为写入WWDG_CR寄存器时,预分频值是未知的。(见图3.23)重载计数器的另外法是使用早唤醒中断(EWI)。该中断通过置位WWDG_CFR寄存需要更高的精度,可以使用图3.24提供的计算。节:对定时器,看门狗和bxCAN复位值:0111 保第7 WDGA:激活6:0 复位值:0111 保第9 8:7 00:CK计数器时钟(PCLK1409601:CK计数器时钟(PCLK1409610:CK计数器时钟(PCLK1409611:CK计数器时钟(PCLK140966:0 W[6:0]7位的窗口复位值:0000 保第0 较,,嵌入“死区时间”的互补…)高级控制定时器(TIM1)和通用定时器(TIMx3.25TIM1) 器上溢(或向下计数时下溢)且TIM1_CR1寄存器的UDIS位等于0时发生更新.更新事件也可由软件产生。随后会详细描述每一种配置下更新的产生。 T驱动的, 器使能位(CEN)置位时有效(也可参考从模式控制器的描述来获得的计数器使能信息)。内容),然后重新从0开始并产生计数器溢出。数相等时才产生更新(UEV),否则每次计数器溢出时才产生更新.自动重 寄存器载入预加载值(TIM1_ARR)图3.28内部时钟分频因子为1时,计数器的时序图 数相等时才产生更新(UEV).否则每次计数器溢出时才产生更新.生一个更新而UIF标志位不会置位(因此不会发送任何中断或DMA请求)。这可以避免发 图3.34内部时钟分频因子为1时,计数器时序图生计数器上溢后再向下计数到1产生计数器下溢,然后从0开始重复这一过程。.更新可由计数器每次上溢和下溢时产生,也可通过置位TIM1_EGR寄存器(通过软件UEV更新可通过软件将TIM1_CR1寄存器的UDIS位置位来,这是为了防止在向预自动重载有效寄存器将被预加载值(TIM1_ARR)更新仅当循环向下计数到0时才产生。这可用来产生 信号。这意味着在每N次计数溢出或下溢时,数据从预装载寄存器传输到寄存器(TIM1_ARR自动重载入寄存器,中心对齐模式下每次计数器上溢和下溢时。虽然这样限制了的最大循环周期为128, 个周期中仅刷新一次比较寄存器,则最大的分辨率为2xTck。产生的,那么不管循环向下计数器中的值是多少,该更新都立即发生,并且TIM1_RCR分频器部分。若从模式控制器是的(SMS=000),那么CEN、DIR(在TIM1_CR1寄存器中)和UG位自动清0的).只要CEN位被写入1,预分频器的时钟就由内部时钟CK_INT提供。.图3.46一般模式下的控制电路,内部时钟分频因子为1例如 在比较模式下,预加载寄存器中的值被到寄存器中,并和计数器值比较。.选择有效的输入端:TIM1_CCR1必须连接到TI1输入,所以将TIM1_CCMR1寄存器的.根据与定时器相连的信号来编程所需要的输入过滤器持续时间(当输入是TIx之时,ICxF位在TIM1_CCMRx寄存器中)。假设触发时输入信号必须经过5 出捕获溢出标志之后和数据之前可能产生的捕获溢出信息。 .设置中断状态寄存器中的标志位(TIM1_SR寄存器中的CCxIF位) 够独立地设置每个通道工作在模式,每个OCx输出一路。必须通过设置在模式(模式1或模式2)下, 模式的例子。当 式下不能产生0%的波形。参心对齐模式(向上/向下计数)部分 模式 --若写入计数器中的值大于自动重载值( --若写入0或TIM1_ARR中的值到计数器中,计数方向将被更新,但不会产生更新 OSSI=0CCxE与CCxNE保护。一些参数的配置(死区持续的时间,OCx/OCxN的极性和被时的状态,OCxM的器中的OCxCE使能位被置为1).OCxREF信号将一直为低直到下一个更新UEV发生. 寄存器中的IF位),这时如果已设置了寄存器的IE位,则产生一个中断;或者如果已设置了TIM1_DIER寄存 图3.646-step的生成,COM的例子(OSSR=1)例如,想要在TI2tDELAY延时在OC1上产生一个宽度为tPULSE .假定要建立这样一个波形:当比较匹配发生时该波形电平由0变成1,当计数器值等于自动重载值时该波形电平由1变成0.为了实现这样的波形,要设置TIM1_CCMR1的新电平和比较匹配发生时产生的电平相同。只有在通道被配置为1或2模式时OCxFE才)高低高低高低

一个外部的增量编直接和MCU连接不需要外部接口逻辑。但是,一般使用比较器••图3.67TI1FP1极性反转后的编接口模式的例子获模式定时器测量两个编的间隔,可以获得动态的信息(速度,加速度,度)。 信号,捕获/比较的控制信号是预先加载的(设置TIM1_CR2寄存器的C=1),且COM若发生一个触发输入,则计数器和它的预分频器可以被重新初始化.另外,若TDE位).下面的显示了当自动重载寄存器TIM1_ARR=0x36时的这种行为.TI1上出现上升图3.70门控模式下的控制电路图3.71触发模式下的控制电路ETF=0000--ETPS=00:预分频ECE=1:使能外部时钟模式ICIF=0000--设置--设置图3.72外部时钟模式2+触发模式下的控制电路要么停止,这取决于DBG模式下的DBG_TIM1_STOP位配置情况.细节请参考节:15:10 保留,总是9:8 00:01:10:第7 6:5 置为输出模式的通道(设置TIM1_CCMRx寄存器中的CCxS=00)的输出比较中10:2.计数器交替向上和向下计数.仅当计数器向上计数时,被配置为输出模式的通道(设置TIM1_CCMRx寄存器中的CCxS=00)的输出比较11:中心对齐模式3.计数器交替向上和向下计数..当计数器向上或向下计数第4 第3位 1:下一次更新发生时计数器将停止计数(CEN位)第2位 0:下面任何一个都将产生一个更新中断或DMA请求(在被使能的情况--计数器上溢/UG--第1 该位用来使能/UEV更新,由软件置位和清0.--计数器上溢/UG--通过从模式控制器产生更新CCRx).UG第0位 注意:CEN事先由软件置位的情况下,外部时钟,门控模式和编模式才能工作.而触发模式可由硬件自动的将CEN位置位.第15 保留位,读出为第14位 参考OIS1位第13位 参考OIS1N位第12位 参考OIS1位第11位 参考OIS1N位第10位 参考OIS1位第9 0:当MOE=011:当MOE=01注意:一旦锁保护位编程为1,2或3级时该位将不能被改变(第8 OIS1:输出空闲状态1(OC1输出0:当MOE=0时,OC1=0(OC1N1个死区时间后1:当MOE=0时,OC1=1(OC1N1个死区时间后注意:1,2或3级时该位将不能被改变(第7位 TI1S:TI1选择位6:4 使能计数器使能信号 第3 0:当CCx发生时发送CCxDMA请求1:当更新发生时发送CCxDMA请求.第2位 第1位 保留,读出为0第0 0:CCxE,CCxNEOCxM位没有被预加载第15 ETP:外部触发极该位选择ETR或nETR用于触发操作.第14 13:12 外部触发信号ETRP的频率必须接近TIM1CLK1/4.可通过使能一个预分频器来降低ETRP的频率.当输入的外部时钟频率较高时,这是有用的.11:8 ETRPETRP的数字过滤器的长0001:fSAMPLING=fCK_INT,0010:fSAMPLING=fCK_INT,0011:fSAMPLING=fCK_INT,第7 6:4 100:TI1边沿监测器第3 保留,读出总为2:0 000:从模式-若CEN=1则预分频器直接由内部时钟计时101:门控模式-当触发输入(TRGI)为高时计数器的时钟是使能的.一旦触发输110:触发模式-TRGI出现上升沿时(但未被复位)计数器启动.只有计数111:外部时钟模式1-计数器由选定触发(TRGI)的上升沿计时(即遇到上升沿注意:TI1F_ED被选作触发输入(TS=100)则不能使用门控模式.实际上,尽TI1FTI1F_ED就输出1个脉冲,第15 保留,读出总为第14 TDE:触发的DAM请求使能第13位 的DMA请求使能位.的DMA请求第12 第11 第10 第9 第8 UDE:更新的DMA请求使能1:更新的DMA请求使能第7位 第6 第5 的中断使能40:捕获/41:捕获/30:捕获/31:捕获/20:捕获/21:捕获/10:捕获/11:捕获/比较1中断使能第0位 UIE:更新的中断使能位15:13 保留位,读出总为第12位 参考CC1OF的描述第11位 参考CC1OF的描述第10位 参考CC1OF的描述第9 CC1OF:捕获/比较1过捕获标志仅当相应通道处于输入捕获模式时,该标志位由硬件置位.1:当CC1IF标志位置1时,计数器值获到TIM1_CCR1寄存器中第8位 保留位,读出总为0第7 位可由软件清0.第6位 触发发生时该标志位是由硬件置位的(当从模式控制器在除门控模式之外的其式下使,I入上出效边沿生触发;若在门控模式下使能,出现上升沿或下降沿都发生触发清0的.第5 的中断标志OcxM被更新).它是由软件清0的.0:无COM发第4 CC4IF:捕获/比较4的中断标志第3位 CC3IF:捕获/比较3的中断标志位参考CC1IF的描述.第2位 CC2IF:捕获/比较2的中断标志位参考CC1IF的描述.第1位 CC1IF:捕获/比较1的中断标志位若CC1通道配置为输出:生一些异常(TIM1_CR1寄存器的CMS位的描述).它是由软件清0的.若CC1通道配置为输入:1:计数器的值获到TIM1_CCR1寄存器中(IC1上检测到与选定极性匹配第0 1:更新的中断被挂起.当寄存器在下列情形下被更新时该位由硬件置位--发生与循环向下计数器的值( --TIM1_EGRUGCNT重新初始化,TIM1_CR1寄存器中的URS=0,UDIS=0--通过触发对CNT重新初始化(参考12.5.3节:从模式控制寄存器(TIM1_SMCR)),TIM1_CR1寄存器中的URS=0,UDIS=015:8 保留位,读出总为第7 关的中断或DMA传输.第6 1:TIM1_SRTIF标志被置位.DMA传输第5 第4位 CC4G:捕获/比较4生成位参考CC1G的描述第3位 CC3G:捕获/比较3生成位参考CC1G的描述第2位 CC2G:捕获/比较2生成位参考CC1G的描述第1 CC1G:捕获/比较1生成若CC1通道配置为输出:若CC1通道配置为输入:DMA请求将被发送若它们被使能的话.若CC1IF标志确实处于高电平的话CC1OF标志将被置位.第0位UG:更新生成这些通道可用于输入(捕获模式)或输出(比较模式).CCxS位OCxxICxx描述了通道被配置为输入时的功能.同一个位在输入部分和输出部分中可以有不同的含义,因此使用时必须.第15位 OC2CE:输出比较2的使能位.14:12位 OC2M[2:0]:输出比较2模式第11 OC2PE:输出/比较模式2的预加载使能第10 OC2FE:输出/比较模式2的快速使能9:8 CC2S[1:0]:捕获/比较2的选择00:CC2通道被配置为输出.01:CC2通道被配置为输入,IC2TI2上10:CC2通道被配置为输入,IC2TI1上11:CC2通道被配置为输入,IC2映射到TRGI上仅当通过TS位在TIM1_SMCR寄存器中)选定一个内部触发输入时该模式才工作.注意:CC2S位仅当该通道时关闭时(TIM1_CCERCC2E=0)才是可写的第7 OC1CE:输出比较1的使能6:4 该位域定义了输出参考信号OC1REF的行为.OC1和OC1N来自该信000:被冻结—输出比较寄存器TIM1_CRR1和计数器T间的比较对001:匹配时将通道1T和捕获/010:1设置到无效电平.当计数器T和捕获/比较寄存器1(TIM1_CCR1)相匹配时OC1REF信号被强行拉低.011:翻转— T=TIM1_CCR1时OC1REF翻转100:强制为无效电平—OC1REF被强行拉低101:强制为有效电平—OC1REF被强行拉高110:模式1—向上计数时,只要T<TIM1_CCR1通道1都是有效的.1无效.向下计数时,只要T>TIM1_CCR11都是无效的(OC1REF=0),反之通道1是有效的(OC1REF=1).111:2—向上计数时,只要T<TIM1_CCR11都是不有效的.1是有效的.向下计数时,只要T>TIM1_CCR1通道1都是有效的,反之通道1是不有效的.注1:一旦LOCK被编程为级别3(TIM1_BDTR寄存器的LOCK位)注2:在 模式1或2时,仅当比较结果改变或输出比较模式由”冻结”模式转变为””模式时OCREF的电平才发生变化.第3 OC1PE:输出比较1的预加载使能0:TIM1_CCR1的预加载寄存器.TIM1_CCR1可在任何时候被写入,新值1:TIM1_CCR1的预加载寄存器使能.读/写操作是针对预加载寄存器的.在每一个更新发生时,TIM1_CCR1的预加载值都被加载到有效的寄存器中.1:一旦LOCK被编程为级别3(TIM1_BDTR寄存器的LOCK位且 第2 OC1FE:输出比较1的快速使能位入上有边沿出现时,使CC1输出处于有效状态的最小延迟是5个时钟周期.1:1:0 CC1S:捕获/比较1的选择00:CC1通道被配置为输出.01:CC1通道被配置为输入,IC1TI1上10:CC1通道被配置为输入,IC1TI2上11:CC1通道被配置为输入,IC1映射到TRGI上仅当通过TS位在TIM1_SMCR寄存器中)选定一个内部触发器输入时该模式才工作.注意:CC1S位仅当该通道时关闭时(TIM1_CCERCC1E=0)才是可写的15:12 IC2F:输入捕获2的过滤11:10 IC2PSC[1:0]:输入捕获2的预分频9:8 00:CC2通道配置为输出.01:CC2通道配置为输入,IC2IT2上10:CC2通道配置为输入,IC2TI1上注意:CC2S位仅当该通道时关闭时(TIM1_CCERCC2E=0)才是可写的7:4 IC1F[3:0]:输入捕获1的过滤TI1ETRP的数字过滤器的长度.数字0000:无过滤器,以fDTS频率采样0001:fSAMPLING=fCK_INT,0010:fSAMPLING=fCK_INT,0011:fSAMPLING=fCK_INT,3:2 IC1PSC:输入捕获1的预分频该位域定义了作用于CC1输入上(IC1)的预分频器的比例因子一旦01:每2次发生一次捕10:每4次发生一次捕1:0 00:CC1通道配置为输出.01:CC1通道配置为输入,IC1IT1上10:CC1通道配置为输入,IC1TI2上注意:CC1S位仅当该通道时关闭时(TIM1_CCERCC1E=0)第15 OC4CE:输出比较4的使能14:12 OC4M:输出比较4模第11 OC4PE:输出比较4的预加载使能第10 OC4FE:输出比较4的快速使能9:8 00:CC4通道被配置为输出.01:CC4通道被配置为输入,IC4TI4上10:CC4通道被配置为输入,IC4TI3上11:CC4通道被配置为输入,IC4映射到TRGI上仅当通过TS位在TIM1_SMCR寄存器中)选定一个内部触发输入时该模式才工作.注意:CC4S位仅当该通道时关闭时(TIM1_CCERCC4E=0)才是可写的第7 OC3CE:输出比较3的使能6:4 OC3M:输出比较3模第3 OC3PE:输出比较3的预加载使能第2 OC3FE:输出比较3的快速使能1:0 00:CC3通道被配置为输出.01:CC3通道被配置为输入,IC3TI3上10:CC3通道被配置为输入,IC3TI4上11:CC3通道被配置为输入,IC3映射到TRGI上仅当通过TS位在TIM1_SMCR寄存器中)选定一个内部触发输入时该模式才工作.注意:CC3S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论