OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4149|回复: 4

OLED如何播放badapple,5步实现badapple视频播放。

[复制链接]

1156

主题

1168

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
4985
金钱
4985
注册时间
2019-5-8
在线时间
1260 小时
发表于 2021-12-24 17:35:02 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2022-1-7 17:22 编辑

以下文章来源于:公众号开源电子网读取更多技术文章,请扫码关注


OLED如何播放badapple
前言

badapple早已红遍全网,很多时候都是使用ESP系列板子来玩,使用OLED屏幕方式播放得多。很多人也比较好奇,怎么在OLED屏幕上播放出badapple。简单来说,就是badapple的小视频片段弄成一帧帧的数据,然后我们通过获取帧数据,进而显示在OLED屏幕上,只要这个间隔时间很短,最终我们就感觉像是流畅播放的效果。



这里,我们以精英版寄存器版本的汉字显示实验例程为模板,需要一张SD卡,以及一个badapple.bin文件(附件提供)。badapple.bin文件存放的是badapple视频片段的帧数据。我们利用的是文件系统对文件的读取操作,很方便的进行帧数据的获取并且把数据显示在OLED屏幕上。
跟着我的脚步,5步实现badapple视频播放。



工程文件链接:
https://pan.baidu.com/s/1g1TOD-RKkkRl60jDTFZ83g
提取码:zdyz


第一步:将badapple.bin拷贝进SD卡根目录下,如下图所示:

(注意:这里我们需要记住存放位置,后面工程需要通过路径找到改文件)


第二步:打开工程,进行oled文件添加并且删减一下main函数代码。



1,添加oled.c到工程,oled.h路径工程已经添加到include_path里。
2,把原先main函数的代码删减成上图并且进行oled初始化。while循环里就执行badapple_play函数。


第三步:编写badapple_play函数。(重点)




这里涉及FATFS模块提供给用户的一系列应用接口函数,f_open,f_lseek,f_read。这些函数用法比较简单,大家可以通过正点原子教程查阅一下使用方式,这里就不作展开。


第四步:编写oled_draw_bmp函数以及微调oled的配置参数(OLED_Init函数)跟前面推文的是一样的,修改一下扫描方向。

oled_draw_bmp函数如下:



这里我们并没有用OLED例程的方式通过一个GRAM大数组一次性刷写,而是直接写入OLED的GRAM里。
微调oled的配置参数如下图所示。



第五步,编译下载,看badapple视频播放。



E736647C-45FB-4bc6-B146-B4C07587B4FC.png
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

2

主题

369

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4241
金钱
4241
注册时间
2020-7-24
在线时间
714 小时
发表于 2021-12-24 18:17:51 | 显示全部楼层
回复 支持 反对

使用道具 举报

6

主题

890

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1481
金钱
1481
注册时间
2020-8-19
在线时间
336 小时
发表于 2021-12-25 09:43:24 | 显示全部楼层
6666  
回复 支持 反对

使用道具 举报

13

主题

645

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2010
金钱
2010
注册时间
2021-4-16
在线时间
512 小时
发表于 2021-12-27 11:22:05 | 显示全部楼层
学习了学习了!顶!
回复 支持 反对

使用道具 举报

1

主题

73

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1304
金钱
1304
注册时间
2019-1-1
在线时间
173 小时
发表于 2021-12-27 19:49:03 | 显示全部楼层
有屏幕的地方就有badapple
好好生活,快乐工作
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-17 21:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表