搜索
bottom↓
回复: 0

OLED如何播放badapple

[复制链接]

出0入234汤圆

发表于 2021-12-24 16:43:04 | 显示全部楼层 |阅读模式
本帖最后由 正点原子 于 2022-1-7 17:30 编辑

以下文章来源于:公众号:开源电子网,读取更多技术文章,请扫码关注
讨论发帖图.png


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卡根目录下,如下图所示:

          1.jpg

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



      第二步


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

            2.jpg

        1,添加oled.c到工程,oled.h路径工程已经添加到include_path里。

        2,把原先main函数的代码删减成上图并且进行oled初始化。while循环里就执行badapple_play函数。



      第三步

        编写badapple_play函数。

          3.jpg

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



第四步

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

        oled_draw_bmp函数如下:
          4.jpg

        这里我们并没有用OLED例程的方式通过一个GRAM大数组一次性刷写,而是直接写入OLED的GRAM里。


        微调oled的配置参数如下图所示。

          5.jpg



第五步

       编译下载,看badapple视频播放。
          11.png
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子论坛 ( 公安交互式论坛备案:44190002001997 粤ICP备09047143号 )

GMT+8, 2022-7-2 04:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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