Próbuję skomunikować ze sobą 2 płytki NUCLEO.
Odbiornik:
STM32L053R8
main.c:
Nadajnik
STM32F411RE
main.c
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.
[NRF24L01+] Problem z komunikacją
- inż.wielki
- User
- Posty: 307
- Rejestracja: niedziela 20 gru 2015, 23:11
Re: [NRF24L01+] Problem z komunikacją
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)?
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)?
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC
BOB TAYLOR, PARC
- inż.wielki
- User
- Posty: 307
- Rejestracja: niedziela 20 gru 2015, 23:11
Re: [NRF24L01+] Problem z komunikacją
Transmisja jest od nadajnika do odbiornika, tam po sprawdzeniu poprawności danych jest wysylane ACK do nadajnika
Re: [NRF24L01+] Problem z komunikacją
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?)...
Internet łączy ludzi, którzy dzielą się swoimi zainteresowaniami, pomysłami i potrzebami, bez względu na geograficzne (przeciwności).
BOB TAYLOR, PARC
BOB TAYLOR, PARC
- inż.wielki
- User
- Posty: 307
- Rejestracja: niedziela 20 gru 2015, 23:11
Re: [NRF24L01+] Problem z komunikacją
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
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ść