完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
STM32时钟学习
f(VCO clock) = f(PLL clock input) × (PLLN / PLLM) f(PLL general clock output) = f(VCO clock) / PLLP f(USB OTG FS, SDIO, RNG clock output) = f(VCO clock) / PLLQ PLLN with 192 ≤ PLLN ≤ 432 PLLM with 2 ≤ PLLM ≤ 63 PLLP = 2, 4, 6, or 8 4 《= PLLQ 《= 15 复位 支持三种复位形式,分别为系统复位、上电复位和备份区域复位。 电源复位:除了备份区域外的所有寄存器 系统复位:除了时钟控制器的RCC_CSR寄存器中的复位标志位和备份区域中的寄存器以外的所有寄存器 备份区域复位:只影响备份区域 产生电源复位的事件: 上电/掉电复位(POR/PDR复位) 从待机模式中返回 产生备份区域复位的事件: 软件复位,备份区域复位可由设置备份域控制寄存器 (RCC_BDCR)中的BDRST位产生。 在VDD和VBAT两者掉电的前提下,VDD或VBAT上电将引发备份区域复位 产生一个系统复位的事件: NRST引脚上的低电平(外部复位) 窗口看门狗计数终止(WWDG复位) 独立看门狗计数终止(IWDG复位) 软件复位(SW复位) 低功耗管理复位 编程控制系统复位 我们所能控制的只有系统复位 (1)可通过查看RCC_CSR控制状态寄存器中的复位状态标志位识别复位事件来源。 (2)软件的方式进行系统复位:通过将Cortex™-M3中断应用和复位控制寄存器中的SYSRESETREQ位置’1’ (3)低功耗管理复位 在以下两种情况下可产生低功耗管理复位: 在进入待机模式时产生低功耗管理复位: 通过将用户选择字节中的nRST_STDBY位置’1’将使能该复位。这时,即使执行了进入待 机模式的过程,系统将被复位而不是进入待机模式。 在进入停止模式时产生低功耗管理复位: 通过将用户选择字节中的nRST_STOP位置’1’将使能该复位。这时,即使执行了进入停机 模式的过程,系统将被复位而不是进入停机模式。 ? 用户选择字节的进一步信息,请参考STM32F10xxx闪存编程手册。 时钟树简图 STM32为了低功耗,将所有的外设时钟都设置为disable。使用外设,需要打开对应时钟。 看图理解时钟源—》系统时钟来源—》各个外设时钟 三种不同的时钟源可被用来驱动系统时钟(SYSCLK): HSI振荡器时钟、 HSE振荡器时钟、 PLL时钟(内部PLL可以用来倍频HSI RC的输出时钟或HSE晶体输出时钟)。 这些设备有40kHz低速内部RC、32.768kHz低速外部晶体2种二级时钟源,当不被使用时,任一个时钟源都可被独立地启动或关闭,由此优化系统功耗。 实际的寄存器操作 (1)对RCC_CR寄存器进行设置 Reset value: 0x0000 XX83 where X is undefined. STM32F207支持一种专用的PLL(PLLI2S),用于在I2S接口上生成精确的时钟,以实现高质量的音频性能。 (2)时钟配置寄存器(RCC_CFGR) Reset value: 0x0000 0000 (3)RCC PLL configuration register (RCC_PLLCFGR) Address offset: 0x04 Reset value: 0x24003010 该寄存器用于根据公式配置锁相环时钟输出 (4)RCC clock interrupt register (RCC_CIR) (5)RCC AHB1 peripheral reset register (RCC_AHB1RSTR)复位 (6)RCC AHB1 peripheral clock register (RCC_AHB1ENR)使能 当外设时钟没有启用时,软件不能读出外设寄存器的数值,返回的数值始终是0x0。 (7)备份域控制寄存器 (RCC_BDCR) 代码学习 没有打开任何外设时钟的代码学习 或操作开,与操作关 开HSI 关HSE、CSS、PLL 关HSEBYP 开HSE 不同应用下,时钟频率的选择和使用过程中出现误差的一个校准(配置对应寄存器) 系统复位后,HSI振荡器被选为系统时钟。当时钟源被直接或通过PLL间接作为系统时钟时,它将不能被停止。只有当目标时钟源准备就绪了(经过启动稳定阶段的延迟或PLL稳定),从一个时钟源到另一个时钟源的切换才会发生。在被选择时钟源没有就绪时,系统时钟的切换不会发生。直至目标时钟源就绪,才发生切换。在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统时钟。通过设置备份域控制寄存器(RCC_BDCR)里的RTCSEL[1:0]位,RTCCLK时钟源可以由HSE/128、LSE或LSI时钟提供。除非备份域复位,此选择不能被改变。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1754 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1613 浏览 1 评论
1053 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
721 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1667 浏览 2 评论
1931浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
716浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
562浏览 3评论
587浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
546浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 11:39 , Processed in 0.775605 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号