имеем код: Код (C++): #include "Ethernet.h" #include "EthernetUdp.h" #include "SD.h" setup { Serial.println(F("Инициализация SD карты...")); if (!SD.begin(4)) { Serial.println(F("... отказ!")); while(1); } else { // tft.println(F("OK")); tft.println(); //SD.remove("connect.dat"); //Serial.println("удалил файл connect.dat"); } Serial.println(F("... выполнено")); Udp.begin(loPort); } loop { ..... } программа нормально запускается и работает и с интернетом и с SD картой. но если сделать reset, программно или кнопкой, то SD карта не инициализируется. Если вытащить/вставить SD и перезапустить ресетом - все опять запускается и работает. Либо можно вытащить и вставить питание - тоже все работает. Что тут можно сделать, что бы перезапускать прогу, и SD инициализировалось нормально?
... оказалось не совсем всё просто... долго ковырялся. Конфликт между Код (C++): #include "EthernetUdp.h" #include "SD.h" pinMode(4,OUTPUT); digitalWrite(4, LOW); if (!SD.begin(4)) и Код (C++): #include "SPFD5408_Adafruit_GFX.h" #include "SPFD5408_Adafruit_TFTLCD.h" #include "SPFD5408_TouchScreen #define LCD_CS A3 // Chip Select goes to Analog 3 #define LCD_CD A2 // Command/Data goes to Analog 2 #define LCD_WR A1 // LCD Write goes to Analog 1 #define LCD_RD A0 // LCD Read goes to Analog 0 #define LCD_RESET A4 // Can alternately just connect to Arduino's reset pin Adafruit_TFTLCD tft(LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); хаос вносит строка tft.setTextSize(2); если её закомментировать, то всё работает. пример всего кода размещать смысла нет, наверное. этот конфликт можно решить, или забить? что нужно для решения этого вопроса?