你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

HAL库SYSTICK设置问题

[复制链接]
黑皮男 提问时间:2015-6-8 13:55 /
HAL库的例程中是先调用HAL_Init()这个函数,然后调用SystemClock_Config(),但是SysTick的配置是在HAL_Init()中做的,然后在用SystemColck_Config()配置时钟,不是会导致SysTick()实际的时钟频率和配置的时钟频率不一致的情况吗
<
收藏 1 评论12 发布时间:2015-6-8 13:55

举报

12个回答
黑皮男 回答时间:2015-6-8 14:17:25
是不是在设置完时钟后还需要重新设置一下SysTick
数码小叶 回答时间:2015-6-8 14:31:49
貌似没太懂具体意思
回答时间:2015-6-8 14:53:56
不怎么用这个库,启动时通过SystemInit已经初始化了系统时钟,但是后面为什么还要初始化,我也不太明白。还得先了解一下这个CM怎么用。
黑皮男 回答时间:2015-6-8 15:25:25
数码小叶 发表于 2015-6-8 14:31
貌似没太懂具体意思

HAL_Init()已经初始化了SysTick的时钟源的频率,再用SystemClock_Config()初始化系统时钟后,那么SysTick实际的时钟源的频率不就可能发生变化吗,那么和开始用HAL_Init()初始化时所用的时钟频率是不同的了,那么后面再用库中提供的延时函数不就不准确了吗
黑皮男 回答时间:2015-6-8 15:26:46
安 发表于 2015-6-8 14:53
不怎么用这个库,启动时通过SystemInit已经初始化了系统时钟,但是后面为什么还要初始化,我也不太明白。还 ...

启动初始化的时钟是72MHz未必满足要求,后面初始化的才是自己需要的时钟频率
creep 回答时间:2015-6-8 15:34:21
在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也重新获得了新的系统时钟。
黑皮男 回答时间:2015-6-8 15:58:27
creep 发表于 2015-6-8 15:34
在SystemClock_Config();函数中调用了HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)
而HAL_RC ...

多谢解惑,我看的不够仔细,呵呵
数码小叶 回答时间:2015-6-9 19:33:47
黑皮男 发表于 2015-6-8 15:25
HAL_Init()已经初始化了SysTick的时钟源的频率,再用SystemClock_Config()初始化系统时钟后,那么SysTick ...

你还是仔细看下代码吧,哈哈哈
黑皮男 回答时间:2015-6-10 08:14:30
数码小叶 发表于 2015-6-9 19:33
你还是仔细看下代码吧,哈哈哈

多谢楼主指点,现已知晓
12下一页

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版