Witam
Robię mały system do zarządzania podlewaniem wody w ogródku i mam problem z karta SD a chodzi o te linijki które się wyświetlają na serial porcie
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
[E][sd_diskio.cpp:124] sdSelectCard(): Select Failed
i to za każdym razem się wyświetla sprawdzałem różne sposoby z forów które znalazłem na Internecie ale żaden sposób nie działa i nie wiem o co z tym chodzi i jak to naprawić piny mam niby podpięte prawidłowo, w taki sposób:
CS -> 5
MOSI -> 23
CLK -> 18
MISO -> 19
Inicjacja SD jest w pliku nagłówkowym i wygląda tak:
void initSD(){
try{
int cRel = 10;
while(cRel > 0){
if (SD.begin(5)) break;
cRel--;
if(cRel == 0){
SD_CARD_AVILABLE = false;
Serial.println("SD_CARD Mount Failed");
}
}
}catch(...){
SD_CARD_AVILABLE = false;
Serial.println("SD_CARD Mount Failed");
}
}
A w osobnym pliku nagłówkowym mam zrobione wpisywanie danych (logów z systemu) na kartę microSD ale za każdym wywalaniem funkcji która wpisuje logi na kartę wyskakują te komunikaty o "Select Failed". Plik z wpisywaniem na kartę:
bool writeAppend_SD(String path, String msg){
if(!SD_CARD_AVILABLE) return false;
File file = SD.open(path, FILE_APPEND);
if(!file) return false;
file.println(msg);
file.close();
return true;
}
Jak coś to ta funkcja jest wykonywana parę razy na sekundę ponieważ jest to funkcja która jest wywoływana w funkcji która zbiera logi przetwarza na odpowiednią wiadomość a później przekazuje ścieżkę do pliku i wiadomość.
Miał ktoś już taki błąd?? Walczył ktoś z tym i wie jak to naprawić?? Bym był wdzięczny jak by ktoś kto wie jak to naprawić albo ma pomysł napisał.