| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> esp32系列(9):完成一个OLED的驱动 -> 正文阅读 |
|
[嵌入式]esp32系列(9):完成一个OLED的驱动 |
目录
开始写一个OLED驱动,第一步,学ESP32 的 I2C 外设。实现0.96英寸的OLED显示不同的表情。 显示效果: 1 ESP32 的 I2C 资源I2C (Inter-Integrated Circuit) 总线用于使 ESP32 和多个外部设备进行通信。多个外部设备可以共用一个 I2C 总线。
ESP32 有 2 个 I2C 总线接口,根据用户的配置,总线接口可以用作 I2C 主机或从机模式。 I2C 接口支持:
1.1 ESP32 的 I2C 架构1.2 I2C API 使用指南I2C 驱动程序配置和工作的基本步骤:
1.3 I2C时序时序图: 2 OLED驱动具体的显示原理见之前写过的FPGA驱动0.96OLED显示原理及FPGA驱动程序 FPGA驱动为了设计简单,每个指令或者数据都已一次完整的I2C数据传输来实现的(即包含起始位、器件地址、控制码、数据和终止位)。 ESP32使用c语言开发,传输的时候可以优化一下,将一个功能的数据放在一次传输中完成,这样可以节省带宽。 OLED 的 I2C 时钟周期最小值为2.5us,即最大支持400KHz的数据率。 2.1 OLED驱动使用主要功能:实现OLED刷新不同的表情。 1 需要在“oled_driver.h”中的宏定义中设置相关参数:
2 在函数中调用 oled_init() 进行OLED的初始化。 3 调用其他 api 实现相关功能。 2.1 主要api2.1.1 esp_err_t oled_init();
2.1.2 esp_err_t oled_set_start_address(uint8_t page_addr, uint16_t ram_addr);
2.1.3 esp_err_t oled_page_refresh(uint8_t page_addr, uint8_t *buf);
2.1.4 esp_err_t oled_gddram_refresh(uint8_t *buf);
2.1.5 esp_err_t oled_forehead_refresh(forehead_t forehead_expr, uint8_t frame_cnt);
2.1.6 esp_err_t oled_eyes_refresh(eyes_t eyes_expr, uint8_t frame_cnt);
2.1.7 esp_err_t oled_nose_refresh(nose_t nose_expr, uint8_t frame_cnt);
2.1.8 esp_err_t oled_mouth_refresh(mouth_t mouth_expr, uint8_t frame_cnt);
2.1.9 esp_err_t oled_chin_refresh(chin_t chin_expr, uint8_t frame_cnt);
2.1.10 esp_err_t oled_refresh_expression(expression_t expression);
4 代码https://github.com/luming-xyz/ESP32_IDF-oled_driver 或者有积分的可以支持一下 😃 https://download.csdn.net/download/lum250/84540080 |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 6:54:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |