stm32驱动rgb屏电路图_ESP8266(Non-OS SDK) 驱动 waveshare 2.9 寸墨水屏(一)- 显示原理、源码分析及准备工作...

b0a4fc7462cc6548ad26046d451c7092.png

博客原文:ESP8266(Non-OS SDK) 驱动 waveshare 2.9 寸墨水屏(一) - 国际哥的独立博客

随着屏幕的阵阵闪烁刷新、黑白字符图案浮现眼前,毕业设计总算有了起色。经历了几个下午的不懈努力总算把墨水屏驱动搞定,点亮的何止是小小的墨水屏,还有我骚动的心呐!一开始还想着从头啃芯片手册造轮子,最后由于时间紧迫 + 能力有限,于是想(tou)到(lan)把微雪提供的 STM32 例程移植到 8266。

b4ff14267b47f0677d734ab11a02af4f.gif

由于都是纯 C 的代码,整个过程说不上十分艰辛,但也踩了不少坑:从最初对 8266 硬件 SPI 的不明觉厉,到迫于无奈用 GPIO 软件模拟、最后移植适配官方 STM32 例程,与网上的 Arduino、Lua 实现不同,我是在乐鑫 Non-OS SDK 环境下开发,步骤稍多,特此记录。

开发环境

  1. SDK:ESP8266_NONOS_SDK-2.1.0 Toolchain:乐鑫标配 VirtualBox + lubuntu 编译环境
  2. Editor:VS Code / Nodepad++ / 随便你啦
  3. board: NodeMCU

友情提示:没有接触过 8266 SDK 开发?没事,在正式开始之前,请按照文档《ESP8266 SDK 入门指南》把编译、下载的流程玩一遍即可。

屏幕相关资料

  • 产品详情:2.9inch e-Paper Module - Waveshare Wiki
  • 用户手册:2.9inch-e-paper-user-manual-cn.pdf
  • 数据手册:2.9inch e-Paper Datasheet.pdf
  • 例程源码:2.9inch_e-Paper_Module_code.7z

waveshare 2.9 寸黑白墨水屏(模块)介绍

cb2b9abd05229d90bda6f8fda726805b.png

产品参数

电压:3.3 V

通信接口:3-wire SPI、 4-wire SPI

分辨率:296 × 128

显示颜色:黑、白

灰度等级:2

刷新时间:2-3 s

管脚定义

VCC3.3 VGNDGNDDINSPI 通信 MOSI 引脚CLKSPI 通信 SCK 引脚CSSPI 片选引脚(低电平有效)DC数据/命令控制引脚(高电平表示数据,低电平表示命令)RSY外部复位引脚(低电平复位)BUSY忙状态输出引脚(高电平表示忙)

数据显示原理

屏幕通过 SPI 总线与 MCU 连接作为从机使用,通过接受命令/数据完成相应功能。和其他模块相似,墨水屏 SPI 总线上传输的比特位也分为数据和命令两种类型,并根据 DC 引脚电平区分(高电平数据低电平命令)。而其中最重要的数据便是显存了,它决定着屏幕每个像素点的状态,控制显示内容。

2.9 寸墨水屏分辨率为 296 × 128,即宽度有 296 个像素点、高度有 128 个像素点。对应到显存数据就是横向每 8 个点用一个字节表示(1 byte = 8 pixels),一行就包含 296/8 = 37 个字节,共有 128 行。显示方式是从左到右从上到下,如下图所示:

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值