完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
|
HAL库的例程中是先调用HAL_Init()这个函数,然后调用SystemClock_Config(),但是Systick的配置是在HAL_Init()中做的,然后在用SystemColck_Config()配置时钟,不是会导致SysTick()实际的时钟频率和配置的时钟频率不一致的情况吗
|
|
相关推荐
11个回答
|
|
|
是不是在设置完时钟后还需要重新设置一下SysTick
|
|
|
|
|
|
貌似没太懂具体意思
|
|
|
|
|
|
不怎么用这个库,启动时通过SystemInit已经初始化了系统时钟,但是后面为什么还要初始化,我也不太明白。还得先了解一下这个CM怎么用。
|
|
|
|
|
|
HAL_Init()已经初始化了SysTick的时钟源的频率,再用SystemClock_Config()初始化系统时钟后,那么SysTick实际的时钟源的频率不就可能发生变化吗,那么和开始用HAL_Init()初始化时所用的时钟频率是不同的了,那么后面再用库中提供的延时函数不就不准确了吗 |
|
|
|
|
|
启动初始化的时钟是72MHz未必满足要求,后面初始化的才是自己需要的时钟频率 |
|
|
|
|
|
在SystemClock_Config();函数中调用了HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)
而HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)又调用了 HAL_InitTick (TICK_INT_PRIORITY);重新获得了新的系统时钟。 HAL_InitTick (TICK_INT_PRIORITY);函数中有得到系统时钟的函数HAL_RCC_GetHCLKFreq(), 所以即使修改了系统时钟,但是systick也重新获得了新的系统时钟。 |
|
|
|
|
亲爱的娜娜 发表于 2018-10-1 20:02 多谢解惑,我看的不够仔细,呵呵 |
|
|
|
|
dingyang598 发表于 2018-10-1 19:33 你还是仔细看下代码吧,哈哈哈 |
|
|
|
|
|
|
|
|
|
|
|
我也不明白,学习
|
|
|
|
|
|
|
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
STM32F405驱动DS1302时钟模块,输出时间错乱该怎么排查?
2776 浏览 2 评论
stm32f405rgt6驱动DS1302ZN出现时间错乱问题
2379 浏览 1 评论
stm32用fsmc读取ad7606采集数据,数据不变,只有开发版复位才更新数据
2255 浏览 0 评论
2367 浏览 1 评论
1625 浏览 1 评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 18:16 , Processed in 0.963771 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1349