国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

這篇具有很好參考價值的文章主要介紹了ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。


TFT 一般指薄膜晶體管。 薄膜晶體管(Thin Film Transistor,簡稱TFT)是一種器件。

1.屏幕規(guī)格

ZJY154T-PG04厚.pdf
ST7789VW芯片手冊.pdf

(見資料下載處)

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

2.原理圖

ST7789屏幕驅(qū)動電路圖

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

3.程序?qū)崿F(xiàn)

3.1引腳定義

參考:ESP32 入門筆記01:樂鑫ESP32-DevKitC開發(fā)板信息、開發(fā)環(huán)境搭建以及學資料準備

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

3.2Adafruit_GFX / Arduino_ST7789版

/***************************************************
  1.3TFT  ST7789 IPS SPI display.
  接線
 TFT_DC    15
 TFT_RST   17  
 TFT_SDA   23    
 TFT_SCL   18    
 GND 
 VCC   5V/3.3V 都行
 BLK   不用接
 ****************************************************/

#include <Adafruit_GFX.h>    // Core graphics library by Adafruit
#include <Arduino_ST7789.h> // Hardware-specific library for ST7789 (with or without CS pin)
#include <SPI.h>

#define TFT_DC    15
#define TFT_RST   17 
#define TFT_CS    4   // only for displays with CS pin
#define TFT_MOSI  23   // for hardware SPI data pin (all of available pins)
#define TFT_SCLK  18   // for hardware SPI sclk pin (all of available pins)

//You can use different type of hardware initialization
//using hardware SPI (11, 13 on UNO; 51, 52 on MEGA; ICSP-4, ICSP-3 on DUE and etc)
//Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST); //for display without CS pin
//Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_CS); //for display with CS pin
//or you can use software SPI on all available pins (slow)
Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK); //for display without CS pin
//Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK, TFT_CS); //for display with CS pin

float p = 3.1415926;

void setup(void) {
  Serial.begin(9600);
  Serial.print("Hello! ST7789 TFT Test");

  tft.init(240, 240);   // initialize a ST7789 chip, 240x240 pixels

  Serial.println("Initialized");

  /*9uint16_t time = millis();
  tft.fillScreen(BLACK);
  time = millis() - time;

  /*Serial.println(time, DEC);
  delay(500);

  // large block of text
  tft.fillScreen(BLACK);
  testdrawtext("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur adipiscing ante sed nibh tincidunt feugiat. Maecenas enim massa, fringilla sed malesuada et, malesuada sit amet turpis. Sed porttitor neque ut ante pretium vitae malesuada nunc bibendum. Nullam aliquet ultrices massa eu hendrerit. Ut sed nisi lorem. In vestibulum purus a tortor imperdiet posuere. ", WHITE);
  delay(1000);

  // tft print function
  tftPrintTest();
  delay(4000);

  // a single pixel
  tft.drawPixel(tft.width()/2, tft.height()/2, GREEN);
  delay(500);

  // line draw test
  testlines(YELLOW);
  delay(500);

  // optimized lines
  testfastlines(RED, BLUE);
  delay(500);

  testdrawrects(GREEN);
  delay(500);

  testfillrects(YELLOW, MAGENTA);
  delay(500);

  tft.fillScreen(BLACK);
  testfillcircles(10, BLUE);
  testdrawcircles(10, WHITE);
  delay(500);

  testroundrects();
  delay(500);

  testtriangles();
  delay(500);*/

  /*mediabuttons();
  delay(500);

  Serial.println("done");
  delay(1000);*/
}

void loop() {

  //tft.fillScreen(BLACK);
  testfillcircles(10, BLUE);
  testdrawcircles(10, WHITE);
  testfillrects(YELLOW, MAGENTA);
  delay(500);
  tft.invertDisplay(true);
  delay(500);
  tft.invertDisplay(false);
  delay(500);
  tftPrintTest();
  delay(500);
  mediabuttons();
  delay(500);
}

void testlines(uint16_t color) {
  tft.fillScreen(BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(0, 0, x, tft.height()-1, color);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(0, 0, tft.width()-1, y, color);
  }

  tft.fillScreen(BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(tft.width()-1, 0, x, tft.height()-1, color);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(tft.width()-1, 0, 0, y, color);
  }

  tft.fillScreen(BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(0, tft.height()-1, x, 0, color);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(0, tft.height()-1, tft.width()-1, y, color);
  }

  tft.fillScreen(BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawLine(tft.width()-1, tft.height()-1, x, 0, color);
  }
  for (int16_t y=0; y < tft.height(); y+=6) {
    tft.drawLine(tft.width()-1, tft.height()-1, 0, y, color);
  }
}

void testdrawtext(char *text, uint16_t color) {
  tft.setCursor(0, 0);
  tft.setTextColor(color);
  tft.setTextWrap(true);
  tft.print(text);
}

void testfastlines(uint16_t color1, uint16_t color2) {
  tft.fillScreen(BLACK);
  for (int16_t y=0; y < tft.height(); y+=5) {
    tft.drawFastHLine(0, y, tft.width(), color1);
  }
  for (int16_t x=0; x < tft.width(); x+=5) {
    tft.drawFastVLine(x, 0, tft.height(), color2);
  }
}

void testdrawrects(uint16_t color) {
  tft.fillScreen(BLACK);
  for (int16_t x=0; x < tft.width(); x+=6) {
    tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color);
  }
}

void testfillrects(uint16_t color1, uint16_t color2) {
  tft.fillScreen(BLACK);
  for (int16_t x=tft.width()-1; x > 6; x-=6) {
    tft.fillRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color1);
    tft.drawRect(tft.width()/2 -x/2, tft.height()/2 -x/2 , x, x, color2);
  }
}

void testfillcircles(uint8_t radius, uint16_t color) {
  for (int16_t x=radius; x < tft.width(); x+=radius*2) {
    for (int16_t y=radius; y < tft.height(); y+=radius*2) {
      tft.fillCircle(x, y, radius, color);
    }
  }
}

void testdrawcircles(uint8_t radius, uint16_t color) {
  for (int16_t x=0; x < tft.width()+radius; x+=radius*2) {
    for (int16_t y=0; y < tft.height()+radius; y+=radius*2) {
      tft.drawCircle(x, y, radius, color);
    }
  }
}

void testtriangles() {
  tft.fillScreen(BLACK);
  int color = 0xF800;
  int t;
  int w = tft.width()/2;
  int x = tft.height()-1;
  int y = 0;
  int z = tft.width();
  for(t = 0 ; t <= 15; t++) {
    tft.drawTriangle(w, y, y, x, z, x, color);
    x-=4;
    y+=4;
    z-=4;
    color+=100;
  }
}

void testroundrects() {
  tft.fillScreen(BLACK);
  int color = 100;
  int i;
  int t;
  for(t = 0 ; t <= 4; t+=1) {
    int x = 0;
    int y = 0;
    int w = tft.width()-2;
    int h = tft.height()-2;
    for(i = 0 ; i <= 16; i+=1) {
      tft.drawRoundRect(x, y, w, h, 5, color);
      x+=2;
      y+=3;
      w-=4;
      h-=6;
      color+=1100;
    }
    color+=100;
  }
}

void tftPrintTest() {
  tft.setTextWrap(false);
  tft.fillScreen(BLACK);
  tft.setCursor(0, 30);
  tft.setTextColor(RED);
  tft.setTextSize(1);
  tft.println("Hello World!");
  tft.setTextColor(YELLOW);
  tft.setTextSize(2);
  tft.println("Hello World!");
  tft.setTextColor(GREEN);
  tft.setTextSize(3);
  tft.println("Hello World!");
  tft.setTextColor(BLUE);
  tft.setTextSize(4);
  tft.print(1234.567);
  delay(1500);
  tft.setCursor(0, 0);
  tft.fillScreen(BLACK);
  tft.setTextColor(WHITE);
  tft.setTextSize(0);
  tft.println("Hello World!");
  tft.setTextSize(1);
  tft.setTextColor(GREEN);
  tft.print(p, 6);
  tft.println(" Want pi?");
  tft.println(" ");
  tft.print(8675309, HEX); // print 8,675,309 out in HEX!
  tft.println(" Print HEX!");
  tft.println(" ");
  tft.setTextColor(WHITE);
  tft.println("Sketch has been");
  tft.println("running for: ");
  tft.setTextColor(MAGENTA);
  tft.print(millis() / 1000);
  tft.setTextColor(WHITE);
  tft.print(" seconds.");
}

void mediabuttons() {
  // play
  tft.fillScreen(BLACK);
  tft.fillRoundRect(25, 10, 78, 60, 8, WHITE);
  tft.fillTriangle(42, 20, 42, 60, 90, 40, RED);
  delay(500);
  // pause
  tft.fillRoundRect(25, 90, 78, 60, 8, WHITE);
  tft.fillRoundRect(39, 98, 20, 45, 5, GREEN);
  tft.fillRoundRect(69, 98, 20, 45, 5, GREEN);
  delay(500);
  // play color
  tft.fillTriangle(42, 20, 42, 60, 90, 40, BLUE);
  delay(50);
  // pause color
  tft.fillRoundRect(39, 98, 20, 45, 5, RED);
  tft.fillRoundRect(69, 98, 20, 45, 5, RED);
  // play color
  tft.fillTriangle(42, 20, 42, 60, 90, 40, GREEN);
}

3.3TFT_eSPI庫版

參考:使用DOIT ESP32 DEVKIT V1驅(qū)動屏幕ST7789

3.3.1配置TFT_eSPI

配置TFT_eSPI,作者分了4個部分。

a.選擇屏幕的驅(qū)動和尺寸

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

b.定義引腳

非常重要,之前一直沒有點亮屏幕而改用Adafruit庫,就是因為引腳定義的問題。

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

// TFT官方配置
#define TFT_MOSI 15 // In some display driver board, it might be written as "SDA" and so on.
#define TFT_SCLK 14
#define TFT_CS   5  // Chip select control pin
#define TFT_DC   27  // Data Command control pin
#define TFT_RST  33  // Reset pin (could connect to Arduino RESET pin)
#define TFT_BL   22  // LED back-light

//配置1,完全按照引腳圖來配置
#define TFT_MOSI 21 
#define TFT_SCLK 22
#define TFT_DC   4  
#define TFT_RST  23  
//#define TFT_CS   34  // 沒有CS引腳
//#define TFT_BL   35  // 背光不需要設置

//配置2,根據(jù)官方使用修改而來
#define TFT_MOSI 5   //官方使用15,對應HSPI CS0引腳,這里用VSPI CS0,其中V指virtual
#define TFT_SCLK 18  //官方使用14,對應HSPI CLK,這里用VSPI CLK
#define TFT_DC   4  
#define TFT_RST  22  
//#define TFT_CS   34  // 沒有CS引腳
//#define TFT_BL   35  // 背光不需要設置
c.定義啟用的字體

沒特別的需求就別動配置,關掉某些字體可以節(jié)省存儲空間。

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

d. 其他選項

主要是控制SPI協(xié)議的頻率,沒事別動

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

3.3.2TFT_eSPI 顯示圖片

參考資料:

  • 【CSDN】ESP32 Arduino 學習篇(五)TFT_eSPI庫

  • 【CSDN@慕容流年】《Arduino》開發(fā) 之 TFT_eSPI 庫 顯示一張彩色圖片

main.c


#include <TFT_eSPI.h>
#include <SPI.h>
#include <Wire.h>
#include "bmp.h"
 
#ifndef TFT_DISPOFF
#define TFT_DISPOFF 0x28
#endif
 
#ifndef TFT_SLPIN
#define TFT_SLPIN   0x10
#endif
 
TFT_eSPI tft = TFT_eSPI(240, 240); // Invoke custom library
 
void showImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data);
 
void setup()
{
    Serial.begin(9600);
    Serial.println("Start");
    tft.init();
  // 設置屏幕顯示的旋轉角度,參數(shù)為:0, 1, 2, 3
    tft.setRotation(2); // 分別代表 0°、90°、180°、270°
    tft.fillScreen(TFT_BLACK);// //屏幕填充顏色,如果沒有設置,沒有顯示的區(qū)域會發(fā)現(xiàn)花屏
    tft.setTextSize(2);
    tft.setTextColor(TFT_MAGENTA);
    tft.setCursor(0, 0);
    tft.setTextDatum(MC_DATUM);
    tft.setTextSize(1);
 
    if (TFT_BL > 0) { // TFT_BL has been set in the TFT_eSPI library in the User Setup file TTGO_T_Display.h
         //顯示屏背光
      ledcSetup(10, 5000/*freq*/, 10 /*resolution*/);//信號頻率 5000 Hz  占空比分辨率 10位
      ledcAttachPin(TFT_BL, 10);// LEDC_CHANNEL_10
      analogReadResolution(10);
      ledcWrite(10,1023); // //  1023 = 2 ^ 10 - 1
    }
}
 
void loop()
{
//    tft.fillScreen(TFT_WHITE);
//    tft.setSwapBytes(true);
    showImage(0, 0,  240, 160, bmp1);
//    delay(1000);
}
 
#define PI_BUF_SIZE 128
void showImage(int32_t x, int32_t y, int32_t w, int32_t h, const uint16_t *data){
  int32_t dx = 0;
  int32_t dy = 0;
  int32_t dw = w;
  int32_t dh = h*2;
 
  if (x < 0) { dw += x; dx = -x; x = 0; }
  if (y < 0) { dh += y; dy = -y; y = 0; }
 
  if (dw < 1 || dh < 1) return;
 
  CS_L;
 
  data += dx + dy * w;
 
  uint16_t  buffer[PI_BUF_SIZE];
  uint16_t* pix_buffer = buffer;
  uint16_t  high,low;
 
  tft.setWindow(x, y, x + dw - 1, y + dh - 1);
 
  // Work out the number whole buffers to send
  uint16_t nb = (dw * dh) / (2 * PI_BUF_SIZE);
 
  // Fill and send "nb" buffers to TFT
  for (int32_t i = 0; i < nb; i++) {
    for (int32_t j = 0; j < PI_BUF_SIZE; j++) {
      high = pgm_read_word(&data[(i * 2 * PI_BUF_SIZE) + 2 * j + 1]);
      low = pgm_read_word(&data[(i * 2 * PI_BUF_SIZE) + 2 * j ]);
      pix_buffer[j] = (high<<8)+low;
    }
    tft.pushPixels(pix_buffer, PI_BUF_SIZE);
  }
 
  // Work out number of pixels not yet sent
  uint16_t np = (dw * dh) % (2 * PI_BUF_SIZE);
 
  // Send any partial buffer left over
  if (np) {
    for (int32_t i = 0; i < np; i++)
    {
      high = pgm_read_word(&data[(nb * 2 * PI_BUF_SIZE) + 2 * i + 1]);
      low = pgm_read_word(&data[(nb * 2 * PI_BUF_SIZE) + 2 * i ]);
      pix_buffer[i] = (high<<8)+low;
    }
    tft.pushPixels(pix_buffer, np);
  }
 
  CS_H;
}

LCD全彩圖片時取模軟件 Image2Lcd 2.9(破解版)。ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

bmp.h

const unsigned short bmp1[] PROGMEM = { 0X10,0X10,0X00,0XF0,0X00,0XA0,0X01,0X1B,};

ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

4.成果展示

在【文件】-【示例】-【TFT_eSPI】-【320x240】中找一個示例程序演示。
ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口

ESP32 驅(qū)動ST7789液晶屏效果展示文章來源地址http://www.zghlxwxcb.cn/news/detail-411167.html


資料下載

  • 【CSDN】1.54寸(240240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口ST7789驅(qū)動 資料匯總

參考資料

  • [1] 【YouTube】ESP32 + 1.3 inch 240x240 IPS LCD (ST7789 SPI interface), using TFT_eSPI library
  • [2] https://arduino-er.blogspot.com/2020/07/esp32-13-inch-240x240-ips-lcd-st7789.html
  • [3] 【GitHub】TFT_eSPI庫
  • [4] 【CSDN@LoveArduinos
    】Arduino開發(fā)-TFT_eSPI庫學習
    [5] 【簡書】 使用DOIT ESP32 DEVKIT V1驅(qū)動屏幕ST7789的踩坑之旅

到了這里,關于ESP32 入門筆記08:1.54寸(240*240)彩色TFT 顯示高清IPS LCD 屏幕 SPI接口的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • STM32驅(qū)動0.96寸TFT 彩色LCD模塊顯示

    STM32驅(qū)動0.96寸TFT 彩色LCD模塊顯示

    小型的彩色LCD模塊如一款0.96寸模塊,由ST7735S驅(qū)動芯片和LCD屏幕組成。STM32通過驅(qū)動ST7735S,從而實現(xiàn)對彩色LCD的驅(qū)動。 這里將STM32通過硬件SPI驅(qū)動0.96寸TFT彩色LCD的參考代碼,移植到STM32CUBEIDE開發(fā)環(huán)境。以STM32G030F6P6為例,可以用于采用ST7735S驅(qū)動芯片的其它尺寸LCD屏幕驅(qū)動。 LC

    2024年02月16日
    瀏覽(23)
  • TFT屏幕在arduino (esp 32)下的驅(qū)動,漢字顯示和字庫比較

    TFT屏幕在arduino (esp 32)下的驅(qū)動,漢字顯示和字庫比較

    絕大多數(shù)的tft屏幕在esp32 下都可以被 TFT_eSPI 驅(qū)動顯示,以下清單中的驅(qū)動模塊都可以用tft_espi來顯示: 上面的驅(qū)動表基本囊括了主要的TFT顯示模塊,所以除非不在這個清單中,所以別找第三方驅(qū)動了。 二、TFT模塊的漢字顯示方式和字庫調(diào)用 在TFT_eSPI 的官方系統(tǒng)中提供了pro

    2024年02月07日
    瀏覽(31)
  • stm32驅(qū)動微雪墨水屏1.54inch e-Paper V2

    stm32驅(qū)動微雪墨水屏1.54inch e-Paper V2

    支持局刷的屏幕,注意使用的時候 不能一直用局刷對屏幕進行刷新,需要在做幾次局刷之后,對屏幕進行一次全刷清屏。否則會造成屏幕顯示效果異常 。 注意屏幕 不能長時間上電,在屏幕不刷新的時候,要將屏幕設置成睡眠模式,或者進行斷電處理 。否則屏幕長時間保持

    2023年04月25日
    瀏覽(19)
  • arduino-esp32:基于TFT-eSPI庫實現(xiàn)觸摸顯示屏

    arduino-esp32:基于TFT-eSPI庫實現(xiàn)觸摸顯示屏

    在arduino的IDE上已經(jīng)搭建好了ESP32環(huán)境的話,寫寫小應用的話還是很簡單的,畢竟有這么多優(yōu)秀的庫。 之前用自己買的TFT屏試了一下TFT-eSPI庫的驅(qū)動效果,顯示效果挺好的,但是觸摸一直沒用上。最近有空了弄了一下。 我的屏幕是2.2寸/2.4/2.8/3.2/3.5/4.0寸TFT觸摸彩色SPI串口液晶屏

    2023年04月09日
    瀏覽(52)
  • ESP32 入門筆記04: 0.96寸OLED 顯示屏 + u8g2庫絲滑顯示UI (ESP32 for Arduino IDE)

    ESP32 入門筆記04: 0.96寸OLED 顯示屏 + u8g2庫絲滑顯示UI (ESP32 for Arduino IDE)

    先導知識 ESP32 入門筆記01:開發(fā)板信息、開發(fā)環(huán)境搭建以及學資料準備 ESP32 入門筆記02: GPIO參考指南 在本例中,我們使用 I2C 通信協(xié)議。ESP32 中最適合 I2C 通信的引腳是通用輸入輸出接口 22(SCL) 和通用輸入輸出接口 21(SDA) 。 安裝 SSD1306 OLED 庫 – ESP32 (也可以用u8g2庫,在Ardu

    2024年01月19日
    瀏覽(21)
  • gd32 exmc 連接 mcu 8080TFT 驅(qū)動(8pin/16pin)ST7789,40幀每秒240*320;

    #include \\\"gd32e50x.h\\\" #if? ? 0 ?//RS~A23 ? 16根數(shù)據(jù)線 #define BANK0_LCD_D ? ? ? ? ((uint32_t)0x61000000) ? ?//LCD data address,RS~A23 16線 ?2^23*2=0x1000000? #define BANK0_LCD_C ? ? ? ? ((uint32_t)0x60000000) ? ?//LCD register address Alternate2: EXMC_NE0=PD7~LCD_CS #define LCD_WR_DATA(value)?? ?((*(__IO uint16_t*)(BANK0_LCD_D)) = (

    2024年01月17日
    瀏覽(34)
  • 物聯(lián)網(wǎng)開發(fā)筆記(89)- 使用Micropython開發(fā)ESP32開發(fā)板之合宙ESP32 C3開發(fā)板通過串口SPI控制st7789 TFT液晶屏1.3寸

    物聯(lián)網(wǎng)開發(fā)筆記(89)- 使用Micropython開發(fā)ESP32開發(fā)板之合宙ESP32 C3開發(fā)板通過串口SPI控制st7789 TFT液晶屏1.3寸

    一、目的 ??????? 這一節(jié)我們學習如何使用合宙的ESP32 C3開發(fā)板控制1.3寸彩色TFT顯示屏模塊,分辨率240*240,SPI接口,ST7789驅(qū)動芯片。 二、環(huán)境 ??????? ESP32? C3 + Thonny + 1.3寸 st7789液晶屏模塊 + 幾根杜邦線 + Win10 接線方法: ? 三、st7789 TFT顯示屏驅(qū)動 st7789py.py ? 四、點亮

    2024年02月11日
    瀏覽(32)
  • 物聯(lián)網(wǎng)開發(fā)筆記(62)- 使用Micropython開發(fā)ESP32開發(fā)板之控制ILI9341 3.2寸TFT-LCD觸摸屏進行LVGL圖形化編程:環(huán)境搭建

    物聯(lián)網(wǎng)開發(fā)筆記(62)- 使用Micropython開發(fā)ESP32開發(fā)板之控制ILI9341 3.2寸TFT-LCD觸摸屏進行LVGL圖形化編程:環(huán)境搭建

    一、目的 ??????? 這一節(jié)我們學習如何使用我們的ESP32開發(fā)板來控制ILI9341 3.2寸TFT-LCD觸摸屏進行LVGL圖形化編程的第一步:環(huán)境搭建。 :3.2寸SPI串口TFT液晶顯示屏模塊 ILI9341驅(qū)動 LCD觸摸屏 240*320 LVGL圖形化編程 XPT2046觸摸屏芯片IC 二、環(huán)境 ??????? ESP32 + 3.2寸 ILI934

    2023年04月15日
    瀏覽(43)
  • Arduino+esp8266+1.3寸TFT屏(st7789驅(qū)動)顯示圖片教程

    Arduino+esp8266+1.3寸TFT屏(st7789驅(qū)動)顯示圖片教程

    Arduino下載TFT_eSPI和JPEGDecoder庫 步驟:項目-加載庫-管理庫 修改User_Setup.h 驅(qū)動 #define ST7789_DRIVER 屏尺寸(我的是240*240) #define TFT_WIDTH 240 #define TFT_HEIGHT 240 連接引腳 #define TFT_CS PIN_D8 // Chip select control pin D8 #define TFT_DC PIN_D3 // Data Command control pin #define TFT_RST PIN_D4 // Reset pin (could co

    2023年04月25日
    瀏覽(23)
  • ESP32 Arduino 學習篇(五)TFT_eSPI庫

    ESP32 Arduino 學習篇(五)TFT_eSPI庫

    首先在Libraries里面搜索安裝TFT_eSPI庫到你的工程文件里面。 文件配置 ??該庫有User_Setup.h和 User_Setup_Select.h兩個配置文件,支持 ①自定義參數(shù)或 ②使用已有配置 驅(qū)動TFT屏幕。 User_Setup.h — 由自己定義設備使用的引腳,若使用此文件配置,則User_Setup_Select.h文件內(nèi)容不要做修改

    2023年04月09日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包