以下文章来源于:公_众_号开源电子网 读取更多技术文章,请扫码关注
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,添加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视频播放。