修改时钟配置后仍出现HardFault
修改时钟配置后仍出现HardFault! 未正确等待时钟稳定或未正确禁用旧时钟源。 检查时钟源(HSI、HSE、PLL)的频率是否超出芯片规格。 检查时钟树配置是否合理 电源稳定性不足 可能是由于时钟源失效、时钟频率超出范围、时钟分频器配置错误、PLL配置错误、时钟树配置错误或时钟稳定性问题等原因引起的。 如果使用外部高速振荡器(HSE),请调用RCC_WaitForHSEStartupe()函数等待其就绪。 PLL参数设置不当,可能导致PLL无法锁定或工作不稳定。 时钟树配置错误吧! 寄存器配置顺序不当? PLL启动需要时间,若未等待PLLRDY标志位即切换时钟源,会触发总线错误。 可能电源噪声、晶振不稳定或调试器固件过旧。 等待PLL锁定后再切换时钟。 通过ST-Link或J-Link连接调试器,在HardFault发生时暂停程序 当程序暂停于HardFault_Handler时,检查相关寄存器的状态 如果时钟分频器配置错误,可能会导致系统时钟过低或过高。 核查PLL配置是否符合芯片手册的要求 在疑似引起问题的代码区域设置断点 错误的引脚配置可能导致外设无法正常工作,进而触发HardFault。 切换时钟时未等待就绪信号,直接使用未稳定的时钟,会导致总线或外设异常。
页:
[1]