• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

[ESP32] Karta SD "Select Failed"

VPS Starter Arubacloud
0 głosów
386 wizyt
pytanie zadane 26 kwietnia 2022 w Mikrokontrolery przez Marak123 Stary wyjadacz (11,190 p.)

Witam smiley

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ł.smiley

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 454 wizyt
0 głosów
0 odpowiedzi 558 wizyt
pytanie zadane 11 sierpnia 2017 w Mikrokontrolery przez szerwi Użytkownik (620 p.)
0 głosów
1 odpowiedź 1,139 wizyt
pytanie zadane 26 marca 2017 w Mikrokontrolery przez szerwi Użytkownik (620 p.)

92,947 zapytań

141,899 odpowiedzi

321,118 komentarzy

62,283 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...