例子乐鑫官方 esp-iot-solution/examples/hmi/lvgl_example

点左下角齿轮(SDK Configuration Editor)选择开发板为

Saola With Esp32S2 Onboard From Espressif

设置USB输出调试文字

修改头文件中引脚:

D:\esp-iot-solution\examples\common_components\boards\esp32s2-saola-1\board.h

#define BOARD_IO_SPI2_SCK 36    //FSPICLK   接屏幕的SCL引脚
#define BOARD_IO_SPI2_MOSI 35   //FSPID     截屏幕的SDA引脚
#define BOARD_IO_SPI2_MISO 37   //不用接屏幕

修改内容:

D:\esp-iot-solution\examples\hmi\lvgl_example\main\app_main.c

void app_main()
{printf("Hello world!\n");/* Print chip information */esp_chip_info_t chip_info;uint32_t flash_size;esp_chip_info(&chip_info);printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",CONFIG_IDF_TARGET,chip_info.cores,(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");printf("silicon revision %d, ", chip_info.revision);// if(lv_list_get_size(NULL, &flash_size) != ESP_OK) {//     printf("Get flash size failed");//     return;// }// printf("%uMB %s flash\n", flash_size / (1024 * 1024),//        (chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());for (int i = 5; i >= 0; i--) {printf("Restarting in %d seconds...\n", i);vTaskDelay(1000 / portTICK_PERIOD_MS);}printf("Restarting now.\n");fflush(stdout);// esp_restart();iot_board_init();spi_bus_handle_t spi2_bus = iot_board_get_handle(BOARD_SPI2_ID);//60MHz刚好合适,高了屏幕闪烁,低了FPS太低#define BOARD_LCD_SPI_CLOCK_FREQ 60000000scr_driver_t lcd_drv;touch_panel_driver_t touch_drv;scr_interface_spi_config_t spi_lcd_cfg = {.spi_bus = spi2_bus,.pin_num_cs = 34,   //FSPICS0   接屏幕的CS引脚.pin_num_dc = 33,   //FSPIHD    接屏幕的A0引脚.clk_freq = BOARD_LCD_SPI_CLOCK_FREQ,.swap_data = true,};scr_interface_driver_t *iface_drv;scr_interface_create(SCREEN_IFACE_SPI, &spi_lcd_cfg, &iface_drv);scr_controller_config_t lcd_cfg = {.interface_drv = iface_drv,.pin_num_rst = 9,   //FSPIHD    接屏幕的RESET引脚.pin_num_bckl = 38,//FSPIWP     接屏幕的BL引脚 背光.rst_active_level = 0,.bckl_active_level = 1,.offset_hor = 0,.offset_ver = 0,.width = 240,.height = 320,.rotate = SCR_DIR_TBRL,//防止镜像显示};scr_find_driver(SCREEN_CONTROLLER_ST7789, &lcd_drv);lcd_drv.init(&lcd_cfg);// touch_panel_config_t touch_cfg = {//     .interface_spi = {//         .spi_bus = spi2_bus,//         .pin_num_cs = BOARD_TOUCH_SPI_CS_PIN,//         .clk_freq = 10000000,//     },//     .interface_type = TOUCH_PANEL_IFACE_SPI,//     .pin_num_int = -1,//     .direction = TOUCH_DIR_TBLR,//     .width = 240,//     .height = 320,// };// touch_panel_find_driver(TOUCH_PANEL_CONTROLLER_XPT2046, &touch_drv);// touch_drv.init(&touch_cfg);// touch_drv.calibration_run(&lcd_drv, false);/* Initialize LittlevGL GUI */lvgl_init(&lcd_drv, NULL);// &touch_drv);lvgl_acquire();
#ifdef CONFIG_LV_DEMO_BENCHMARKlv_demo_benchmark();
#elif defined CONFIG_LV_DEMO_PRINTERlv_demo_printer();
#elif defined CONFIG_LV_DEMO_WIDGETSlv_demo_widgets();
#elif defined CONFIG_LV_EX_GET_STARTEDlv_ex_get_started_1();
#elif defined CONFIG_LV_DEMO_STRESSlv_demo_stress();
#elif defined CONFIG_LV_EX_STYLElv_ex_style_1();
#endiflvgl_release();ESP_LOGI(TAG, "[APP] IDF version: %s", esp_get_idf_version());ESP_LOGI(TAG, "[APP] Free memory: %d bytes", esp_get_free_heap_size());
}

BENCHMARK

STRESS

ESP32-S2 SPI TFT彩屏60MHz

ESP32-S2 st7789 SPI TFT彩屏240X320相关推荐

  1. 【物联网初探】- 02 - ESP32 利用 SPI 连通 TFT 彩屏 (Arduino IDE)

    文章目录 1. 硬件配置 1.1 ESP32 1.1 TFT 彩屏 1.2 TFT 彩屏上的触摸屏 2. 接线 2.1 SPI 接口简介 2.2 TFT SPI 与 ESP GPIO 连接 3. TF ...

  2. STM32F103以SPI 驱动128*128的TFT彩屏,LCD驱动为ST7735s,程序使用CubeMX的HAL库开发方式,另外也做了标准库的程序移植

    0.  关于本文: 其实我一直都比较懒,不喜欢写博客.但网上关于详细讲解SPI驱动LCD的文章比较少,虽然也能下载到一些案例程序,但对于初学者来说,如果不懂LCD驱动的原理,不懂如何对文字和图片取模, ...

  3. ARDUINO:ESP32 + ILI9431 SPI TFT液晶屏静态展示图片

    折腾了半天,终于搞定ESP32开发板 + ILI9431 SPI TFT小液晶屏静态展示图片. 库:Arduino IDE的库管理中搜索 TFT_eSPI.或者从GITHUB手动下载:https:// ...

  4. 使用ESP32驱动ST7789,效果很好的IPS显示屏

    前言 在平台上面购买了这一种模块,然后这种模块是IPS液晶屏,显示效果会比早期那种好一些.显示屏的控制芯片是ST7789 我准备使用ESP32进行驱动,测试上使用简单的Arduino IDE,那么具体 ...

  5. 【MicroPython ESP32】1.8“tft ST7735驱动3Dcube图形显示示例

    [MicroPython ESP32]1.8"tft ST7735驱动3Dcube图形显示示例 本实例基于Thonny平台开发 效果演示(Gif录制,帧率上不来,有重影,实际效果没有,很流畅 ...

  6. STM32F103RBT6+TFT彩屏资料下载|程序

    前两星期刚学了1.44寸TFT彩屏,总结一下,不好勿喷,欢迎交流. 先附上效果图                             中文测试                            ...

  7. ESP32_驱动TFT彩屏_Arduino

    ESP32_驱动TFT彩屏_Arduino 一.我们用到的库 1.库的简单介绍 2.关于库的安装 二.修改自定义库驱动文件 1.找到库的安装路径 2.设置彩屏的驱动芯片类型 3.设置屏幕的宽高 4.设 ...

  8. 单片机读取SD卡中BMP图片文件并送往TFT彩屏上显示(测试成功)(二)

    二.软件部分 软件中INI_FLAG为设置的一个标志位,通过置1该位可以控制发送或接受数据速度.因为在初始化阶段SD卡操作需要适当放缓,而初始化成功后可以加快数据传动速率. 1>往SD卡写一个字 ...

  9. 【MicroPython ESP32】1.8“tft ST7735带中文驱动显示示例

    [MicroPython ESP32]1.8"tft ST7735带中文驱动显示示例 本实例基于Thonny平台开发 效果演示 驱动屏幕和开发板 驱动屏幕采用的是合宙1.8"tft ...

最新文章

  1. vim中如何按一个键就保存文件
  2. 10万人的大场馆如何“画座位”?
  3. 理解DDoS防护本质:基于资源较量和规则过滤的智能化系统
  4. ntopng mysql_网络流量监控工具与分析Ntop和Ntopng
  5. orm框架选型问题_ORM问题
  6. python元素定位id和name_python中通过selenium简单操作及元素定位知识点总结
  7. opencv 图像分割-分水岭算法
  8. 类c语言实验报告,内蒙古工业大学 C语言实验报告
  9. 校园热水供应系统设计思路
  10. java 进程通信代码
  11. VBS教程--摘自百度百科
  12. 清华大学最新科研进展汇总(2020-2021年)
  13. 期货与期权套期保值的对比研究
  14. 王曦:大数据人工智能中的运筹与决策科学
  15. 百度竞价推广中的,28定律是什么?
  16. MySQL--基础知识点--51--dual
  17. 明日方舟 红松林故事集
  18. 代码合乱了,git怎么强制覆盖分支?
  19. 洛谷P1033自由落体题解--zhengjun
  20. 毕业论文html代码查重吗,「毕业之家」“抄”一篇毕业论文,会被学校查重出来吗?...

热门文章

  1. 虎年啦,小老虎带你4.5分钟彻底掌握Linux中的创建-目录-文件(mkdir-touch)
  2. 计算机图形学三维建模及灯光作业(派大星)
  3. 重构业务系统,我是这样做的
  4. 随笔 | 近期工作感悟
  5. SDUT 2055-来淄博旅游
  6. 苹果、天猫同步关停是因为发新品?这些猜想你看靠谱吗....
  7. 【逗老师带你学IT】PRTG监控通过Python+Modbus RTU获取温湿度传感器数据
  8. 基础知识 | hex文件格式详解
  9. java 一年中的第几天_Java计算某个日期是一年中的第几天
  10. [机器学习] --- 红楼梦后四十回到底是谁写的?机器学习分析法