以下文章来源于:公_众_号开源电子网 读取更多技术文章,请扫码关注
前言 这篇文章不过多描述OLED工作原理及驱动过程,仅从实用性出发,如何使用OLED显示图片。这里我们以正点原子战舰板OLED实验例程为基础。
使用OLED显示图片分为两步: 1.图像取模 2.编写oled显示图片函数
一、图像取模图片格式转换,将图片转化为单色,并且对单色图片进行取模。 ①首先准备好要操作的图片,然后使用Image2Lcd软件进行格式转换,输出数据类型为BMP格式,并且尺寸大小转换为128*64,具体操作如下图所示:
②BMP单色图片进行取模,获取图形数据,具体操作如下:
③在工程某个文件中定义一个数组接收图形数据数组,如下图所示:
(注意:我们已经知道图片尺寸是64*64 即数组的大小得需要512字节大小(64 * 8 byte))
二、编写oled显示图片函数/**
* @brief OLED显示图片
* @param x : 0~127
* @param y : 0~63
* @param width : 0~127
* @param height : 0~63
* @param *pic : 图片的起始地址
* @param mode: 1 正常显示 0,反向显示
* @retval 无
*/
void oled_show_picture(uint8_t x, uint8_t y, uint8_t width, uint8_t height, const uint8_t *pic, uint8_t mode)
{
uint8_t temp, j;
uint8_t y0 = y;
uint8_t *g_pic = NULL;
uint16_t i, psize = 0;
/* 获取该图片的总字节数 */
psize = (height / 8 + ((height % 8) ? 1 : 0)) * width;
/* 超出范围 直接返回 */
if ((x + width > 128) || (y + height > 64)) return;
g_pic = (uint8_t *)pic;
for (i = 0; i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?