Connect a TFT with ST7735S to ESP32 with ESP-IDF

nefen1
Posts: 4
Joined: Sun Apr 17, 2022 4:12 am

Connect a TFT with ST7735S to ESP32 with ESP-IDF

Postby nefen1 » Tue May 17, 2022 6:30 pm

I cannot communicate with the display. Any help is highly wellcome!

Following are the main configurations data:
spi_bus_config_t:

Code: Untitled.cpp Select all

        
spi_bus_config_t BusCfg= {
.mosi_io_num=23,
.miso_io_num=-1,
.sclk_io_num=18,
.quadwp_io_num=-1,
.quadhd_io_num=-1,
};
spi_device_interface_config_t:

Code: Untitled.cpp Select all


        spi_device_interface_config_t DevCfg={
.mode=0, //SPI mode 0
.cs_ena_pretrans=2,
.clock_speed_hz=40*1000*1000,
.spics_io_num=5, //CS pin set in init
.flags = SPI_DEVICE_HALFDUPLEX,
.queue_size=7, /
.pre_cb=NULL,
.post_cb=NULL,
};
THe code for transmitting a command:

Code: Untitled.cpp Select all


void tft_cmd(const uint8_t cmd){
esp_err_t ret;
spi_transaction_t t;
memset(&t, 0, sizeof(t));
t.length=8;
t.tx_data[0]=cmd;
t.flags=SPI_TRANS_USE_TXDATA | SPI_TRANS_MODE_DIO;
gpio_set_level(Dc, 0);
ret=spi_device_polling_transmit(Spi, &t);
assert(ret==ESP_OK);
Code for transmitting data:

Code: Untitled.cpp Select all


void tft_data(const uint8_t *data, int len)
{
esp_err_t ret;
spi_transaction_t t;

if (len==0) return; //no need to send anything
memset(&t, 0, sizeof(t)); //Zero out the transaction
t.length=len*8; //Len is in bytes, transaction length is in bits.
t.tx_buffer=data;
t.flags=SPI_TRANS_MODE_DIO;
gpio_set_level(Dc, 1);
ret=spi_device_polling_transmit(Spi, &t);
assert(ret==ESP_OK);
}
What am I doing wrong?

Sprite
Espressif staff
Espressif staff
Posts: 10619
Joined: Thu Nov 26, 2015 4:08 am

Re: Connect a TFT with ST7735S to ESP32 with ESP-IDF

Postby Sprite » Wed May 18, 2022 1:00 pm

Why are you using DIO mode?

nefen1
Posts: 4
Joined: Sun Apr 17, 2022 4:12 am

Re: Connect a TFT with ST7735S to ESP32 with ESP-IDF

Postby nefen1 » Fri May 20, 2022 7:11 pm

Thank you for posting!

Yes, DIO is wrong.

Finally I had solved it. Mode should be 3 and not 0

Who is online

Users browsing this forum: ChatGPT-User, PetalBot, Qwantbot and 0 guests