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

news2025/1/19 23:06:11

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/155247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何尽早发现潜在开发风险,降低项目风险?

1、提前规划风险预防和控制策略 针对开发流程中各环节可能存在的风险&#xff0c;项目经理需进行科学的项目风险分析&#xff0c;提前进行科学地规划和部署&#xff0c;制定符合项目特点的风险评估和监督机制&#xff0c;实行岗位负责制&#xff0c;提前制定控制策略&#xff0…

mac配置MySQL环境

对于开发人员来说&#xff0c;只需要安装MySQL Server 和 MySQL Workbench这两个软件&#xff0c;这样就可以满足开发需求 MySQL Server&#xff1a;专门用来提供数据存储和服务的软件 MySQL Workbench:&#xff1a;可视化的MySQL管理工具&#xff0c;通过他&#xff0c;可以方…

ArcGIS中栅格计算器常用函数的使用

先看下目录 一、 ArcGlS中栅格计算器简介 栅格计算器位置及界面布局 二、 ArcGIS棚格计算器中Con&#xff08;&#xff09;函数的使用 &#xff08;一&#xff09; Con&#xff08;&#xff09;函数的用法 &#xff08;二&#xff09; ArcGIS 案例操作 三、 ArcGIS栅格计算…

Linux 上面安装 RocektMQ 安装

下载 RocketMQ 我下载的版本是&#xff1a;4.9.3 下载地址 Apache Downloads 环境说明 Linux64 位系统JDK1.8 (64位) 安装步骤 第一步&#xff1a;传入文件到 Linux 服务器 先将下载好的包传到 linux 服务器上面去 这里我传入的路径是在 /usr/local 第二步&#xff1a…

【Pan-sharpening:主要是调节参数】

Pan-sharpening based on multi-objective decision for multi-band remote sensing images &#xff08;Pan-sharpening基于多目标决策的多波段遥感图像&#xff09; Pan-sharpening细节注射适用于融合多光谱图像(MS)与其相应的全色(PAN)图像产生合成图像。理论上&#xff0c…

怎么图片压缩?这几个压缩小技巧值得一试

我们在朋友圈或者其它的社交平台上&#xff0c;发布一些照片或者图片的时候&#xff0c;经常会遇到由于图片过大而无法发送的情况&#xff0c;这时候&#xff0c;我们只需要将图片进行压缩就可以解决这个问题了&#xff0c;那么你们知道图片如何压缩大小吗&#xff1f;下面我整…

ANSYS apdl软件学习指令(建立三维模型)

目的&#xff1a;记录常用的三维建模指令 软件版本&#xff1a;ANSYS2022 以角点坐标建立长方体指令 BLC4, XCORNER, YCORNER, WIDTH, HEIGHT, DEPTHblc4指令是建立长方体最常用的指令之一&#xff0c;其中XCORNER, YCORNER是指当前坐标系中需要绘制长方体的起点&#xff0c;…

ThinkPHP6 配置使用Redis

安装Redis 如果未安装redis&#xff0c;请先安装redis&#xff0c;文档可参考&#xff1a; - windows安装redis - linux安装redis 安装predis 项目中需要使用predis来连接和操作redis&#xff0c;我们用composer来安装和加载它。 项目目录命令行执行&#xff1a; compose…

北大硕士LeetCode算法专题课--链表相关问题

算法面试相关专题&#xff1a; 北大硕士LeetCode算法专题课-字符串相关问题_ 北大硕士LeetCode算法专题课-数组相关问题_ 北大硕士LeetCode算法专题课-基础算法查找_ 北大硕士LeetCode算法专题课-基础算法之排序_ 北大硕士LeetCode算法专题课---算法复杂度介绍_ 北大硕士…

荧光定量PCR检测法的原理和应用领域

一、荧光定量PCR原理 在PCR扩增反应体系中加入荧光基团就是荧光定量PCR&#xff08;Real-time PCR&#xff09;&#xff0c;通过对扩增反应中每一个循环产物荧光信号的实时检测,最后通过标准曲线对未知模板进行定量分析的方法。 以探针法荧光定量PCR为例&#xff1a;PCR扩增时…

STM32G0开发笔记-Platformio+libopencm3-EEPROM M24C02使用

使用Platformio平台的libopencm3开发框架来开发STM32G0&#xff0c;以下为EEPROM M24C02的使用方法。 1 新建项目 建立eeprom项目 在PIO的Home页面新建项目&#xff0c;项目名称eeprom&#xff0c;选择开发板为 MonkeyPi_STM32_G070RB&#xff0c;开发框架选择libopencm3&am…

loss盘点: GIoU loss (拆 PaddleDetection 轮子)

1. GIoU 计算 关于 GIoU 的实现&#xff0c;可直接参看原文给出的网站&#xff1a; https://giou.stanford.edu/ GIoU∣A∩B∣∣A∪B∣−∣C∖(A∪B)∣∣C∣IoU−∣C∖(A∪B)∣∣C∣GIoU \frac { |A \ \cap \ B | } { |A \ \cup \ B | } - \frac { | C \setminus (A \ \cup \…

Spring MVC 总结

Spring MVC Spring MVC 是 javaWeb 的开发模块&#xff0c;是一个架构模式&#xff0c;是整个 javaWeb 开发领域 最重要的一个技术。 Spring MVC 文档 Spring MVC 是 Spring 体系的 轻量级Web MVC框架。Spring MVC 的核心 Controller 控制器&#xff0c;用于处理请求&#xff…

C语言入门(五)——深入理解函数

return 语句 增量式开发 递归 return 语句 之前我们一直在main函数中使用return语句&#xff0c;现在是时候全面深入地学习一下。在有返回值地函数中&#xff0c;return语句的作用是提供整个函数的返回值&#xff0c;并结束当前函数返回到调用它的地方。在没有返回值的函数中…

vue修改el-input样式,样式穿透

vue–element的form表单中修改el-input样式 在使用 element ui 组件过程中&#xff0c;我最近碰到了新的问题。 初始的界面效果是这样的&#xff1a; 这个效果真的不怎么好看&#xff0c;我想把输入框的背景色变浅&#xff0c;变得透明。于是我在代码中添加 .el-input{backgro…

Polygon生态

1. 引言 当前区块链存在不可能三角问题&#xff1a; 1&#xff09;去中心化2&#xff09;可扩展性3&#xff09;安全性 当前单一链仅能兼顾不可能三角中的2个维度&#xff0c;而无法做到三者兼顾。 区块链中的主要角色有&#xff1a; 1&#xff09;共识层——负责对包含在…

python基础篇之数字类型(上)

大家好&#xff0c;我是csdn的博主&#xff1a;lqj_本人 这是我的个人博客主页&#xff1a;lqj_本人的博客_CSDN博客-微信小程序,前端,vue领域博主lqj_本人擅长微信小程序,前端,vue,等方面的知识https://blog.csdn.net/lbcyllqj?spm1000.2115.3001.5343 哔哩哔哩欢迎关注&…

【NI Multisim 14.0原理图设计基础——元器件属性设置】

目录 序言 一、属性编辑 二、元器件属性设置 &#x1f349; 1.“标签”选项卡 &#x1f349;2.“显示”选项卡 &#x1f349; 3.“值”选项卡 &#x1f349; 4.“故障”选项卡 &#x1f349;5.“管脚”选项卡 &#x1f349; 6.“变体”选项卡 &#x1f349; 7.“用户字…

正则表达式查漏补缺(包括es9的新方法)

一、创建正则 1、方法创建正则 // let regnew RegExp("a","ig")//检查字符串中是否包含a // let str"a" // console.log(reg.test("As"))i是忽略大小写 g是全局匹配&#xff0c;不会只返回一个 2、字面量创建正则 // let reg/a|c/…

挂载本地光盘

一、挂载本地光盘到/mnt 使用mount模块 二.配置YUM源 &#xff08;1&#xff09;使用yum_repository模块 &#xff08;2&#xff09; 控制端主机编辑配置文件使用synchronize模块发送到受控主机 &#xff08;3&#xff09; 使用file模块创建一个base.repo文件&#xff0c;并…