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



Teraz jest 23 mar 2026, o 01:36


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
Autor Wiadomość
PostNapisane: 27 paź 2015, o 16:32 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Witam
Mam takie krótkie dwa pytanka.
1. Chcę użyć sprzętowego SPI do ładowania danych do rejestru przesuwnego. Nie mam więc potrzeby odbierania jakichkolwiek danych. Chciałbym użyć pinu MISO jako zwykłego pinu I/O skonfigurowanego jako wejście z podpiętym przyciskiem. Czy stan pinu MISO mogę odczytywać jak każdego innego pinu I/O. Czy jest może jakaś konfiguracja która włącza jednokierunkową obsługę sprzętowego SPI pozostawiając MISO niejako w spokoju.
2. W poradniku Mirka dot. SPI i rejestrów przesuwnych jest pokazana procedura wysyłania bajtu przez SPI. Jest w niej zawarta pętla oczekiwania na flagę zakończenia wysyłania bajtu. Czy jest konieczne zatrzymanie pętli głównej na czas wysyłania czy może lepiej przed kolejnym zapisem do rejestru SPI sprawdzić stan tej flagi i w razie gdyby poprzednia transmisja jeszcze się nie zakończyła to wtedy poczekać.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2015, o 14:21 
Offline
Użytkownik

Dołączył(a): 10 sie 2013
Posty: 66
Lokalizacja: Szczecin
Pomógł: 7

ad.1 Włączając SPI w Xmega w trybie Master pin MISO jest jedynym, w którym uC wymusza kierunek, i tym kierunkiem jest IN, i jak najbardziej stan pinu możesz badać w rejestrze PORTx_IN, natomiast wyjścia na pinie MISO przy włączonym SPI raczej nie zrobisz.

ad2. Tak jak piszesz. Swego czasu sam natknąłem się na ten problem. Więc teraz najpierw sprawdzam flagę, wpisuję daną do nadajnika i wykonuję od razu inny kod, a wysyłanie jest w tle.

_________________
Build:succeeded or up-to-date, 0 failed, 0 skipped



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2015, o 14:52 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Dzięki za odpowiedź.
Ze względu na buforowanie macam (na razie tylko czytam) USART w trybie master SPI. I tu mam też podobną sytuację. Chciałbym wykorzystać pin XCK i TX do transmisji SPI a RX chciałbym wykorzystać jako np. zatrzask (wyjście) lub pin z przyciskiem (wejście). Czy usart pójdzie na współpracę w takim trybie czy jest z tym problem?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2015, o 15:05 
Offline
Użytkownik

Dołączył(a): 10 sie 2013
Posty: 66
Lokalizacja: Szczecin
Pomógł: 7

Sprawdź jaki jest kierunek pinu RX w rejestrze PORTx_DIR po ustawieniu USARTa w tryb SPI i czy można zmienić ten kierunek.

_________________
Build:succeeded or up-to-date, 0 failed, 0 skipped



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 29 paź 2015, o 16:00 
Offline
Użytkownik

Dołączył(a): 16 maja 2012
Posty: 349
Lokalizacja: Legnica
Zbananowany użytkownik

Pomógł: 23

Na razie jest to podbudowa teoretyczna bo projekt jak na razie jest na etapie upychania elementów w obudowie i projektowania płytki co niebawem pokażę bo też mam kilka pytań. Mam już osadzony moduł eXplore na płytce stykowej więc będę sprawdzał czy poczynione założenia da się zrealizować w praktyce. Dzięki za odzew.

_________________
sig off ;(



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: 5 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO