SD Card stops touch working

Hi All,
Thanks for the great tutorials. I am using your DIS06043H 4.3” Crow Panel.
Basically I have lesson 6 (with my own Square Line screens) running and everything works as it should.
My problem is that when I install the SD Card initialization code (from lesson 3) the touch stops working. If I write to the SD Card the system crashes. The SD Card initializes with out an error message.
I modified the initialization for the SD Card as follows with same problem:

include <Wire.h>

include <SPI.h>

#include <FS.h?

include <lvgl.h>

include "ui.h"

include <SD.h>

include "gfx_conf.h"

// for esp_now

include <esp_now.h>

include <WiFi.h>

include <EEPROM.h>

SPIClass * sd_spi = NULL;

// Define custom SPI pins

define SD_CS 10 // Chip Select (CS) pin

define SD_MISO 13 // Master In Slave Out pin

define SD_MOSI 11 // Master Out Slave In pin

define SD_SCK 12 // Serial Clock pin

Code in SETUP to start SD_Card:
sd_spi = new SPIClass(HSPI);
sd_spi->begin(SD_SCK, SD_MISO, SD_MOSI, SD_CS);
pinMode(sd_spi->pinSS(), OUTPUT);

if (!SD.begin(SD_CS, *sd_spi, 80000000))
{Serial.println("SD card initialization failed!"); return; }
Thanks
Matt

Comments

  • I fixed the code, SD.begin works without interference with touch.
    The system still crashes when opening SD card. The touch is on an interrupt, I verified that the touch chip select is not going low during a write to SD. I suspect but can't prove the lovyanGFX is still listening to the SPI bus.
    touch_cfg.bus_shared = true; // 画面と共通のバスを使用している場合 trueを設定

Sign In or Register to comment.