芯源芯片PLL倍频后程序不运行原因
不注释红框中的代码程序就不运行
原因是倍频超过了24M,在切换时钟前需要设置一下FLASH读等待周期,在
RCC_SysClk_Switch(RCC_SYSCLKSRC_PLL);之前插入如下代码
//< 当使用的时钟源HCLK大于24M,小于等于48MHz:设置FLASH 读等待周期为2 cycle
__RCC_FLASH_CLK_ENABLE();</div><div>FLASH_SetLatency(FLASH_Latency_3);可设置的参数,需要根据你设置的频率进行调整
芯源的倍频导致的问题还是很多的 在使用PLL倍频作为系统时钟时,需要正确选择时钟源。如果选择了错误的时钟源,可能会导致系统时钟不稳定或无法正常工作 外部晶振或内部RC振荡器不稳定、损坏或未正确起振
电源供应不稳定、电压不足或电源噪声过大,会影响PLL的工
LL的倍频系数、预分频系数、反馈分频系数等参数设置不正确
复位电路设计不当或出现故障,可能导致芯片在启动过程中无法正确完成初始化,从而影响PLL的配置和后续的程序运行
如果PLL的相关中断与其他中断发生冲突或优先级设置不合理,可能会影响程序的正常运行
LL倍频是不是与其他的冲突了? 倍频其实主要是提升速率与芯片本身最高速率一定要确认 倍频设置一般跟MCU最高性能有关系 此时如果没有设置适当的 FLASH 读等待周期,CPU 在读取 FLASH 时会因为访问过快导致错误或不稳定的读取。
页:
[1]