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



Teraz jest 30 mar 2026, o 05:10


Strefa czasowa: UTC + 1





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

Dołączył(a): 03 lis 2012
Posty: 43
Pomógł: 1

Witam, mam problem z modułami nRF. Oto mój kod:
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

Wiem, że te funkcje "SETBIT" itp mogą razić, ale robię wszystko zgodnie z tą stroną:
http://gizmosnack.blogspot.com/2013/04/ ... d-avr.html
Oczywiście dopisałem te funkcje do biblioteki nRF24L01.h, ale mimo to pin PD2 nie chce być w stanie wysokim, czyli to wina albo modułu (ale testowałem z innymi - ciągle to samo), albo złej inicjacji modułu (bo wpisanie w pętli głównej samego SETBIT(PORTD, 2); działa poprawnie i pin PD2 jest w stanie wysokim. Jakieś pomysły co jest źle? Czyszczenie i kompilowania projektu na nowo nie pomogło.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 16 lut 2015, o 17:40 
Offline
Nowy
Avatar użytkownika

Dołączył(a): 10 maja 2014
Posty: 10
Pomógł: 3

Nie masz inicjalizacji modułu nrf24L01_init() w funkcji main więc nie zwróci Ci poprawnego statusu jaki zakładasz w warunku w pętli głównej



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
PostNapisane: 1 mar 2015, o 23:45 
Offline
Użytkownik

Dołączył(a): 03 lis 2012
Posty: 43
Pomógł: 1

Akurat to był tylko test SPI - miałem źle przylutowany moduł, dlatego komunikacja nie działała. Po przelutowaniu wszystko gra, tzn komunikacja między Atmegą a modułem nRF po SPI (tego jestem pewny - sprawdzałem analizatorem stanów, funkcja inicjująca jest wysyłana jak należy). Niestety mam problem z komunikacją miedzy dwoma modułami. Oto kod:
main.c
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


Niestety przerwanie nie jest wyzwalane, czyli moduł RX nic nie odbiera. Ogólnie przerwanie działa (kiedy wyzwalam je np przełącznikiem). Moduły są w odległości metra, w nadajniku i odbiorniku kod jest ten sam (za wyjątkiem fragmentu w funkcji inicjującej moduł).



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ł: Baidu [Spider], Google [Bot] i 3 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:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO