当前位置: 首页 > news >正文

EPD_2IN7_V2_Clear() 和 Paint_Clear(WHITE) 的区别

在微雪(Waveshare)墨水屏驱动中,EPD_2IN7_V2_Clear()Paint_Clear(WHITE) 虽然都能实现清屏效果,但二者的底层操作和适用场景有本质区别。以下是详细对比:


1. 功能区别

函数EPD_2IN7_V2_Clear()Paint_Clear(WHITE)
所属模块硬件驱动层(直接操作屏幕)软件绘图层(操作内存中的图像缓存)
作用对象物理屏幕绑定的图像缓存(如 BlackImage
清屏原理发送硬件指令强制全刷为白色将内存中的图像缓存全部填充为白色数据
是否需要显示函数否(立即生效)是(需调用 EPD_Display() 才能更新到屏幕)
刷新方式全刷(耗时约2秒)无刷新(仅修改内存数据)
功耗高(触发高压驱动)低(仅操作内存)

2. 使用场景对比

(1) EPD_2IN7_V2_Clear() 适用场景
  • 初始化屏幕
    首次上电或从睡眠模式唤醒时,强制清除残影。
    EPD_2IN7_V2_Init();
    EPD_2IN7_V2_Clear();  // 硬件级清屏
    
  • 恢复显示异常
    当屏幕因残影或干扰显示异常时,直接复位屏幕状态。
(2) Paint_Clear(WHITE) 适用场景
  • 软件层清空画布
    在内存中准备新图像前,清除旧内容(不立即影响屏幕)。
    Paint_SelectImage(BlackImage);
    Paint_Clear(WHITE);  // 内存缓存清白
    Paint_DrawString_EN(10, 10, "Hello", &Font16, BLACK, WHITE);
    EPD_Display(BlackImage);  // 更新到屏幕
    
  • 局部刷新前的准备
    配合局刷时,仅清除缓存中的特定区域。

3. 关键差异示例

(1) 错误用法导致残影
// 错误:仅清缓存未刷屏,屏幕仍显示旧内容
Paint_Clear(WHITE);  
// 忘记调用 EPD_Display(BlackImage);// 正确:硬件清屏+缓存清屏双保险
EPD_2IN7_V2_Clear();          // 硬件全刷白
Paint_Clear(WHITE);           // 内存缓存清白
EPD_Display(BlackImage);      // 同步到屏幕(冗余但安全)
(2) 性能对比
操作流程耗时残影风险
EPD_2IN7_V2_Clear()2s
Paint_Clear() + EPD_Display()2s
Paint_Clear()0s

4. 何时需要同时使用?

在以下场景建议 组合调用 以兼顾可靠性和显示一致性:

// 场景:长期休眠后恢复显示
void WakeUpFromSleep() {EPD_2IN7_V2_Init();       // 初始化硬件EPD_2IN7_V2_Clear();      // 强制硬件清屏(防残影)Paint_Clear(WHITE);       // 同步清空缓存// 绘制新内容...EPD_Display(BlackImage);  // 更新屏幕
}

5. 总结

选择依据EPD_2IN7_V2_Clear()Paint_Clear(WHITE)
需立即物理清屏✓(如初始化、异常恢复)×
仅清内存缓存×✓(如局部刷新前的准备)
低功耗要求×(高压刷新耗电)✓(无硬件操作)
代码执行速度慢(阻塞式全刷)快(内存操作)

最佳实践

  • 初始化或异常处理时优先用 EPD_2IN7_V2_Clear()
  • 动态更新内容时用 Paint_Clear() + EPD_Display() 组合。
  • 避免冗余调用以节省时间和功耗。

相关文章:

  • CV中常用Backbone-3:Clip/SAM原理以及代码操作
  • # 使用 Hugging Face Transformers 和 PyTorch 实现信息抽取
  • 小土堆pytorch--神经网络搭建小实战Sequential的使用
  • 机器学习算法-一元线性回归(最小二乘拟合 and 梯度下降)
  • java三种常见设计模式,工厂、策略、责任链
  • OWASP Juice-Shop靶场(⭐⭐)
  • aws(学习笔记第四十二课) serverless-backend
  • 2025年5月系分论文题(回忆版)
  • 为什么size_t重要,size_t的大小
  • 理论物理:为什么在极低温(接近绝对零度)时,经典理论失效?
  • 并发编程艺术--AQS底层源码解析(二)
  • 多线程的基础知识以及应用
  • 计算机视觉---YOLOv2
  • 2021年认证杯SPSSPRO杯数学建模B题(第二阶段)依巴谷星表中的毕星团求解全过程文档及程序
  • 计算机网络学习(六)——UDP
  • Go语言Map的底层原理
  • mysql都有哪些锁?
  • Java并发编程:全面解析锁策略、CAS与synchronized优化机制
  • 基于SpringBoot的校园电竞赛事系统
  • uni-app学习笔记十二-vue3中组件传值(属性传值)
  • 制作公司简介/seo推广软件排行榜前十名
  • 连云港专业网站制作公司/中国体育新闻
  • 小程序可做网站吗/旺道seo工具
  • 上海网站建设在线/建网站的详细步骤
  • 南通快速建站公司/企业如何建站
  • 汕头整站优化/如何制作网站二维码