普中PZ6808L-F4开发板TFTLCD显示屏使用笔记

0x00 开发板介绍

这学期学的STM32开发,实验室里的开发板型号为PZ6808L-F4
把屏幕拆下来可以看到型号整个板子是这样的
csdn大一点的原图传不上来,截图粘贴上来的
这块板子是F103和F407双核的,但我学的一直就是F407,所以本文所有问题只针对F407。

由于期末实践需要用到这一块4.3寸TFT屏幕显示图片,过程遇到了一些问题,在此做个记录。

0X01 SD卡存储BMP图片

首先是尝试使用了普中给的例程【42. 数码相框-BMP图片显示实验】
(提示:普中例程里的库tftlcd需要替换,否则屏幕无法正常点亮)
在这里插入图片描述
库的路径看上面

普中的【普中STM32F4XX开发攻略】内对该实验例程有一些说明,但也有一些不符。比如这个攻略里的屏幕是3.5寸的,开发板的屏幕却是4.3寸的。

文档中这个提示一定要注意,要在SD卡根目录创建一个名为“图片”的文件夹,然后再把BMP格式的图放进去才能显示。而且对BMP图片的格式有一定要求。
开发攻略里的说明
经过多次尝试才试出来了这个例程可解析的BMP格式如下图
软件Image2Lcdv3.2,xx软件园下载,勿使用高速下载器 本地下载就行
在这里插入图片描述
选择24位真彩水平扫描,左下角勾选包含图像头数据以及自底向顶扫描高位在前就行,那个自右至左扫描无所谓。(经过尝试,原图最好是jpg或者gif比较好,png不知道为啥会糊)

由于该软件的24位似乎对宽高有限制,高度最多只能480,还没达到屏幕的极限,所以我又用格式工厂试了下,意外的可以使用,限制下宽高就行。
在这里插入图片描述
经过测试,该屏幕的宽度是480,高度800,显示效果如下:

宽度极限480
宽度极限480
高度极限800
高度极限800
图片是反着显示的(左右上下貌似都反了),大概是BMP解析的问题吧,有空再研究,现在先赶ddl去了…


现在大概赶完了作业,补充一点内容

0x02 C语言数组格式图片

图片同样是使用Image2Lcd v3.2这个工具进行转换的。
在这里插入图片描述
参数请选择16位真彩水平扫描,其他都别勾选(如上图)。

使用普中tftlcd库中的一个函数LCD_ShowPicture,代码如下:

// x\y是图片开始的横纵坐标, wide\high是图片宽高,pic是图片数组名
void LCD_ShowPicture(u16 x, u16 y, u16 wide, u16 high,u8 *pic)
{
	u16 temp = 0;
	long tmp=0,num=0;
	LCD_Set_Window(x, y, x+wide-1, y+high-1);
	num = wide * high*2 ;
	do
	{  
		temp = pic[tmp + 1];
		temp = temp << 8;
		temp = temp | pic[tmp];
		LCD_WriteData_Color(temp);//逐点显示
		tmp += 2;
	}
	while(tmp < num);	
}

注意:图片大小不能太大,因为会使代码文件变得过大。

效果图如下
在这里插入图片描述


还有一种是把bin文件放SD卡用FATFS文件系统读,因为读取速度快所以可以放视频(比如Bad Apple),但是我太菜了整不出来,之后研究研究再说。。


2023.7.25更新
因为一直有人问普中资料所以说一下,因为我已经毕业了所以早都删了,但是网上能找到资料,善用搜索啊同志们
http://prechin.net/forum.php?mod=viewthread&tid=35264

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值