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



Teraz jest 2 kwi 2026, o 09:19


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 18 sty 2016, o 04:36 
Offline
Nowy

Dołączył(a): 18 sty 2016
Posty: 8
Pomógł: 0

Czy mógłby mi ktoś pomóc w uruchomieniu SPI na XMedze32E5 ?
Próbuję odczytać dane kalibracyjne z czujnika ciśnienia MS5611. Na Xmedze128A3U poniższy kod działa, widać to na obrazku...
Obrazek
Podłączenia do E5 zostawiam na tych samych portach i pinach.
Częstotliwość zegara też taka sama - 2MHz.
Na E5 próbowałem ustawiać większe dzielniki prędkości transmisji ale nic to nie daje.
W wyniku na terminalu dostaję dane kalibracujne:
65536
65536
65536
65536
65536
65536
65536
65536
Czy procki Xmegi z serii E5 mają jaką inną, nietypową konfigurację SPI o której trzeba wiedzieć ? Coś w stylu tajmerów - na E5 są dodatkowe - T4/T5.


Poniżej zamieszczam wydzielony z głównego programu kawałek kodu odpowiedzialny za odczyt danych przez SPI.(sprawdzony, działa)


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: 18 sty 2016, o 18:33 
Offline
Użytkownik

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

Po odebranym bajcie z SPI musisz wyzerować flage IF z SPIC.STATUS. Aby to zrobić musisz odczytać rejestr SPIC.STATUS, a następnie SPIC.DATA - ten mechanizm zeruje IF. Natomniast w Twoim kodzie:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

A pozostawiony IF=1 znaczy tyle, że kolejne wywołanie funkcji spi_send(char cmd) pominie pętlę while w pierwszym obiegu i nawet nie zaczeka na odbiór bajtu z SPI.

Uwaga nr2.
Złym nawykiem jest załączanie pinu SS w inicjalizacji portu (PIN4 = 0)
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Czy MODE musi byc w trybie 3? Jeśli nie to zaczynaj od trybu 0.
Jeśli to nic nie da sprawdź fizyczne połączenia SPI. Przetestuj czy w ogóle SPI coś nadaje.


Autor postu otrzymał pochwałę

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



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 19 sty 2016, o 00:47 
Offline
Nowy

Dołączył(a): 18 sty 2016
Posty: 8
Pomógł: 0

Zamówiłem analizator stanów logicznych bo ni cholery nie wyjdę z tego gdzie jest problem.



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ł: Brak zidentyfikowanych użytkowników i 30 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