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

esp32s3-gc9a01-lvgl

前言

近期做了一个项目是使用esp32s3 + 准亿科技的TFT屏幕

该屏幕使用的驱动IC为:GC9A01

通讯方式是:4线SPI ,

三线spi和四线SPI区别在于:是否使用D/C信号线
在这里插入图片描述

开发LCD屏幕驱动, 可以参考乐鑫官网LCD显示屏指南

SPI 一共有4种工作模式. 根据接线 , 驱动方式的不同.

可分3 , 4 线SPI , 还可分接口类型I , 接口类型II

这里我们使用:
在这里插入图片描述

乐鑫组件库

下载后打开;esp_lcd_gc9a01.h 文件

#define GC9A01_PANEL_IO_SPI_CONFIG(cs, dc, callback, callback_ctx)  \{                                                               \.cs_gpio_num = cs,                                          \.dc_gpio_num = dc,                                          \.spi_mode = 0,                                              \.pclk_hz = 80 * 1000 * 1000,                                \.trans_queue_depth = 10,                                    \.on_color_trans_done = callback,                            \.user_ctx = callback_ctx,                                   \.lcd_cmd_bits = 8,                                          \.lcd_param_bits = 8,                                        \}// trans_queue_depth  spi设备传输数据的队列深度
// EPS芯片驱动SPI屏幕推荐使用整数频率(eg: 20 \ 40 \60)
// lcd_cmd_bits spi 接口数据传输的位数

打开路径:E:\ESP32_File\esp-idf\esp-idf\components\esp_lcd\include

esp_lcd_panel_commands.h
查看驱动芯片的LCD命令和idf中的LCD命令是否一致,如果有欠缺,则在
include\esp_lcd_gc9a01.h中添加补充

确认命令地址被正确使用。具体可参考:移植驱动组件

配置SPI屏

  • 从idf中复制一个空白的sample_project作为模板

ESP系列芯片SPI的传输位数一般是8bit、
所以像素颜色位数,最好使用8 的倍数,比如8、16、24bit
GC9A01,支持 : 12bit , 16bit , 18bit 的颜色像素bit
如果使用lvgl 库,数据传输一般都是8bit , 16bit , 32bit 、
综合下来16bit是最合适的选择

相关文章:

  • 爬取京东商品图片的Python实现方法
  • 跨国大文件传输需要哪些方面?怎么实现数据快速传输?
  • 堡垒机的自动化运维,快速安全提升运维效率
  • 基于电压矢量变换的锁相环simulink建模与仿真
  • 【大数据-算法】资源调度算法:动态资源分配策略的深入探讨
  • 更适合工程师和研究僧的FPGA专项培训课程
  • 简单聊聊Vue
  • 华为鲲鹏应用开发基础:鲲鹏处理器及关键硬件特性介绍(二)
  • 操作系统真相还原--第七章中断实验BUG--找不到中断向量表
  • 如何使用Python在word文档中创建表格
  • 网络代理加速器:太阳HTTP的新一代解决方案(网络代理IP)
  • 【计算机网络】个人学习笔记——第六章 应用层:域名系统DNSWWW万维网FTPHTTPSMTPPOP3DHCP
  • 解除网站IP抓取限制的方法有哪些?
  • 手动/自动部署项目
  • 亚马逊选品工具分析
  • C++11: atomic 头文件
  • es6--symbol
  • es6要点
  • iOS动画编程-View动画[ 1 ] 基础View动画
  • JavaScript-Array类型
  • Object.assign方法不能实现深复制
  • python docx文档转html页面
  • Python爬虫--- 1.3 BS4库的解析器
  • Quartz初级教程
  • SegmentFault 2015 Top Rank
  • Spring-boot 启动时碰到的错误
  • Zepto.js源码学习之二
  • 基于遗传算法的优化问题求解
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 前端_面试
  • 入门到放弃node系列之Hello Word篇
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 通信类
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​iOS实时查看App运行日志
  • ​数据链路层——流量控制可靠传输机制 ​
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #systemverilog# 之 event region 和 timeslot 仿真调度(十)高层次视角看仿真调度事件的发生
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (24)(24.1) FPV和仿真的机载OSD(三)
  • (C#)一个最简单的链表类
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (CPU/GPU)粒子继承贴图颜色发射
  • (顶刊)一个基于分类代理模型的超多目标优化算法
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (多级缓存)多级缓存
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计SSM保险客户管理系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (蓝桥杯每日一题)love
  • (力扣题库)跳跃游戏II(c++)
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (三)elasticsearch 源码之启动流程分析
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)C#开发微信门户及应用(1)--开始使用微信接口