Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 sty 2025, o 18:43


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 29 kwi 2020, o 13:31 
Offline
Nowy

Dołączył(a): 16 gru 2019
Posty: 8
Pomógł: 0

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:
Składnia: [ Pobierz ] [ Ukryj ]
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:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 kwi 2020, o 16:01 
Offline
Użytkownik

Dołączył(a): 02 gru 2015
Posty: 63
Pomógł: 1

Jak używasz biblioteki PetitFS z bluebooka to pewno czytałeś rozdział Sprzętowa obsługa SPI ... na stronie 313 masz poglądowy schemat jak podłączyć wiele urządzeń slave na magistrali SPI i sterować linią CS.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 kwi 2020, o 18:39 
Offline
Nowy

Dołączył(a): 16 gru 2019
Posty: 8
Pomógł: 0

Wiem że można podpiąć kilka urządzeń pod spi, ale niestety to nie jest rozwiązanie w moim przypadku. Problem rozwiązałem, pochopnie usunąłem poprawki pana Mirosława. Wystarczyło w funkcji rcv_spi() na początku przerobić zapis: UDR1 = 0xFF;. Dziękuję za chęć pomocy i pozdrawiam



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Majestic-12 [Bot] i 8 gości


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO