打印
[FAQ]

APM32F103xC_主频/晶振_LCD液晶显示屏初始化出现卡顿和乱码

[复制链接]
538|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Gfan|  楼主 | 2022-3-31 16:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
  
芯片型号
  
APM32F103xC
问题类型/涉及模块
主频/晶振
简要描述
程序运行速度比预想的慢,LCD液晶显示屏初始化提示信息显示出现卡顿或显示乱码。
原因分析
1、卡顿问题分:
  
配置MCU  PA8引脚为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的时间为0x3200
  
2、当MCU、IDE类型、编译器版本、编译器选项存在变化时,都可能会引起软件延时的差异,因此在切换平台时,预先调整软件延时参数,后者使用系统滴答定时器延时。

使用特权

评论回复
沙发
七毛钱| | 2022-4-1 09:45 | 只看该作者
感谢分享,感谢提供了很不错的解决思路

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:极海半导体
简介:珠海极海半导体有限公司是一家致力于开发工业级/车规级微控制器、模拟与混合信号IC及系统级芯片的集成电路设计型企业。极海团队拥有20年集成电路设计经验和嵌入式系统开发能力,可为客户提供核心可靠的芯片产品及方案,实现准确感应、安全传输和实时控制,助力客户在智慧家居、高端消费电子、工业控制、汽车电子、智慧能源以及通信设施等领域的拓展创新。

98

主题

125

帖子

6

粉丝