用CUBEMX生成的代码,HAL时钟问题。
1,首先,想问一下HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
uint32_t HAL_RCC_GetHCLKFreq(void){return SystemCoreClock;}
uint32_t SystemCoreClock = 16000000;
这个SYSTICK我明明在cube里面设置的168Mhz,为什么这里显示16M呢?是我找的位置不对吗?
还有mdk的设置里面有个显示时钟的地方是我设置的168
2,如果我需要us的延时(用来写软驱动),我可以直接把蓝色1000改为1000000吗?
自己顶,一天了没有人呢?快来聊聊呗。 本帖最后由 toofree 于 2018-10-3 23:07 编辑
1、从你的描述来看,有可能是时钟源没有成功切换过来,也就是说你的HSE在硬件上没有接,或者参数不合适,外部晶振没起振。有时也不排除CubeMX有BUG。你是用的Nucleo板吗?如果是的话,好多板上是没有接外部晶振的。
2、你在target上设置的那个外部时钟,对于硬件来说没有作用,如果要设置,那么也只能设置成8M,跟你的外部晶振一致。 本帖最后由 harvardx 于 2018-10-4 15:23 编辑
MARK一下.我在cubemx里面 导入了一个103C8T6的配置. 移植到103RCT6的单片机. 结果提示.rcc部分移植失败.. 肿么破?
请大家帮忙..
似乎是因为这个2个IIS时钟引起的.
这是RCT6的
这是C8T6的
你这里面的的 SystemCoreClock 只是个初始值,跟实际使用的时钟没有关系。 好的
页:
[1]