0.96寸oled显示坏苹果(badapple)

本教程详细介绍了如何将Badapple视频转换为图片序列,再通过STM32读取并显示在0.96寸OLED屏幕上。步骤包括下载视频、使用KMPlayer抓取图片、Image2Lcdv3.2取模生成bin文件、合并bin文件以及编写STM32代码从SD卡读取并显示视频帧。
摘要由CSDN通过智能技术生成

前言

俗话说:有屏幕的地方就会有badapple。
下面带来使用0.96寸OLED屏幕显示badapple的教程。

1、获取视频

首先从网上下载badapple的视频,下载地址:badapple

2、抓取视频图片

使用OLED播放视频的思想就是将视频分成一张一张的图片然后进行显示图片

将视频分成一张一张的图片需要使用软件 KMPlayer 来获取,软件下载方式自己在网上下载即可。

  1. 将视频badapple拖放到软件 KMPlayer 中,右击选择捕获->高级捕获:

在这里插入图片描述

  1. 设置捕获图片的尺寸

在这里插入图片描述

设置完成后,点击开始,紧接着播放视频~

然后会看到KMPlayer软件安装目录下的Capture文件夹下有很多图片产生
在这里插入图片描述

3、对捕获的图片进行取模

利用软件Image2Lcd v3.2批量对图片进行取模,取模后的结果选择生成bin文件
在这里插入图片描述
在这里插入图片描述
等待片刻,会在KMPlayer软件安装目录下的Capture文件夹下生成一个文件夹batch:
在这里插入图片描述

4、合并bin文件

在文件夹batch里打开cmd:
在这里插入图片描述
接着输入以下命令:

copy  /b  *.bin  badapple.bin

在这里插入图片描述
合并完成后在batch文件夹最下面找到badapple.bin文件剪切粘贴到内存卡。

5、编写代码

现在bin文件已经制作完成了,也放到了SD卡中了,接下来就是从SD卡中读取出来并在OLED上显示出来即可。

void badapple_play(void)
{
	unsigned char G_Bin[1024];
	/*BIN图形显存 */
	FRESULT res;
	/*用来指示运行情况 */
	FIL fsrc;
	/* 文件对象指针 */
	uint32_t ls_move = 0;
	/* 存储文件指针移动 */
	UINT br;
	/*成功读取的字节个数 */
	res = f_open(&fsrc, "0:/badapple.bin", FA_READ);
	if (res == FR_OK) {
		//文件的路径要对应,即前面把badapple.bin放在SD根目录下
		while (1) {
			res = f_lseek(&fsrc, ls_move);
			res = f_read(&fsrc, G_Bin, sizeof(G_Bin), &br);
			if (br != 1024) {
				/* 已经把数据读取完成 */
				ls_move = 0;
				break;
			}
			OLED_ShowPicture(0, 0, 128, 64, G_Bin);/*显示帧数据 */

			SysTick_Delay_ms(70);  /*加点延迟,看起来不会太鬼畜*/
			ls_move += 1024;   /*bin件数据位置偏移 */
		}
	}
}

编译之后下载到STM32中即可看到效果,效果展示:Bilibili

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯大师~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值