周五下班拿到CH563L评估板,下了官网例程CH563EVT.ZIP,测试中发现当 SYSFREQ.h 中系统频率FREQ_SYS 改为125M后,调试串口没有了反应。

最后发现是PLL的两个寄存器赋值在125M时被预处理拿掉所致:

#if ( FREQ_VCO_MUL != 25 )

    R8_PLL_LOOP_DIV = FREQ_VCO_MUL ;

#endif

#if ( FREQ_OSC_DIV != 3 )

    R8_PLL_PRE_DIV = FREQ_OSC_DIV ;

#endif

修复后串口初始化会引发告警,稍作修改去除告警后正常。