STM32驱动TFTLCD播放动画

您所在的位置:网站首页 ui动画演示软件怎么用 STM32驱动TFTLCD播放动画

STM32驱动TFTLCD播放动画

2024-07-16 04:03| 来源: 网络整理| 查看: 265

STM32驱动TFT播放动画(BADAPPLE) 1.硬件型号及软件资料2.软件使用-导出.bin文件3.原理分析及代码实现4.实现效果5.友情提示

1.硬件型号及软件资料

最近尝试在做一个stm32驱动tft播放动画的例程,在网上看了一篇博主的文章,对其中部分类容不是很理解,于是自己重新做了下。希望能帮到有需要的人。 原文链接 1.硬件型号:STM32系列(能使用正点原子提供的FATFS实验即可)本例中使用的开发板为启明欣欣的STM32F407ZGT6开发板。 2.软件资料:Image2Lcd、KMP64。后者提取动画的每一帧,前者将提取到的图片文件转换为.bin二进制文件。 本例程播放的动画为BAD APPLE,黑白二色的动画。 软件资料链接: https://pan.baidu.com/s/1Q2CKXtSdyXa2guuGvDNGAQ 提取码:vycg

Imge2Lcd

KMP64

2.软件使用-导出.bin文件

一、使用KMPLAYER打开BAD APPLE视频提取视频的每一帧。 1:在软件中打开该视频文件,不用播放。 2:按Alt+V打开高级捕获,按图中步骤开始捕获每一帧图片。 捕获动画帧 导出后的文件夹中将有很多张图片 导出图片文件夹内容 二、使用ImgeLcd将图片转为bin文件。 1.打开第一张图片,应该全是黑色的,按图进行配置。(我这里随便选了一张)。 在这里插入图片描述 2.点击菜单栏的批量转换,并点击确定。 在这里插入图片描述 这里会自动开始将文件夹下的所有图片按顺序转换到batch目录下。(在转换的过程中软件界面可能会卡,直接不用管,多等一会就好了,可以通过看batch目录中的个数确定是否转换完成。正确个数是:6966) 3.将batch文件夹下的所有.bin文件打包为一个。 步骤如图: win+r输出cmd进入控制台 弄完后把batch文件夹最后一个.bin文件(也就是合成的那个.bin文件,会比其他文件大很多)复制到sd卡根目录中。

3.原理分析及代码实现

一、.bin文件图片数据分析。 1、.bin文件数据说明。 可以打开ImageLcd软件帮助界面查看说明:在单色模式下,输出是按照白色为0,黑色为1,每个像素点对应1位数据,8位数据合成一个字节,当图片的宽度不是8的倍数时会在最后一个字节中没有数据的位置补0,如该例图片的宽度为300,300\8=37(字节)余4(位),则第38个字节的前4位有数据,后4位没有数据,会往其中添加4个0凑成一个字节。所以我们需要根据这个原理对我们图片的显示设计相关的算法,避免后4位的数据添加到了头部。 一行像素最后一个字节的数据 2、编写.c文件检查数据。

#define _CRT_SECURE_NO_WARNINGS #include #include int main() { // 定义文件指针 FILE* file; // 以二进制读取方式打开文件 file = fopen("E:\\Bad Apple\\batch\\Bad Apple but it's in 4k 60fps.mp4_20230726091226_0001.bin", "rb"); if (file == NULL) { // 打开文件失败 printf("无法打开文件.\n"); return 1; } // 读取文件内容并逐字节输出到控制台 int byte; int length = 0; int flag = 8; while ((byte = fgetc(file)) != EOF) { length++; flag = 8; //printf("%02X ", byte); // 以16进制格式输出,可根据需求修改输出格式 //读取每行的最后一个字节以2进制输出,验证后4四位是否补0 if (length % 38 == 0) { while (flag) { printf("%c", (byte & 0x80) ? '1' : '0'); byte = byte


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3