#include <TFT_eSPI.h>
#include <SPI.h>
#include <SdFat.h>
#define SPI_SPEED SD_SCK_MHZ(6)
#define CS_PIN 5
SdFat sd;
#define TFT_CS 15
#define TFT_DC 2
#define TFT_MISO 19
#define TFT_MOSI 23
#define TFT_SCLK 18
TFT_eSPI tft = TFT_eSPI();
void setup(void) {
Serial.begin(115200); // Инициализация последовательной связи для вывода отладочных сообщений
SPI.begin(); // Инициализация шины SPI. Эта команда инициализирует аппаратную поддержку SPI на микроконтроллере
tft.begin(); // Инициализация экрана
tft.setRotation(1); // Установка ориентации экрана
tft.fillScreen(TFT_BLACK); // Заполнение экрана черным цветом
tft.setTextSize(2);
tft.setTextColor(TFT_GREEN);
if (!sd.begin(CS_PIN, SPI_SPEED)) {
if (sd.card()->errorCode()) {
Serial.println(F("Не удалось выполнить инициализацию SD"));
} else if (sd.vol()->fatType() == 0) {
Serial.println(F("Не возможно найти рабочий раздел FAT16/FAT32"));
} else {
Serial.println(F("Не возможно определить тип ошибки"));
}
return;
}
Serial.println(F("SD-карта работает\n"));
//################################################################################
// Открытие файла для записи
SdFile dataFile;
if (!dataFile.open("test 1.txt", O_RDWR | O_CREAT | O_AT_END)) {
Serial.println(F("Ошибка открытия файла"));
return;
}
// Запись текста в файл
dataFile.println(F("Hello SD-card!"));
dataFile.close();
// Открытие файла для чтения
if (!dataFile.open("test 1.txt", O_READ)) {
Serial.println(F("Ошибка открытия файла для чтения"));
return;
}
// Чтение и вывод содержимого файла
while (dataFile.available()) {
Serial.write(dataFile.read());
}
dataFile.close();
//################################################################################
// Вывод списка файлов на SD-карте
Serial.println("Список файлов на SD-карте:");
sd.ls("/", LS_R);
//################################################################################
}
void loop() {
}
Loading
ili9341-cap-touch
ili9341-cap-touch