2.13Epd 中景园2.13寸电子墨水屏 显示原理(局部刷新指令)

14 篇文章 0 订阅
11 篇文章 0 订阅

显示有两种模式:
1、MCU RAM 操作之后一起写入显示屏的RAM
在MCU上分配一个成员大小为8位的数组 长度是像素点数的1/8(一位控制一个像素点)
如图:数组是Image_BW
之后是用 显示的操作算法将每个点由对应的数字或字母 汉字的字模写入数组中
最后将数组一起写入显示屏的RAM

OLED_GUIInit();
Paint_NewImage(Image_BW,OLED_W,OLED_H,90,WHITE);
	OLED_Clear(WHITE);	//F7
	OLED_Display(Image_BW); //Clear

OLED_Clear实际就是 将Image数组中所有成员都变成对应的颜色对应字节

void OLED_Clear(u16 Color)
{
	u16 X,Y;
	u32 Addr;
    for (Y = 0; Y < Paint.HeightByte; Y++) 
	{
        for (X = 0; X < Paint.WidthByte; X++) 
		{//8 pixel =  1 byte
            Addr = X + Y*Paint.WidthByte;
            Paint.Image[Addr] = Color;
        }
    }
}

OLED_Display函数中的OLED_WR_DATA8 是将数据写入显示屏的RAM内

void OLED_Display(unsigned char *Image)
{
    unsigned int Width, Height,i,j;
	u32 k=0;
    Width = 250;
    Height = 16;
	OLED_WR_REG(0x24);
	for ( j = 0; j < Height; j++) 
	{
		for ( i = 0; i < Width; i++) 
		{
			OLED_WR_DATA8(Image[k]);
			k++;
		}
	}
    EPD_Update();		 
}

EPD_Update 函数是将显示屏内RAM空间的直接显示出来 显示效果由 寄存器0x22的值来控制,如下参考手册

void EPD_Update(void)
{   
	OLED_WR_REG(0x22); //Display Update Control
//	OLED_WR_DATA8(0xF7); //zhongjingyuan 
	OLED_WR_DATA8(0xFF);  //test  FF 91
				//F7 Mode1 
				//FF Mode2 不频闪 直接显示  刷新很快 咨询客服之后 说是局部刷新 但是测试之后显示效果不好,有些许残影,建议用算法操作一下  参考裸屏规格书P17
				//91 Mode1 不显示
				//C7 Mode1 不显示
				//B1 Mode1 不显示
				//CF Mode2 不显示
				//B9 Mode2 不显示
				//B1 Mode2 不显示
				//99	   不显示
				//04	   不显示
				//03	   不显示
				//C0	   不显示
	OLED_WR_REG(0x20);  //Activate Display Update Sequence
	Epaper_READBUSY();   
}

参考裸屏规格书P17
在这里插入图片描述

2、分字节先写入显示屏的 RAM 然后给指令显示

OLED_WR_REG(0x24);
	
	for ( j = 0; j < 251; j++) 		//写入白色
	{
		for ( i = 0; i <16;i++)
		{
			OLED_WR_DATA8(WHITE);
		}
	}
	EPD_Update();

以上两种 实际上是相同的显示原理

只是第二种将数据边操作边一位一位写入RAM
最后发指令显示

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
Keyes 2.13墨水屏的数据手册和驱动程序参考代码,可以在Keyes官方网站上获取。他们通常提供完整的技术支持和开发文档,以满足用户对墨水屏驱动程序的需求。 数据手册包含了关于墨水屏的重要技术参数、功能和操作说明等信息。用户可以通过数据手册了解墨水屏的工作原理、电气特性、通信接口等。此外,数据手册还会提供示例程序和代码库,以帮助用户快速开发驱动程序。 驱动程序参考代码是针对Keyes 2.13墨水屏的特定控制器(例如EPD2IN13的控制器)编写的示例代码。这些代码通常使用C或C++编写,用户可以根据需要进行调整和修改。驱动程序参考代码包含了墨水屏的初始化、刷新屏幕内容、控制屏幕显示和清除等基本功能。 用户可以根据数据手册和驱动程序参考代码进行墨水屏的硬件接线、初始化和编程操作。通常,用户需要先通过硬件接线(例如使用SPI接口)将墨水屏与控制器连接起来。然后,通过驱动程序参考代码,初始化墨水屏,设置屏幕参数和驱动方式,最后调用刷新函数,将指定内容显示在屏幕上。 总结起来,Keyes 2.13墨水屏的数据手册和驱动程序参考代码是开发和使用该墨水屏所需的重要参考文档和示例代码。用户可以通过数据手册了解墨水屏的技术细节,通过驱动程序参考代码实现屏幕控制和显示功能。这些文档和代码可在Keyes官方网站上下载,并根据需要进行调整和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我常思聪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值