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

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

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

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

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

虚拟商品不可退

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

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
电路板图(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模型 风险等级 参考价格 更多信息
S29GL064N90TFI010 1 Spansion Flash, 4MX16, 90ns, PDSO56, LEAD FREE, MO-142EC, TSOP-56
$5.26 查看
LAN8742A-CZ-TR 1 SMSC Ethernet Transceiver, 4 X 4 MM, 0.90 MM HEIGHT, HALOGEN FREE AND ROHS COMPLIANT, SQFN-24
$2.5 查看
TLE9271QXV33XUMA1 1 Infineon Technologies AG Interface Circuit, PQCC48, VQFN-48
暂无数据 查看

相关推荐

电子产业图谱