正点原子 发表于 2021-12-24 16:43:04

OLED如何播放badapple

本帖最后由 正点原子 于 2022-1-7 17:30 编辑

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



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视频播放。
         
页: [1]
查看完整版本: OLED如何播放badapple