ST7701SForESP

ST7701S ESP系列驱动,基于ESP-IDF5.0,ESP32S3编写。

本库只负责SPI的配置,SPI设置屏幕信息两方面。由于RGB库和图形库的配置无法解耦,具体使用的图形库需要自行配置添加,**本示例默认绑定LVGL,使用IDF5示例rgb_panel**进行测试

SPI的指令,地址配置信息来源较多,其中有从Arduino_GFX库中移植,在此感谢陈亮大佬。

本库支持SPI配置和IO拓展IC配置屏幕,使用面向对象思想编程,支持多设备多实例,但不建议。

Github,Gitee同步更新,Gitee仅作为下载仓库,提交Issue和Pull request请到Github

Github: https://github.com/taxue-alfred/ST7701SForESP

Gitee: https://gitee.com/TaXue_TianXing/ST7701SForESP

1. 目录结构

├─examples
│      ST7701SForESP_example.c //rgb_panel主函数示例(需要克隆rgb_panel)
│
└─Vernon_ST7701S│  Vernon_ST7701S.c│└─includesVernon_ST7701S.h

2. 使用方法

1. LVGL报错解决

format %lu expects argument of type ‘long unsigned int’ but argument 3 has type long long unsigned int

如果在编译过程中未出现此类报错,可以直接跳过

此处进行强制类型转换即可,修改之后编译通过即可。

2. 嵌入项目

2.1 克隆项目

//以下方式二选一即可,链接Github无法访问自行更换Gitee
git clone https://gitee.com/TaXue_TianXing/ST7701SForESP.git //直接克隆
git submodule add https://gitee.com/TaXue_TianXing/ST7701SForESP.git //作为模块克隆

2.2 调用示例

Vernon_ST7701S_handle vernon_st7701s = ST7701S_newObject(SPI_SDA, SPI_SCL, SPI_CS, SPI3_HOST, SPI_METHOD);
ST7701S_screen_init(vernon_st7701s, 2); //后方数字表示使用的配置下标
ST7701S_delObject(vernon_st7701s);

2.3 加入Cmake

如果在components文件夹下作为模组使用,那么只需要命令行中

idf.py reconfigure

如果在其他文件夹下,那么需要设置CmkaeLists.txt加入编译列表,之后再执行上面的命令。

3. menuconfig配置PSRAM

配置如下

这一步特别重要,不然会出现屏幕疯狂滚动的现象

这里从CLion环境截图,menuconfig都一样

开启 Cache fetch instruction from SPI RAMCache load read only data from SPI RAM

4. 解决颜色显示不纯的问题

最明显的就是灰色不是纯灰色,偏黄色,而且字体是“虚”的

原因是PCLK上跳沿下跳沿与数据时间不匹配问题。将

.flags.pclk_active_neg = true

改为

.flags.pclk_active_neg = false

即可。截图如下:

3. 如何移植

修改ST7701S_newObject函数即可,即只修改初始化部分以及动态分配函数部分,应该注意,再分配之后,应当为分配的内存区域全部置0。之后初始化SPI使其可以发送1 + 8 = 9 bit的数据方式

4. 参考库

https://github.com/moononournation/Arduino_GFX

https://www.bilibili.com/video/BV1hB4y197YN/

[ESP][驱动]ST7701S RGB屏幕驱动相关推荐

  1. GC9A01-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)

    GC9A01-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于GC9A01 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...

  2. ST7735-TFT屏幕驱动(整理有stm32/51单片机/arduino等驱动代码)

    ST7735-TFT屏幕驱动 & 整理有stm32/51单片机/arduino等驱动代码 前言 关于ST7735 stm32驱动 引脚接线 代码移植 文件复制 端口修改 显示函数 中文汉字数组 ...

  3. stm32驱动rgb屏电路图_stm32h7“点亮RGB屏幕”

    本文是我学习安福莱H7教程后总结.目的是随便拿来一个RGB屏幕和屏幕手册就能点亮它.下面记录我的操作过程.本例7寸RGB屏使用的source driver ic是OTA7001. 1.硬件设计 硬件配 ...

  4. 解决 Ubuntu 安装显卡驱动后,屏幕变黄的原因

    项目场景: 为了跑深度学习,Ubuntu 安装显卡驱动 问题描述: 安装完驱动后,屏幕变黄,看着贼烦 原因分析: 可能是屏幕的色彩空间被修改成8位的了 解决方案: 打开"设置" - ...

  5. DMA+PWM驱动彩色RGB灯

    前言 现在带IC的彩灯虽然有 SK6812 .WS2812 等不同信号,但是其控制逻辑基本是完全兼容的,本文所描述相关控制参数来源于 SK6812 ,原于带 IC 芯片的 RGB 可以通过串联来实现数 ...

  6. Linux LCD屏幕驱动调参实操

    Linux LCD屏幕驱动调参实操 初探 Linux下的 LCD 驱动文中提到过, IMX6ULL的 eLCDIF接口驱动程序已经有半导体厂家NXP编写好了,并且不同分辨率LCD屏的eLCDIF接口驱 ...

  7. MCU驱动和RGB驱动的液晶屏的区别

    概况来讲,RGB驱动需要的硬件条件高,比如用STM32F429的LTDC+DMA2D模块,外加SDRAM作为显存.而MCU接口,STM32F407系列的控制器就整合了这个模块,包含6800和8080两 ...

  8. STM32MP157驱动开发——RGB转HDMI

    STM32MP157驱动开发--RGB转HDMI 0.前言 一.原理简述 二.驱动编写 1.修改设备树 1)设置 I2C2 的pinmux 2)添加 HDMI 的电源节点 3)在i2c2节点追加HDM ...

  9. 基于全志T133-s3(Tina Linux)移植5寸RGB显示屏驱动

    基于全志T133-s3(Tina Linux)移植5寸RGB显示屏驱动 1.硬件电路 2.LCD实物图 3.LCD 的驱动 4.uboot配置 4.1.配置文件 4.2.uboot设备树 5.kern ...

最新文章

  1. 倒计时1天,2018 AI开发者报名通道即将关闭(附参会提醒)
  2. Servlet-监听器(ServletContext、Request、Session)
  3. 连续八个季度双位数增长,这家公司业务成功得不像技术派
  4. Java:使用匿名内部类在方法内部定义并启动线程
  5. P4161-[SCOI2009]游戏【dp】
  6. javascript对象包含哪些要素_javascript有哪几种对象?
  7. 在Silverlight中使用Socket进行通信(1)Socket请求-回复方式的简易数据交换
  8. VS2017动态链接库(.dll)的生成与使用
  9. 在没有图片的情况下用css3实现一个圆形
  10. iOS百度地图的相关开发(一)
  11. webWMS开发过程记录(三)- 需求分析(略)
  12. char,varchar,nvarchar以及datetime和smalldatetime的区别
  13. 设计模式 (十) 装饰者模式
  14. oracle数据库用户状态失效Expired
  15. 苹果自带的APP下载分析统计工具
  16. 阳性,阴性,假阳性,假阴性,敏感度,特异性
  17. k860i 4.2root成功,用root大师20130705
  18. ​做让用户安心合规的智能家居产品——智能家庭用户个人信息保护方案
  19. PowerMill 2017五轴联动编程视频教程
  20. 高分2号遥感影像数据融合

热门文章

  1. 前端:下拉选项框及文本框的实现
  2. 高考成绩查询2021汕头市,2021汕头市地区高考成绩排名查询
  3. 概要设计说明书(实例)
  4. 详解ENet | CPU可以实时的道路分割网络
  5. Git和Repository简明理解(GitHub是什么?)
  6. 我使用过的Linux命令之usleep - 延迟以微秒为单位的时间
  7. 操作系统的简介(UNIX、Linux)
  8. C# 数字转16进制和字符串转换16进制
  9. sftp stp差异
  10. Cinemachine 镜头异常抖动(画面抽搐twitch)