[NRF24L01+] Problem z komunikacją

Wszystko o co chcesz zapytać na temat mikrokontrolerów ARM firmy STMicroelectronics: problemy z pisaniem programu, problemy sprzętowe, niejasności w DS czy AN itp.
Awatar użytkownika
inż.wielki
User
User
Posty: 250
Rejestracja: niedziela 20 gru 2015, 23:11

[NRF24L01+] Problem z komunikacją

Postautor: inż.wielki » niedziela 09 wrz 2018, 16:13

Próbuję skomunikować ze sobą 2 płytki NUCLEO.

Odbiornik:
STM32L053R8
main.c:
Ukryta zawartość
To forum wymaga zarejestrowania i zalogowania się, aby zobaczyć ukrytą zawartość.



Nadajnik
STM32F411RE
main.c
Ukryta zawartość
To forum wymaga zarejestrowania i zalogowania się, aby zobaczyć ukrytą zawartość.



Korzystam z tej biblioteki https://github.com/LonelyWolf/stm32/tre ... r/nrf24l01
Udało mi się zestawić połączenie pomiędzy nimi w momencie kiedy ustawiłem długoś payload'u na 5bajtów. Ale nawet w tym wypadku ostatni bajt jest taki sam jak bajt nr4. Po zmianie długości pakietu na 10bajtów komunikacja umiera...

Próbowałem trybu z ShockBurst jak i bez niego. W obu przypadkach zachowanie jest dokładnie takie samo jak zostało opisane wyżej. Może ktoś ze świeżym oczkiem znajdzie jakiś błąd.

Awatar użytkownika
j23
User
User
Posty: 369
Rejestracja: czwartek 08 paź 2015, 18:40

Re: [NRF24L01+] Problem z komunikacją

Postautor: j23 » niedziela 09 wrz 2018, 17:46

Nie mogę tego parametru znaleźć w Twoim kodzie, ale to jest komunikacja typu full duplex (obie strony) czy half duplex (obie strony)?
Prędkości transmisji wydają się być takie same, więc coś musi być dalej, chyba że... to błąd fizyczny (zwarcie, przerwa w obwodzie)?

Awatar użytkownika
inż.wielki
User
User
Posty: 250
Rejestracja: niedziela 20 gru 2015, 23:11

Re: [NRF24L01+] Problem z komunikacją

Postautor: inż.wielki » niedziela 09 wrz 2018, 18:19

Transmisja jest od nadajnika do odbiornika, tam po sprawdzeniu poprawności danych jest wysylane ACK do nadajnika

Awatar użytkownika
j23
User
User
Posty: 369
Rejestracja: czwartek 08 paź 2015, 18:40

Re: [NRF24L01+] Problem z komunikacją

Postautor: j23 » niedziela 09 wrz 2018, 20:39

inż.wielki pisze:Transmisja jest od nadajnika do odbiornika, tam po sprawdzeniu poprawności danych jest wysylane ACK do nadajnika

Tzn. że jest taki uproszczony half duplex. Tylko, że jak ja patrzałem do tego kodu to przy całym tym protokole transmisji jest trochę namieszane, tzn.żeby transmisja była efektywna powinny być stosowane jakieś mechanizmy semaforów (flag kontroli transmisji), żeby było wiadome, czy np.pasmo transmisji jest wolne, czy ktoś nadaje (czasy minimalne i maksymalne nadawania/odbioru) - to na każdym etapie transmisji, a nie że sru, lecą dane i odbierze to ok (wysyła ACK), a jak jakaś kolizja (jednoczesne nadawanie dwóch urządzeń) to nie wiem jaki jest przewidziany mechanizm kontroli transmisji czy obsługi błędów (jakaś maksymalna ilość prób wysłania danych, komunikat o błędzie w nadawaniu?)...

Awatar użytkownika
inż.wielki
User
User
Posty: 250
Rejestracja: niedziela 20 gru 2015, 23:11

Re: [NRF24L01+] Problem z komunikacją

Postautor: inż.wielki » niedziela 09 wrz 2018, 21:01

Szczerze powiedziawszy liczyłem że to będzie plug&play i po prostu zaciągnąłem liba, przeportowałem i odpaliłem. Komunikacja jest jaka jest. Własnie w tym jest problem. Teraz chyba zabiorę się za napisanie liba.

Ale dzięki za punkt do zaczepienia

Edit: Problem rozwiązany, chodziło o komunikację SPI. Na programowym SPI wszystko działa jak złoto, po przestawieniu prędkościu pinów na medium również. Prawdopodobnie chodziło o efekt "dzwonienia" pinów przy zbyt szybkim ustalaniu stanu na pinie


Wróć do „ARM STMicroelectronics”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 1 gość