Arduino Polska Forum

Pełna wersja: ethernet enc28j60 + microsd [2xSPI]
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam.
Próbuję podłączyć te dwa moduły [2xSPI] wg schematu: https://i.stack.imgur.com/2Szxp.png.
W momencie podłączenia obu modułów na raz, żaden z nich nie pracuje prawidłowo.
Podłączanie wygląda prawidłowo. A jak wygląda kod programu? To Ty decydujesz, z którym Slavem rozmawiasz na SPI, jeden ma mieć na ten czas włączony SS w stan niski, a reszta ma mieć wysoki. Zawsze gdy Master coś nadaje, aktywny Slave robi to również, jak nie banglujesz pinami SS to gadają wszystkie lub żaden - w obu przypadkach nic nie zrozumiesz/nie działa.
Kod się wkleja w post, np. przez podgląd i potem wybierasz opcję <kod> z menu.
Przykład w arduino jest inny, masz 3x SD.begin(4), a uruchomienie karty robi się raz. Jak korzystasz z biblioteki to tylko podajesz którym pinem ma sterować do "gadania" z urządzeniem na SPI (właśnie tą komendą SD.begin(4)) i potem to biblioteka sama sobie radzi, nie banglujesz sam tym pinem, nie ustawiasz jako wyjścia, po prostu dla Ciebie już nie istnieje.
(08-04-2018, 20:20)kaczakat napisał(a): [ -> ]Przykład w arduino jest inny, masz 3x SD.begin(4), a uruchomienie karty robi się raz.

Metoda begin zwraca wartość typu bool, jeśli inicjalizacja zakończyła się sukcesem, więc użyto ją właściwie.
Plik SD.cpp linia 240: "Return true if initialization succeeds, false otherwise."


Problem polega na tym, że użycie jednocześnie tych bibliotek powoduje utratę pakietów i wygląda jak by nie działała karta ethernet, albo karta SD i nie jesteśmy w stanie stwierdzić co nie działa.
Jean-Claude Wippler, twórca biblioteki ethercard, wie o problemie, ale nie wie jak go rozwiązać i raczej nie zanosi się aby to razem zagrało.

Użyj tinyfat, sprawdzone, działa.
https://github.com/lucianbrandabur/Ardui...es/tinyFAT