加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

LPC55S69+tf卡+lcd实现lcd显示jpg图片的工程源代码

05/16 09:46
1902
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
电路板图(3)
相关方案
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

这几天研究了一下LPC55S69开发板的tf读写,以及图片文件的读出显示在lcd功能。tf卡工程直接从官方SDK的示例代码里面挖出来的,使用的keil工程。重新排版了文件,编译测试过程过程很顺利。由于使用keil的pack包里面的CMSIS功能,所以项目内SDK的cmsis文件就不需要添加了。如果不去掉SDK内关于CMSIS的文件,编译会出现重定义错误。

初始SDK内测试tf卡例子跑成功后,后面准备添加LCD驱动。lcd使用的是并口8位数据接口屏,直接插在arduino接口上的。主要添加LCD屏的io初始化部分。在pin_mux.c中的void BOARD_InitPins(void)里面添加lcd的使用IO的初始化。LCD用的IO比较多,幸好tf卡用的IO和LCD用的IO没有重复,要不然就麻烦些了。LCD的驱动是写好的,直接拿过来用上就行。

添加LCD驱动后,然后再测试LCD屏是否正常。屏幕正常后,下一步准备添加jpg的解码库。这个jpg解码库使用的是tjpgd解码库。这个解码库是从RT-Thread的软件包里面找来的。

TJpgDec(Tiny JPEG Decompressor)是针对嵌入式系统高度优化的轻量级通用 JPEG 图像解码器,具有易于使用、资源占用小、方便移植等优点,广泛应用在各种资源受限的微处理器上,本软件包是 TJpgDec 的 RTT 移植版本。

解码库地址:https://github.com/RT-Thread-packages/TJpgDec

本次用的jpg解码库也相应做了些修改来适配。主要在tjpgd_port.c中。因为使用了malloc和free内存操作,所以需要设置堆和栈内存空间的。

中间也出现了一些问题,不过幸好都解决了。主要开始设置的堆栈空间不够,导致程序HardFaults了。开始不知道是出现啥问题了,老是显示图片突然死机了。单步调试后,后面才发现是进入HardFault了。

HardFaults一般主要是内存越界,堆栈溢出,内存非对齐访问问题。所以重点检查了堆栈设置。

开始就是没注意有2个地方设置了栈空间,加大了栈空间后就正常了,堆空间和栈空间都加大了,防止空间不够。TJpgDec解码最少需要3K多的堆空间用于内部内存分配。

最终实现了jpg图片文件的显示。后面准备BMP图片文件解码的,bmp解码还未完善。

原图:

显示效果图:

最后是整个工程代码:

lpc55s69_sd_fatfs_lcd.rar (5.6 MB)

  • lpc55s69_sd_fatfs_lcd.rar

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
ASDMB-24.000MHZ-LC-T 1 Abracon Corporation MEMS OSC XO 24.0000MHZ LVCMOS

ECAD模型

下载ECAD模型
$4.04 查看
SGTL5000XNAA3R2 1 Freescale Semiconductor Audio Codec , Ultra Low-Power, 4 mw for DAC-to-HP, 98 dB SNR and -80 dB THD+N, QFN 32, Reel

ECAD模型

下载ECAD模型
$3.53 查看
FTLF1321P1BTL 1 Finisar Corporation Transceiver, 1270nm Min, 1360nm Max, 2667Mbps(Tx), 2667Mbps(Rx), LC Connector, Panel Mount, ROHS COMPLIANT PACKAGE
$733.33 查看

相关推荐

电子产业图谱