Witam, mam problem z podłączeniem karty SD do ATmegi164A. W projekcie wykorzystuję już jeden SPI, dlatego do podłączenia karty chciałem użyć USARTA w trybie Master (MSPIM). I tu pojawia się problem, nie moge nigdzie znaleźć w internetach jakiegoś gotowego przykładu na którym mógłbym się wzorować. Proces inicjalizacji oraz wysyłanie danych robię na podstawie datasheetu atmegi.
Robił ktoś może komunikacje SPI przy pomocy uarta i mógłby mi pomóc/naprowadzić mnie? Do obsługi karty SD korzystam z przerobionych bibliotek PetitFS z bluebooka. Zmiany jakie wprowadziłem w bibliotece zamieszczam na dole. Z tego co udało mi się dojść program "staje" w disk_initialize(), a dokładnie w funkcji rcv_spi(). Nie wiem czy źle wykonuje inicjalizację MSPIM czy moze źle wykonuję odczyt odebranych danych. Wszystko zasilane 3V3, kwarc zewnętrzny 11.0592. Wydaje mi sie ze ze strony połączenia wszystko dobrze zrobiłem, sprawdzałem kilka razy, także wydaje mi się że wina leży po stronie softu. Bardzo dziękuję z góry za pomoc. Pozdrawiam, Patryk.
Połączenie SPI:
uC - SD
PD2 MISO - RX1
PD3 MOSI - TX1
PD4 SCK - XCK1
PD5 - CS
Main:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Zmiany wprowadzone w pliku mmc.c:
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.