完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
void RCC_Configuration(void)
{ ErrorStatus HSEStartUpStatus; //SystemInit(); //完全可以使用此函数配置,但是为了学习咱先不用 RCC_DeInit(); //复位RCC模块的寄存器,复位成缺省值 RCC_HSEConfig(RCC_HSE_ON); //开启HSE时钟,咱是用HSE的时钟作为PLL的时钟源 HSEStartUpStatus = RCC_WaitForHSEStartUp(); //获取HSE启动状态 if(HSEStartUpStatus == SUCCESS) //如果HSE启动成功 { FLASH_PrefetchBufferCmd(ENABLE); //开启FLASH的预取功能 FLASH_SetLatency(FLASH_Latency_2); //FLASH延迟2个周期(这里我也不明白,先用吧) RCC_HCLKConfig(RCC_SYSCLK_Div1); //配置HCLK,PCLK2,PCLK1,PLL RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); RCC_PLLConfig(RCC_PLLSource_HSE_Div1,RCC_PLLMul_9); RCC_PLLCmd(ENABLE); //启动PLL while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET) {} //等待PLL启动完成 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK); //配置系统时钟 while(RCC_GetSYSCLKSource() !=0x80) //检查是否将HSE 9倍频后作为系统时钟 {} } } 设置时钟流程: 1.将RCC寄存器重新设置为默认值 RCC_DeInit 2.打开外部高速时钟晶振HSE RCC_HSEConfig(RCC_HSE_ON); 3.等待外部高速时钟晶振工作 HSEStartUpStatus = RCC_WaitForHSEStartUp(); 4.设置AHB时钟 RCC_HCLKConfig; 5.设置高速APB2时钟 RCC_PCLK2Config; 6.设置低速速APB1时钟 RCC_PCLK1Config 7.设置PLL RCC_PLLConfig 8.打开PLL RCC_PLLCmd(ENABLE); 9.等待PLL工作 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) 10.设置系统时钟 RCC_SYSCLKConfig 11.判断是否PLL是系统时钟 while(RCC_GetSYSCLKSource() != 0x08) 12.打开要使用的外设时钟 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd() 1.使用systeninit()和不使用有什么区别? 2.使用systeninit()和设置时钟流程的1-12步骤有什么区别? 3.我写程序不用systeminit().也不适用设置时钟流程的1-12步骤,只使用第12步,程序也能运行,请问有什么不同? |
|
相关推荐
8个回答
|
|
只使用第12步,那就用的是默认内部8M时钟;配置过可以达到72M;还是不要看库函数了,直接看寄存器吧。
|
|
|
|
systeninit就是一个函数,只是st的人把他潜入到.s文件里面去了,在执行main函数之前就运行了这个函数,所以在main函数里面就不需要管时钟这些东西了。
|
|
|
|
|
|
|
|
如果使用systeninit();APB1时钟是72/2=36M,
如果不加systeninit(); 只使用 RCC_APB2PeriphClockCmd()/RCC_APB1PeriphClockCmd(),APB1时钟能达到多少? |
|
|
|
看手册,明明说了.APB1最大就是36M.
|
|
|
|
|
|
APB1必定是APB2的一半么
|
|
|
|
当然不是.看你的分频设置i.
|
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1683 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1582 浏览 1 评论
1013 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
703 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1627 浏览 2 评论
1892浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
675浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
537浏览 3评论
556浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
525浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-3 17:55 , Processed in 0.809584 second(s), Total 91, Slave 73 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号