一、硬件说明

ST7789屏幕引脚 ESP32C3F引脚
3V3 3V3
GND GND
MOSI IO_07
CLK IO_06
DC IO_08
RST IO_04
BL IO_05

二、ESP32的SPI外设

1. 外设功能

ESP32-C3具有三个SPI接口(SPI0、SPI1和SPI2)。

SPI0和SPI1只能配置为在SPI内存模式下操作,而SPI2可以配置为在SPI内存和通用SPI模式下操作。

在SPI主机模式下,时钟频率不超过80mhz,支持四种SPI传输格式。

SPI信号和引脚的映射图如下:

再根据IO引脚映射图,对应的IO为:

三、Helloworld工程准备

复制esp-idf-v5.0.1\examples\get-started\hello_world工程。

进行一些基础的工程配置,确保helloworld能正常运行

比如我使用的NodeMCU开发板比较老,还用的是外置2MB flash,所以配置最低支持版本为v0.2。

四、编写st7789驱动

移植我之前写的st7789驱动,适配esp32的gpio接口和spi接口即可。

源码:https://github.com/Mculover666/HAL_Driver_Lib/tree/master/LCD-SPI

在components文件夹中,加入LCD_SPI文件夹,并添加一个CmakeList.txt,即可使用:

idf_component_register(SRCS "lcd_spi_drv.c"INCLUDE_DIRS "."PRIV_REQUIRES "driver")


在app_main任务中添加lcd_init调用,即可看到LCD屏幕被点亮。

ESP32-IDF开发笔记 | 03 - 使用SPI外设驱动ST7789 SPILCD相关推荐

  1. ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数

    ESP32 单片机学习笔记 - 03 - MCPWM脉冲输出/PCNT脉冲计数 前言,继续上一篇的内容.因为上一篇刚好实验了iic和spi,形成一对.接下来讲pwm另起一篇. 目录 ESP32 单片机 ...

  2. spi 外设驱动(spi_driver)

    spi驱动模型和i2c的类似,都按照主机外设分离来设计的.但我觉得比i2c的要简明好多. 上文配置的spi驱动最外层是platform总线然后是spi总线然后是字符设备. spi驱动模型分为 spi主 ...

  3. (67)SPI外设驱动接收驱动(六)(第14天)

    (67)SPI外设驱动接收驱动(六)(第14天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)SPI外设驱动接收驱动(六)(第14天) 5)技术交流 6)参考资 ...

  4. (66)SPI外设驱动发送驱动(五)(第14天)

    (66)SPI外设驱动发送驱动(五)(第14天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)SPI外设驱动发送驱动(五)(第14天) 5)技术交流 6)参考资 ...

  5. (65)SPI外设驱动用户接收模块(四)(第13天)

    (65)SPI外设驱动用户接收模块(四)(第13天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)SPI外设驱动用户接收模块(四)(第13天) 5)技术交流 6 ...

  6. (64)SPI外设驱动用户发送模块(三)(第13天)

    (64)SPI外设驱动用户发送模块(三)(第13天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)SPI外设驱动用户发送模块(三)(第13天) 5)技术交流 6 ...

  7. (63)SPI外设驱动分频模块(二)(第13天)

    (63)SPI外设驱动分频模块(二)(第13天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)SPI外设驱动分频模块(二)(第13天) 5)技术交流 6)参考资 ...

  8. (62)SPI外设驱动协议(一)(第13天)

    (62)SPI外设驱动协议(一)(第13天) 1 文章目录 1)文章目录 2)FPGA初级课程介绍 3)FPGA初级课程架构 4)SPI外设驱动协议(一)(第13天) 5)技术交流 6)参考资料 2 ...

  9. i.MX RT开发笔记-03 | i.MX RT1062地址空间映射及启动方式

    系列文章目录 i.MX RT开发笔记-01 | 初识 i.MX RT1062 跨界MCU i.MX RT开发笔记-02 | i.MX RT1062开发环境搭建(MDK芯片包.NXP SDK详解) 文章 ...

最新文章

  1. [转载]Linux 线程实现机制分析
  2. Java线程优先级的概念
  3. Python正在吞噬世界
  4. 如何快速将PointPoint导入CSDN?
  5. python 通过 实例方法 名字的字符串调用方法
  6. CentOS7安装后没网络的解决方法
  7. mstp专线能透传vlan吗_什么是MSTP专线?MSTP专线特点
  8. Python爬虫入门教程 29-100 手机APP数据抓取 pyspider
  9. 数字化智慧园区建设方案
  10. Xshell6 plus绿色永久版_SSH连接工具_站长必备工具集
  11. 计算机网络-----网络编程
  12. android 照片同步到iphone,简明教程教你同步安卓设备照片到iCloud照片流
  13. android - studio版本控制文件颜色代表意思
  14. [AHK]定时运行脚本
  15. OpenFOAM+petsc
  16. 直播预告 | 双十一电商风控怎么破,看这场直播就对了!
  17. 迷宫寻径--试探回溯法
  18. 2022年终总结--你好2023
  19. 【Scikit-Learn 中文文档】集成方法 - 监督学习 - 用户指南 | ApacheCN
  20. linux 操作系统安全加固

热门文章

  1. 欢乐连连看(MFC)小项目总结
  2. 【大头说】关于智能硬件的一些想法和思考
  3. 设置wifi默认country_code
  4. 史蒂文斯HydraProbe的7个问题和答案
  5. 支付宝为什么不能永久免费
  6. 乖离性暗机器人_乖离性百万亚瑟王超弩暗机器人平民通关攻略 超弩暗机器人怎么打...
  7. point 如何求elbow_如何选择kmeans中的k值——肘部法则–Elbow Method和轮廓系数–Silhouette...
  8. Xavier 进入恢复模式
  9. Windows XP sp3 系统安装 Windbg 符号文件 Symbols 时微软失去支持的解决方案
  10. 微店商品详情API接口(item_get-获得微店商品详情API接口),微店API接口