nuc990 发表于 2024-7-5 15:01

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乱闪烁了。

chenjun89 发表于 2024-7-9 08:32

用示波器测一下外部时钟信号是否正确

suncat0504 发表于 2024-7-30 20:28

看看芯片系统结构,看看是不是在电路上有分频之类的东西影响了。

nuc990 发表于 2024-9-20 15:32

没有官方人解答吗

probedog 发表于 2024-9-26 10:28

检查时钟配置是否错误

elephant00 发表于 2024-9-26 10:32

使用万用表或示波器检查外部晶振是否已正确连接到HSE引脚。

laocuo1142 发表于 2024-9-26 15:26

外部晶振(8MHz)可能未正确连接到HC32F030的HSE引脚。

两只袜子 发表于 2024-9-26 16:56

晶振的负载电容可能未正确配置,导致晶振无法起振。

jcky001 发表于 2024-9-26 17:00

时钟切换的代码可能存在逻辑错误或遗漏

cr315 发表于 2024-9-26 20:45

芯片内部时钟系统可能存在故障,导致无法正确识别或切换外部时钟。

shenxiaolin 发表于 2024-9-29 10:09

很多国产的晶振PLL的时候没法锁频

更多更合适ii 发表于 2024-9-30 17:32

切换时钟前(根据外部高速晶振)设置XTH频率范围,配置晶振参数,使能目标时钟
页: [1]
查看完整版本: HC32F030内部RCH时钟切换到外部8MHZ时钟出错