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

SD卡通过读取bin文件替代读取图片格式文件来提高LCD显示速度

1.效果及分析

下面是STM32F103VET6通过SDIO方式读取SD卡的bin文件(2进制)并通过FSMC显示到240*320尺寸的TFTLCD上的效果,对比上次写的采用TJPEG解码库解码JPG文件并显示的效果进行对比:在这里插入图片描述

SD卡+FATFS+Tinyjpeg图片解码显示 (STM32F103VET6通过CubeMX快速建立工程)
可以看出来刷屏还是快了不少,因为我显示的是240x320尺寸的RGB565色彩图片,一张图总共是240x320x2=150KB大小,而STM32F103VET6的RAM只有64KB,所以我这里采用了每次读取240x20行数据的方式,这样仅需开辟一个9600bit(9KB)的stack内存分16次读取及显示就可以完成一张图片的完整显示,不过可以看出来一张图片的刷屏时间大概在0.5秒左右,还是肉眼可见的看见刷屏了,实测将SDIO的时钟分频减少,即提高时SDIO的通讯速率,可以明显看出刷屏速度变快,能证明刷屏的延迟并不是在MCU与LCD的通讯上,而是在MCU与SD的通讯上,这也是用SD卡读取较多数据时的局限性。
之前有试过STM32F103VET6采用nor flash的方式进行存储bin文件并进行读取显示,可以做到看不出刷屏的效果,TFTLCD驱动也是采用FSMC方式,读取和显示也是分多次进行完成的,也可以验证出nor flash在跟MCU的通讯上确实比SD卡速率快。

2.图片格式转bin格式

通过Image2TFT将各种格式的图片转换为16位或24位的bin文件:
在这里插入图片描述

3.程序提供

由于程序较简洁,这里直接给出c文件和h文件及调用方法即可:

sd_bin_picture.h

#ifndef sd_bin_picture_H
#define sd_bin_picture_H#include "main.h"FRESULT ReadAndDisplayImage(const 
http://www.xdnf.cn/news/12085.html

相关文章:

  • 半导体制冷片(Thermoelectric Cooler,TEC)
  • 深度学习Sitemap(NuxtSeo)
  • 《Offer来了:Java面试核心知识点精讲》大纲
  • 使用Prometheus实现微服务架构的全面监控
  • 慢SQL调优(二):大表查询
  • (四)docker命令—容器管理命令
  • 在 Spring Boot 中使用 WebFilter:实现请求拦截、日志记录、跨域处理等通用逻辑!
  • 嵌入式学习笔记 - freeRTOS的两种临界禁止
  • 改进社区检测和检索策略大幅提升GraphRAG性能新框架-ArchRAG
  • 策略公开了:年化494%,夏普比率5.86,最大回撤7% | 大模型查询akshare,附代码
  • 从 CLIP 和 Qwen2.5-VL 入门多模态技术
  • 2025Mybatis最新教程(三)
  • fmod产生的误差应该如何解决?
  • 日志项目——日志系统框架设计
  • 卡特兰数简单介绍
  • C++初阶 | 模板
  • C#中的依赖注入Dependency Injection, DI
  • AI 如何改变软件文档生产方式?
  • 图解浏览器多进程渲染:从DNS到GPU合成的完整旅程
  • JavaScript学习笔记(五)
  • 数据预处理的几种形式(转载)
  • 如何从零开始建设一个网站?
  • 卫星在轨姿态控制技术详解:从自旋稳定到高精度闭环控制
  • Redis中的setIfAbsent方法和execute
  • #开发环境篇:postMan可以正常调通,但是浏览器里面一直报403
  • python打卡day44@浙大疏锦行
  • GAN训练困境与模型分类:损失值异常与生成判别模型差异解析
  • WES7系统深度定制全流程详解(从界面剥离到工业部署)
  • RoPE 详解:旋转位置编码的原理与实践《一》
  • 回归分析-非线性回归及岭回归.docx