触摸屏上显示一些输入控件(如开关按键、字符串输入框、指示灯等)以支持外部命令的交互,成为嵌入式系统中必不可少的一部分,尤其是那些没有RTOS和GUI的嵌入系统。
通常解决这类问题的最直接方法就是,在显示屏上显示出的各种格式(BMP、JPEG、JPG、GIF、PNG)的图片。比如,要显示出一个按钮,就可以先将按钮图片制作好存在存储器上,然后直接由STM32读取后进行解码,再将其显示到LCD上。
图片显示需要先将原始数据进行解码处理(如使用图片解码库),然后再显示屏上绘制。
各格式的底层驱动函数,可以在网上查找,有详细的C语言驱动函数。
本次实验实现在LCD上显示一张动画效果的图片(GIF格式)。我们事先将一张GIF图片放在SD卡根目录下的Pic文件夹中,然后由STM32进行读取解析并绘制在LCD上。
实验预期效果:LCD初始化完成后,点亮LCD;接着初始化FATFS文件系统,并返回SD卡类型说明符;再初始化画笔,为绘图申请开辟特定的内存资源;最后在LCD指定区域显示出GIF所包含的每帧图片。
先将要显示的图片放置到SD指定目录上。
硬件电路(SD卡)
编写程序
一, 程序步骤:
1, LCD初始化
2, SD文件系统初始化
3, 画笔初始化
4, 图片绘图显示
二, 程序编写:
1, LCD初始化
2, SD文件系统初始化
3, 画笔初始化
在进行图片显示之前,需要初始化一次画笔,为其开辟相应的资源和内存空间。
While循环
4, 图片绘图显示
在指定区域显示指定的图片。
Show_Success返回值意义:
0x00//显示成功
0x27//图片格式错误
0x28//图片尺寸错误
0x29//窗口设定错误
0x11//内存错误
完成程序
3, 编译,下载
前面板显示的信息:
显示屏上的显示:
本文内容来自网友供稿,文章观点仅代表作者本人,本站非盈利且无偿提供信息存储空间服务,不拥有所有权,如有文章有不实信息或侵犯了您的权益,请发送邮件至 cfseo1997@163.com 反馈核实,如需转载请注明出处:https://www.taobobolive.com/232262.html