完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
STM32f1时钟系统
一、祭出STM32F1的官方时钟框图 二、寄存器说明 1、时钟控制寄存器RCC_CR 第0位:HSION(0,关闭;1,开启) 第1位:HSIRDY(0,HSI未就绪;1,HSI就绪) 第16位:HSEON(0,关闭;1,开启) 第17位:HSERDY(0,HSE未就绪;1,HSE就绪) 第19位:CSSON(0,时钟检测关闭;1,时钟监控开启) 第24位:PLLON(0,关闭PLL;1,使能PLL) 第25位:PLLRDY(0,PLL未锁定,1:PLL锁定) 2、时钟配置寄存器RCC_CFGR 第1:0位SW: 软件设置时钟源 00:HSI为系统时钟 01:HSE为系统时钟 10:PLL作为系统时钟 11:时钟不可用 第3:2位SWS:硬件指示时钟源 00:HSI为系统时钟 01:HSE为系统时钟 10:PLL作为系统时钟 11:时钟不可用 第7:4位HPRE:软件设置AHB的分频系数(具体见参考手册) 第10:8位PPPRE1:软件设置低速APB1(PCLK1)的与分频系数(具体见参考手册) 第13:11位PPPRE2:软件设置高速APB2(PCLK2)的预分频系数(具体见参考手册) 第15:14位ADCPPE:软件设置ADC的时钟频率(最大14Mhz) 00:APB2的2分频 01:APB2的4分频 10:APB2的6分频 11:APB2的8分频 第16位PLLSRC:软件选择PLL的时钟源(关闭PLL时写入) 0:HSI的2分频作为PLL的输入时钟 1:HSE作为PLL的输入时钟 第17位PLLXTPRE:软件选择HSE作为PLL输入时是否分频 0:HSE不分频 1:HSE 2分频 第21:18位PLLMUL:软件设置PLL的倍频系数(最高不超过72M,实测超过100M后还能工作) 详见参考手册 第22位USBPRE:软件设置USB时钟 0:PLL时钟1.5倍分频作为USB时钟 1:PLL直接作为USB时钟 第26:24位MCO:时钟输出PA8引脚(对于STM32F1来说,最高频率不能超过IO口的频率50Mhz) 0xx:无输出 100:输出系统时钟SYSCLK 101:HSI输出 110:HSE输出 111:PLL的2分频输出 3、时钟中断寄存器RCC_CIR 4、APB2外设复位寄存器(RCC_APB2RSTR) 对应位写1复位相应外设,写0无作用 5、APB1 外设复位寄存器 (RCC_APB1RSTR) 对应位写1复位相应外设,写0无作用 6、 AHB外设时钟使能寄存器 (RCC_AHBENR) 对应位写1开启相应外设,写0关闭外设 7、 APB2 外设时钟使能寄存器(RCC_APB2ENR) 对应位写1开启相应外设,写0关闭外设 8、 APB1 外设时钟使能寄存器(RCC_APB1ENR) 对应位写1开启相应外设,写0关闭外设 9、备份域控制寄存器 (RCC_BDCR) 第0位LSEON:软件设置,外部低速振荡器使能:0:关闭,1:开启; 第1位LSERDY:硬件指示,外部低速LSE就绪:0:未就绪,1:就绪; 第15位RTCEN:RTC时钟使能:0:关闭,1开启; 10、控制/状态寄存器(RCC_CSR) 第0位LSION:软件设置,内部低速振荡器就绪:0,:40kHz振荡器时钟就绪 第1位LSIRDY:硬件指示,内部低速振荡器就绪:1:就绪,0:未就绪; 第29位IWDGRSTF窗口看门狗复位标志:1:发生窗口看门狗复位;0:未发生 第30位WWDGRSTF独立看门狗复位标志:1:发生独立看门狗复位;0:未发生 主要相关库函数: 1、void RCC_DeInit(void);//将外设RCC寄存器设为缺省值; 2、void RCC_HSEConfig(uint32_t RCC_HSE);//设置外部高速晶振(HSE); 3、void RCC_AdjustHSICalibrationValue(uint8_t HSICalibrationValue);//调整内部高速晶振(HSI)校准值 4、void RCC_HSICmd(FunctionalState NewState);//使能或者失能内部高速晶振(HSI) 5、void RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul);//设置PLL时钟源及倍频系数 6、void RCC_PLLCmd(FunctionalState NewState);//使能或者失能PLL 7、void RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource);//设置系统时钟(SYSCLK)源 8、void RCC_HCLKConfig(uint32_t RCC_SYSCLK);//设置AHB时钟(HCLK) 9、void RCC_PCLK1Config(uint32_t RCC_HCLK);//设置低速AHB时钟(PCLK1) 10、void RCC_PCLK2Config(uint32_t RCC_HCLK);//设置高速AHB时钟(PCLK2) 11、void RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState);//使能或者失能指定的RCC中断 12、 void RCC_USBCLKConfig(uint32_t RCC_USBCLKSource);//设置USB时钟(USBCLK) 13、void RCC_ADCCLKConfig(uint32_t RCC_PCLK2);//设置ADC时钟(ADCCLK) 14、void RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);//使能或者失能AHB外设时钟 15、void RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);//使能或者失能APB2外设时钟 16、void RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);//使能或者失能APB1外设时钟 17、void RCC_AHBPeriphResetCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState);//强制或者释放高速AHB外设复位 18、void RCC_APB2PeriphResetCmd(uint32_t RCC_APB2Periph, FunctionalState NewState);//强制或者释放高速APB(APB2)外设复位 19、void RCC_APB1PeriphResetCmd(uint32_t RCC_APB1Periph, FunctionalState NewState);//强制或者释放低速APB(APB1)外设复位 20、void RCC_ClockSecuritySystemCmd(FunctionalState NewState);//使能或者失能时钟安全系统 21、void RCC_MCOConfig(uint8_t RCC_MCO);//选择在MCO管脚上输出的时钟源,警告:当选中系统时钟作为MCO管脚的输出时,注意它的时钟频率不超过50MHz(最大I/O速率)。 22、FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG);//检查指定的RCC标志位 //RCC_FLAG_HSIRDY ,HSI晶振就绪;RCC_FLAG_HSERDY ,HSE晶振就绪; //RCC_FLAG_PLLRDY ,PLL就绪;RCC_FLAG_LSERDY ,LSI晶振就绪; //RCC_FLAG_LSIRDY ,LSE晶振就绪;RCC_FLAG_PINRST ,管脚复位 ; //RCC_FLAG_PORRST ,POR/PDR复位;RCC_FLAG_SFTRST ,软件复位 ; //RCC_FLAG_IWDGRST ,IWDG复位;RCC_FLAG_WWDGRST ,WWDG复位; //RCC_FLAG_LPWRRST ,低功耗复位 23、void RCC_ClearFlag(void);//清除RCC的复位标志位 24、ITStatus RCC_GetITStatus(uint8_t RCC_IT);//检查指定的RCC中断发生与否 //输入:RCC_IT_LSIRDY,LSI晶振就绪中断;RCC_IT_LSERDY,LSE晶振就绪中断 //RCC_IT_HSIRDY,HSI晶振就绪中断;RCC_IT_HSERDY,HSE晶振就绪中断 //RCC_IT_PLLRDY,PLL就绪中断;RCC_IT_CSS,时钟安全系统中断 25、void RCC_ClearITPendingBit(uint8_t RCC_IT);//清除RCC的中断待处理位 //RCC_IT_LSIRDY,LSI晶振就绪中断;RCC_IT_LSERDY,LSE晶振就绪中断 //RCC_IT_HSIRDY,HSI晶振就绪中断;RCC_IT_HSERDY,HSE晶振就绪中断 //RCC_IT_PLLRDY,PLL就绪中断;RCC_IT_CSS,时钟安全系统中断 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
2232 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1856 浏览 1 评论
1355 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
884 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
2218 浏览 2 评论
2122浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
1052浏览 4评论
stm32f4下spi+dma读取数据不对是什么原因导致的?
414浏览 3评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
743浏览 3评论
722浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-4-23 16:35 , Processed in 0.954578 second(s), Total 76, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191