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



Teraz jest 24 lis 2024, o 17:41


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
Autor Wiadomość
PostNapisane: 26 lut 2015, o 22:02 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Cześć

Czy dobrze kumam tą funkcje z zielonej książki mirka.

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


1.Przy wywoływaniu funkcji podajemy komendę.
2.W pętli sprawdzamy najstarszy bit i w zależności od niego ustawiamy stan wysoki lub niski na lini SDI.
3.Powołujemy sobie jeszcze zmienną ret_val i sprawdzamy czy odczytana wartość z PORTB na pinie SDO jest rówana 1.
4.Cyklicznie przesuwamy obie zmienne.
5.Taktujemy nasz RFM12 dzięki 2 nopom.
6.Zwracamy ret_val

Mam takie pytanie po co kombinacje z tą zmienną ret_val.
Rozumiem że sprawdzamy czy moduł coś nadal transmituję.
Jeśli na pinie SDO będzie panował stan niski to wtedy oznacza to że nie można transmitować i odbierać.
Stan wysoki oznacza że możemy transmitować i odbierać.

Ale po co mam to sprawdzać,co mi to da że moduł wtedy coś transmitował a wtedy nie???????????????????????????????????????
O co chodzi z tą ret_val.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2015, o 22:11 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27310
Lokalizacja: Szczecin
Pomógł: 1041

Kolega musi może najpierw się zapoznać z magistralą SPI, to komunikacja dwustronna w jednym czasie, więc retval to dane które możemy odebrać za pomocą tej funkcji. Jeśli nie są potrzebne w jakiejś tam sytuacji to je ignorujemy i tyle a czasem wysyłając coś otrzymujemy odpowiedzi za jednym zamachem ... jeszcze raz mówię - poczyta kolega podstawy o tym jak działa SPI

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 26 lut 2015, o 22:21 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Wiem jak działa spi.
Możemy w jednym czasie transmitować i odbierać dane w swojej książce napisałes że stan lini sdo określa kiedy możemy transmitować lub odbierać.Do tego dochodzi jeszcze taktowanie za pomocą 2 taktów zegara.

------------------------ [ Dodano po: 7 minutach ]

Więc mówisz tak ,,Więc ret_val to dane które możemy odebrać za pomocą tej funkcji. Jeśli nie są potrzebne w jakiejś tam sytuacji to je ignorujemy i tyle a czasem wysyłając coś otrzymujemy odpowiedzi za jednym zamachem"

Czyli jak chcę coś odebrać co to wtedy sprawdzam czy można było wtedy coś transmitować lub odbierać.Ale jak jak to działa

------------------------ [ Dodano po: 17 minutach ]

Dobra więc załóżmy taki przykład
ret_val=0b1111111111111100

Oznacza to że moduł szybko uporał się z wysłaniem tego co chcieliśmy i teraz ponownie możemy wysyłać.
Jednak w 2 przypadkach modół sobie jeszcze nie poradził z transmisją tego co ostatnio chciałem.
No ale jak co to mi pomoże przy odbiorze danych że wtedy można było transmitować a wtedy nie???



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 0 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