发布时间:2026/8/5 11:07:40
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底层的时钟频率设置多小或多大都可以正常工作只是屏幕的刷新变化。这里的死等循环是不是需要设置为状态机比较好。

相关新闻

2026/8/5 11:07:40

Mysql 复合查询

多表查询实际开发中往往数据来自不同的表,所以需要多表查询。本节我们用一个简单的公司管理系统,有三张 表EMP,DEPT,SALGRADE来演示如何进行多表查询。部门表 dept员工表 emp工资等级表 salgrade案例:显示雇员名、雇员工资以及所在部门的名字…

2026/8/5 11:07:40

STM32串口中断通信:从阻塞轮询到高效并发的HAL库实战指南

1. 从阻塞到响应:为什么串口通信必须用中断? 搞STM32开发的,串口通信是绕不开的基础。很多新手教程都是从HAL库的 HAL_UART_Transmit 和 HAL_UART_Receive 这两个轮询(Polling)函数开始的,代码简单直接…

2026/8/5 11:02:40

智能体入门:概念、架构与应用亮点

智能体(AI Agent)可以理解为一种具备自主思考与行动能力的人工智能系统。如果说传统AI像个只会执行单一指令的"工具",智能体就更像一位能理解目标、自己想办法完成复杂任务的"数字伙伴"或"虚拟员工"。&#x1…

2026/8/5 12:12:43

PDF论文处理-Dify数据库构造 项目文件说明

📁 项目文件说明核心文件主脚本process_papers.py - 主执行脚本,用于处理PDF论文并生成Dify知识库数据测试文件test_processor.py - 单元测试脚本,验证各个模块功能源码目录 (src/pdf_processor/)config.py - 配置文件,包含chunk设…

2026/8/5 12:12:43

Linux关机重启命令详解与reboot挂死问题排查指南

1. 项目概述:不只是关机重启那么简单在Linux世界里,关机重启是每个系统管理员和开发者都绕不开的基础操作。表面上看,这不过是敲几个命令的事,但背后涉及的机制、权限、信号处理乃至硬件交互,却常常藏着不少“坑”。我…

2026/8/5 12:12:43

系统架构师之数据库-Redis

基本概念 Redis(Remote Dictionary Server)开源的、基于Key-Value结构的NoSql内存数据库。 工作流程 用户读取数据 -> Redis查询是否命中 -> 是》直接返回数据 否》从数据库查询数据->返回数据给用…

2026/8/5 12:07:43

Django ORM高效左连接:prefetch_related深度解析与实践

它深入探究了于其中怎样高效地去执行父子表的左连接查询, 目的是获取全部父记录以及与之关联的子记录, 这里所说的父记录包含那些不存在子记录的情况, 我们对和原始SQL查询的局限进行了对比, 着重介绍了ORM所提供的方法, 阐释了其工作原理、具备的优势以及在防止数据冗余和优化…

2026/8/5 3:13:11

如何用免费工具突破游戏窗口限制:SRWE完整使用指南

如何用免费工具突破游戏窗口限制:SRWE完整使用指南 【免费下载链接】SRWE Simple Runtime Window Editor 项目地址: https://gitcode.com/gh_mirrors/sr/SRWE 你是否遇到过这样的困扰?想为心爱的游戏截图,却发现游戏不支持自定义分辨率…

2026/8/5 0:01:34

三升四,比成绩下滑更可怕的,是孩子开始「认命」

分水岭上,最难的不是翻过去,是孩子不想翻了。八月初了。这两个字,对三升四的家长来说,比任何闹钟都让人清醒。最近的家长群里,气氛明显不一样了。一升二的在关心兴趣班,二升三的在讨论要不要提前学英语。而…

2026/8/5 0:01:34

Java缓存框架:JetCache

TOC 一、简介 JetCache 是一个 Java 缓存抽象框架,为不同的缓存解决方案提供了统一的使用方式。 它提供的注解比 Spring Cache 更加强大。 JetCache 的注解支持原生 TTL、两级缓存以及在分布式环境中的自动刷新功能,同时你也可以通过代码直接操作 Cach…

2026/8/5 0:01:34

AD 铺铜设置十字连接,过孔全连接,新版AD的简单设置

需求:通孔焊盘 十字花;过孔 Via 实心直连;贴片焊盘按需设置 AD 测试版本AD24 很多工程师踩坑:全部统一十字,导致接地过孔阻抗高、大电流发热! 一、快捷键打开规则 PCB 界面按下:D R 展开…

2026/8/3 22:40:58

实测才敢推 AI论文网站 2026最新测评与推荐

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。一、综…

2026/8/3 13:26:41

2026必备!AI论文网站测评:最新推荐与深度对比

2026年真正好用的AI论文网站,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

2026/8/3 16:43:13

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…