你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
数码小叶 发表于 2015-6-8 14:31 貌似没太懂具体意思
安 发表于 2015-6-8 14:53 不怎么用这个库,启动时通过SystemInit已经初始化了系统时钟,但是后面为什么还要初始化,我也不太明白。还 ...
creep 发表于 2015-6-8 15:34 在SystemClock_Config();函数中调用了HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) 而HAL_RC ...
数码小叶 发表于 2015-6-9 19:33 你还是仔细看下代码吧,哈哈哈
HenryChen 发表于 2015-6-10 09:35 我也不明白,学习
HAL_Init()已经初始化了SysTick的时钟源的频率,再用SystemClock_Config()初始化系统时钟后,那么SysTick实际的时钟源的频率不就可能发生变化吗,那么和开始用HAL_Init()初始化时所用的时钟频率是不同的了,那么后面再用库中提供的延时函数不就不准确了吗
启动初始化的时钟是72MHz未必满足要求,后面初始化的才是自己需要的时钟频率
而HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2)又调用了 HAL_InitTick (TICK_INT_PRIORITY);重新获得了新的系统时钟。 HAL_InitTick (TICK_INT_PRIORITY);函数中有得到系统时钟的函数HAL_RCC_GetHCLKFreq(),
所以即使修改了系统时钟,但是systick也重新获得了新的系统时钟。
多谢解惑,我看的不够仔细,呵呵
多谢楼主指点,现已知晓
前面有人解释