Skocz do zawartości

jak przesłac tablice przez rf24L01


Pomocna odpowiedź

Napisano (edytowany)

Dzien Dobry mam troche naiwne pytanie  jak przesłac tablice danych znaczy cyfr  modułem rf24l01 ??? 
Chciałem zrobić sterownie RC na trzy serwa  ,  ze strony  https://howtomechatronics.com/tutorials/arduino/arduino-wireless-communication-nrf24l01-tutorial/
Ogólnie na tej stronie dalej tam  jest nadajnik i odbiornik  RC ale mi tonie działa.Wiec z pierwszego przykładu chciałem zrobic ogólnie  mam tak ze dwa moduły rf24l01 podpiete do dwoch arduino nano i działa odbieram hello word na porcie szeregowym 
ale czym się różni string  od tablicy  danych ? bo string mi przesyła a jak probuje najprostrzą trzyelementową tablice danych z  wartościmi 0-180 czyli wychyleniem serwa to nie wiem jak to zrobić nie wysyła albo wysyła bzdury prosze o pomoc.
W tym fragmencie kodu 

  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));     //radio write odpowiada za  wysłanie stringa  

//ale przeciez tablica danych nie moze byc const czyli stała bo ja tam bede w tej tablicy zmieniał wartosci 
cały kod 

/////////////////////////////////////
#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>

RF24 radio(7, 8); // CE, CSN

const byte address[6] = "00001";

void setup() {
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_MIN);
  radio.stopListening();
}

void loop() {
  const char text[] = "Hello World";
  radio.write(&text, sizeof(text));
  delay(1000);
}


/////////////////////////// 
jak to zrobić prosze o pomoc 

Edytowano przez domel1
(edytowany)

Poczytaj o operacjach bitowych, strukturach i polach bitowych struktur. W radio.write() wysyłasz np. strukturę: 2 bajty nagłówka + 1 bajt sumy (np. crc8) + 3 bajty pozycji (0-255; u ciebie 0-180), co daje 6-bajtową strukturę (ramkę) danych. Po stronie odbiornika rzutujesz otrzymane dane pakietu na tą strukturę, w łatwy sposób "wyłuskujesz" poszczególne zmienne za pomocą pól bitowych struktury, sprawdzasz nagłówek i sumę, na tej postawie akceptujesz lub odrzucasz wartości. Max rozmiar danych pojedynczego pakietu dla nrf24l01 to bodaj 32 bajty, więc masz jeszcze spory zapas na dodatkowe wartości, stan przycisków, itp.

Edytowano przez orb777

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...