APM32F103xC_主频/晶振_LCD液晶显示屏初始化出现卡顿和乱码
芯片型号APM32F103xC
问题类型/涉及模块主频/晶振
简要描述程序运行速度比预想的慢,LCD液晶显示屏初始化提示信息显示出现卡顿或显示乱码。
原因分析1、卡顿问题分:配置MCUPA8引脚为MCO功能,输出系统时钟观察,系统时钟为8MHz,未正确配置,导致运行变慢。外部晶振起振失败导致系统时钟较低,出现卡顿现象。2、乱码问题:编写GPIO翻转代码,先拉高电平、调用软件延时函数、拉低电平,使用示波器采集GPIO高电平时间,得出该软件延时并非合适的时间。因MCU的差异,导致软件延时时间不一致,从而引起乱码。
解决方案1.解决卡顿:外置晶振超时未启动,导致自动切换成内部低速时钟,运行速度变慢,修改HSE_STARTUP_TIMEOUT的时间为0x3200,程序运行正常。 2.解决乱码:当APM32 MCU的while执行速度比原用芯片快,客户使用while进行延时,延时变短导致LCD显示乱码,修改延时参数可解决该问题。
总结1、当外部高速时钟出现异常时,系统会切换至HSI作为系统时钟源,MCU的系统时钟降低,导致运行速度变慢,以下列出了几点外部高速时钟异常的可能原因:(1) 外部晶振超过晶振允许范围:4~16MHz(2) 晶振与芯片引脚短路(3) 晶振设计与芯片接线过远(4) 晶振质量问题导致不正常起振(5) 系统时钟软件配置出错(6) 等待起振稳定时间不够,导致自动切换成内部低速时钟,运行速度变慢,修改HSE_STARTUP_TIMEOUT的时间为0x32002、当MCU、IDE类型、编译器版本、编译器选项存在变化时,都可能会引起软件延时的差异,因此在切换平台时,预先调整软件延时参数,后者使用系统滴答定时器延时。
感谢分享,感谢提供了很不错的解决思路
页:
[1]