完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
2012的7月份,本该是乖乖的在做暑假工的,但是因为各种原因,和同学在广州被奸商坑了,身无分文、像个贼一样寄宿在广州的某个高校宿舍里,也是这个时候,我第一次来到这个论坛,在这个论坛上开始了我的单片机之旅,第一次知道这里有明星小组之后,我便决定日后一定要申请这里的明星小组。一直到今天,从一个年轻菜鸟变成了现在的还是菜鸟,我决定向论坛申请明星小组,最后管理员给了我一个机会,让我做单片机版版主,第一次做这么大的官,到现在还不太知道怎么管理,老对不起管理员了.......管理员让我发布一些自己做的练习....我对51单片机不精通,对AVR单片机也不精通,对STM32更不精通,因为对STM32比较感兴趣,所以想和大家一起来学习STM32 第一篇 STM32的时钟 从51和AVR突然间到了STM32,才发现STM32是多么的强大,时钟也需要配置,还那么的复杂................ 这是STM32的时钟树,在配置时钟时,需要配置到AHB,也就是总线时钟。普遍的最小系统使用的是外部高速时钟,刚上电的时候单片机使用的是内部时钟,所以需要我们进行软件配置成外部时钟和设置频率 时钟的整个流向:时钟源从HSE OSC进来 -> 可分为3个方向,这里选择直接进入PLLXTPRE -> PLLSRC选择PLL时钟源 -> PLLMUL选择倍频数 -> 系统时钟源选择 -> AHB选择分频数 -> 时钟初始化配置大功告成 可以看出,要想达到初始化配置大功告成需要配置6次 第一次:打开外部时钟源,寄存器RCC_CR的第16位置位打开外部时钟源,17位硬件置位表示外部时钟源就绪。 编程:RCC->CR|=1<<16; //外部中时钟使能HSE ON while(!((RCC->CR>>17)&0X01));//等待外部高速时钟就位 第二次:设置PLLXTPRE分频数,寄存器RCC_CFGR的第17位,这里设置成不进行分频 编程:RCC->CFGR&=~(1<<17); 第三次:选择PLL时钟源,寄存器RCC_CFGR第16位 编程: RCC->CFGR|=1<<16; //外部高速时钟作为 PLL输入,PLLSRC ON 第四次:选择PLL的倍频数,位21--18 编程,根据实际情况选择 第五次:系统时钟源选择 RCC_CFGR位【1:0】 编程:RCC->CFGR=0X00000002; //PLL作为时钟 第六次:打开PLL时钟,RCC_CR位26 编程:RCC->CR|=1<<24; //PLL ON while(!((RCC->CR>>25)&0X01));//等待PLL锁定 就到这里,欢迎大家纠错 |
|
相关推荐
1 条评论
3 个讨论
|
|
不错的文件,值得收藏
|
|
|
|
|
|
你正在撰写讨论
如果你是对讨论或其他讨论精选点评或询问,请使用“评论”功能。
1980 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
1836 浏览 3 评论
4416 浏览 0 评论
如何解决MPU-9250与STM32通讯时,出现HAL_ERROR = 0x01U
1985 浏览 1 评论
hal库中i2c卡死在HAL_I2C_Master_Transmit
2489 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 14:30 , Processed in 0.739338 second(s), Total 55, Slave 44 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号