HC32F030内部RCH时钟切换到外部8MHZ时钟出错
本帖最后由 nuc990 于 2024-7-5 15:03 编辑void App_Rch4MHzToXth8MHz (void)
{
Flash_WaitCycle(FlashWaitCycle0);
///< 切换时钟前(根据外部高速晶振)设置XTH频率范围,配置晶振参数,使能目标时钟,此处为8MHz
Sysctrl_SetXTHFreq(SysctrlXthFreq6_12MHz);
Sysctrl_XTHDriverCfg(SysctrlXtalDriver3);
Sysctrl_SetXTHStableTime(SysctrlXthStableCycle16384);
Sysctrl_ClkSourceEnable(SysctrlClkXTH, TRUE);
delay1ms(30);
///< 时钟切换
Sysctrl_SysClkSwitch(SysctrlClkXTH);
Sysctrl_ClkSourceEnable(SysctrlClkRCH, FALSE);
delay1ms(30);
///< 使能HCLK从PA01输出
#if 0
Gpio_SfHClkOutputCfg(GpioSfHclkOutEnable, GpioSfHclkOutDiv1);
while(1);
#endif
}请问下这个内部RCH4MHZ时钟切换到外部8MHZ晶振的代码是否正确?这个代码跑起来后,时钟乱了。LED1S闪烁一次指示的,结果LED乱闪烁了。
用示波器测一下外部时钟信号是否正确 看看芯片系统结构,看看是不是在电路上有分频之类的东西影响了。 没有官方人解答吗 检查时钟配置是否错误 使用万用表或示波器检查外部晶振是否已正确连接到HSE引脚。 外部晶振(8MHz)可能未正确连接到HC32F030的HSE引脚。 晶振的负载电容可能未正确配置,导致晶振无法起振。 时钟切换的代码可能存在逻辑错误或遗漏 芯片内部时钟系统可能存在故障,导致无法正确识别或切换外部时钟。 很多国产的晶振PLL的时候没法锁频 切换时钟前(根据外部高速晶振)设置XTH频率范围,配置晶振参数,使能目标时钟
页:
[1]