当前位置: 首页 > news >正文

STM32F103C8T6移植LVGL遇到的相关问题(W25Q64)

大家好,在编写这次博客文章之前,大家可以看看我的第一篇博客,那里有我为什么编写这篇文章的目的,在之前说过,由于该最小系统板的内存容量非常小,ram和flash都很小,那么此时移植过去就会导致我的内存溢出,爆炸。然后我就想通过将我的字库文件移植到W25Q64外置flash中,这样我的最小系统板的flash就能让出空间移植LVGL,移植一个LVGL的所有文件。首先lvgl的最小要求flash大于等于64KB,而最小系统板的flash容量为64KB,那么如何完成这个压缩,我初步尝试是通过W25Q64,那么在编写底层代码的过程中,遇到了几个问题和大家共勉。

首先第一个问题,在驱动代码的时候,经常会忘记一件事,那就是等待忙结束的标志位,翻看了数据手册,在每个页编程以及擦除内存的代码中,都需要进行等待忙的标志位,才能进行下一次操作。

接着第二个问题,首先我的lcd底层驱动代码和w25驱动代码采用的是同一种spi外设资源,然后我发现,当我将spi的分频参数改为2分配,也就是此时SPI的时钟频率达到36Mhz,这时就能正常工作。查看数据手册后发现,它一般是18MHZ,也就是4分频,这个状态下发现,lcd屏幕一开始并不会卡死,之后当我将校准屏的校准参数保存至W25的flash中发现,此时就会出现LCD屏幕卡死不动,而通过串口发现while循环的内部程序仍在正常运行,那么此时更改为2分频,也就是36Mhz,此时发现设备却可以正常运行,校准参数成功写入到W25的flash,这个问题初次排查是认为spi的底层驱动代码的问题,我在尝试把lcd代码注释后,单独用W25进行驱动,此时发现并不会出现频率影响,那么可以断定是LCD的底层驱动代码导致的问题。

接下来就是分析LCD底层代码到底哪里出现的问题,通过问ai发现,是由于我的LCD驱动代码在编写时,并没有清空返回的数据,接受寄存器中的数据一直保存,并没有处理,那么在w25没有使用的情况下,lcd屏幕正常是不会卡死的。

解决方法:

1:重新修改LCD的底层SPI驱动代码,添加SPI接受数据代码,避免在W25发送数据并接受到之前没有删除干净的数据。

2:后续发现是由于LCD屏幕的底层spi驱动代码导致的问题,在发送命令或数据的同时,并没有清空接受缓冲区,并且在等待清空标志位的同时,弄错了标志位的参数,导致卡死,修改以后,无论spi底层的时钟频率设置多小或多大都可以正常工作,只是屏幕的刷新变化。(这里的死等循环是不是需要设置为状态机比较好。)

http://www.jsqmd.com/news/1332704/

相关文章:

  • 终极免费激活指南:KMS智能脚本让Windows和Office永久激活变得简单
  • Python爬虫18个实战案例:从环境搭建到数据存储完整指南
  • 闲鱼采集工具:20核高并发不抢焦的云端挂机实战
  • Rust驱动的番茄小说下载器:高性能跨平台数字阅读解决方案终极指南
  • 激光切割支架三维设计:SolidWorks钣金模块实战指南
  • 3.Introduction to PyTorch YouTube Series--Autograd
  • Windows DOS命令实战:从基础操作到批处理脚本开发
  • 武汉电气自动化培训招生简章|2026中南智能工控课程收费、就业安排全面介绍 - 学途指南
  • 终极指南:四步让老旧Mac焕然新生,完整OpenCore Legacy Patcher教程
  • B站成分检测器:3分钟看懂评论区用户真实身份,告别信息盲区
  • 【深度解析】化妆品级炉甘石粉:特性解析与护肤应用指南 - 全域品牌推荐
  • 闲鱼防关联系统:多线程不抢焦,告别网页卡死报错
  • 工业自动化职业选择:机器视觉与PLC技能栈构建指南
  • 20分钟上手WorkBuddy:用自然语言指令实现办公自动化
  • Nintendo Switch游戏文件管理利器:NSC_BUILDER完全指南
  • 达梦数据库【安装篇】01:CentOS7.5安装达梦数【DM8】数据库
  • 2026国内地坪漆供应商大盘点:合规资质、实力解析与选型避坑全指南附FAQs - U渠道
  • 跨平台鼠标连点器完全指南:3步实现高效自动化点击
  • FPGA实现线性相位FIR滤波器:结构选型、资源优化与Vivado实战
  • ComfyUI-VideoHelperSuite:AI视频处理的终极解决方案
  • 孕早期减缓妊娠纹产品推荐|刚怀孕就要开始涂吗?怎么选?一篇讲透 - 甄选测评馆
  • 终极解决方案:3分钟搞定Windows识别iPhone网络共享驱动难题
  • ThinkPad风扇控制新境界:TPFanCtrl2让你的笔记本更安静更高效
  • 2026年8月白云区合同纠纷律师机构哪家好,民间借贷律师机构推荐|吴学超律师地址核对|电话18208512898与到店准备|资料更新2026年8月5日 - geo88
  • 怎么防止多 Agent 并行开发时的代码冲突?
  • Stable Diffusion实战:从提示词到ControlNet,打造可控AI人物图像生成工作流
  • Windows苹果设备驱动一键安装:3分钟解决iPhone USB网络共享难题
  • 3步掌握BlenderKit:免费3D资产库终极使用指南
  • 苏州全域直营黄金回收门店,资质公示随时可核验 - 奢侈品回收评测
  • douyin-downloader:颠覆性抖音内容采集解决方案,实现95%去重准确率与420%效率提升