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

文章详细介绍了OLED显示屏的两种显示模式:一是通过MCU操作数组后一次性写入RAM,二是分字节写入RAM再显示。其中涉及OLED_GUIInit、OLED_Clear、OLED_Display等函数,以及EPD_Update的显示控制寄存器设置,讨论了不同模式下的显示效果和优化建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

显示有两种模式:
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
最后发指令显示

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

请叫我常思聪

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

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

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

打赏作者

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

抵扣说明:

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

余额充值