Cześć.
Siedze już 2 dni nad kodem, prześledziłem wszystkie rejestry i nie wiem już co jest źle. Mam problem z komunikacją z kartą SD już na samym początku kiedy wysyłamy komendę CMD0 - przejście w tryb sterowania po SPI.
Oto dołączam mój kod:
Biblioteka SPI:
PLIK Spi.h
plik spi.c
Oraz kawałek kodu próbującego dostać się do karty:
Po kazdym wyslaniu komendy CMD0 karta nie reaguje nie odpowiada.
zmienna spi_res zawsze ma wartosc 0xff.
Gdzie może być błąd?
Chciałem dodac że taktowanie na porty i na SPI2 uruchamiam wcześniej w funkcji main i jest dobrze zrobione. Mierzyłem czestotliwosc na wyjsciu SCK spi i jest taka jaka zadałem. Wiec chyba spi chodzi.
Uwaga! Dodam jeszcze że zintegrowałem obsługe karty SD z przykładowego projektu pod płytkę STM32F373C_EVAL (nawet te same piny wykorzystałem). Pobrałem z tamtąd całą inicjalizację robioną na podstawie standardowych bibliotek STMa i niestety nic nie pomogło. Nadal karta nie odpowiada (cały czas informacja zwrotna o wartości 0xff). Zakładam że jeżeli nie działa oryginalny kod z EVAL to coś msui być nie tak w połączeniach karty z uC.
Same połączenie wygląda tak, że łącze się kablami bezpośrednio z goldpinów, a po drugiej stronie mam wlutowane kabelki (długość 15cm) bezpośrednio w adapter na karty microSD. Zadnej lini sygnałowej nie podciągam do zasilania przez zewnetrzny rezystor. Tylko podciągam 3 linie SCK, MIOS, MOSI po przez wewnetrze rezystory podciagające (40k) w kodzie przy inicjalizcji (tak było oryginalnie w kodzie EVAL)
Siedze już 2 dni nad kodem, prześledziłem wszystkie rejestry i nie wiem już co jest źle. Mam problem z komunikacją z kartą SD już na samym początku kiedy wysyłamy komendę CMD0 - przejście w tryb sterowania po SPI.
Oto dołączam mój kod:
Biblioteka SPI:
PLIK Spi.h
Code: c
plik spi.c
Code: c
Oraz kawałek kodu próbującego dostać się do karty:
Code: c
Po kazdym wyslaniu komendy CMD0 karta nie reaguje nie odpowiada.
zmienna spi_res zawsze ma wartosc 0xff.
Gdzie może być błąd?
Chciałem dodac że taktowanie na porty i na SPI2 uruchamiam wcześniej w funkcji main i jest dobrze zrobione. Mierzyłem czestotliwosc na wyjsciu SCK spi i jest taka jaka zadałem. Wiec chyba spi chodzi.
Uwaga! Dodam jeszcze że zintegrowałem obsługe karty SD z przykładowego projektu pod płytkę STM32F373C_EVAL (nawet te same piny wykorzystałem). Pobrałem z tamtąd całą inicjalizację robioną na podstawie standardowych bibliotek STMa i niestety nic nie pomogło. Nadal karta nie odpowiada (cały czas informacja zwrotna o wartości 0xff). Zakładam że jeżeli nie działa oryginalny kod z EVAL to coś msui być nie tak w połączeniach karty z uC.
Same połączenie wygląda tak, że łącze się kablami bezpośrednio z goldpinów, a po drugiej stronie mam wlutowane kabelki (długość 15cm) bezpośrednio w adapter na karty microSD. Zadnej lini sygnałowej nie podciągam do zasilania przez zewnetrzny rezystor. Tylko podciągam 3 linie SCK, MIOS, MOSI po przez wewnetrze rezystory podciagające (40k) w kodzie przy inicjalizcji (tak było oryginalnie w kodzie EVAL)