C# komunikacja z arduino

C# komunikacja z arduino
0

Witam
Piszę program do wymiany danych z arduino i mam problem jak pobrać i podzielić dane z buforu.
Zrobiłem ramkę danych :

Kopiuj
public struct ramka
{
    public char tust;
    public float Twe;
    public float Twy;
    public float Wil;
}
 

Połączenie z arduino działa poprawnie, utworzyłem obiekt DataReceived i nie wiem jak za pomocą niego pobrać dane i rozdzielić do struktury. Wykonałem według tutoriala c++ i działało mi porawnie tam wyglądało to tak

Kopiuj
 
 Arduino.Read(Buffer,sizeof(rozkaz),2000);
        memcpy(&rozkaz,Buffer,sizeof(rozkaz));

Proszę o podpowiedz jak to wykonać c#

BP
  • Rejestracja:około 10 lat
  • Ostatnio:5 miesięcy
  • Postów:53
0

Kod z c++ jest nie zrozumiały, wstaw cały a nie fragment

fasadin
dla mnie jest jasny co robi, tylko nie wiem czemu
I2
  • Rejestracja:ponad 11 lat
  • Ostatnio:ponad 7 lat
  • Postów:25
0

Z tego co napisałeś wynika że wczytujesz sobie to co ci przychodzi do zmiennej Buffer(domyślam się że jest to tablica bajtów). Pojawia się więc pytanie w jaki sposób dane w buforze są one poukładane i pogrupowane. Zobacz jak zdefiniowany w kodzie c++ jest rozkaz(do które w drugiej linijce kopiujesz dane z bufora).

gg
  • Rejestracja:około 9 lat
  • Ostatnio:około rok
  • Lokalizacja:Kraków
  • Postów:574
0

No a ja z trochę inne j strony podejdę do tematu. Potrzebujesz swój własny protokół wymiany danych czy mógłbyś użyć dostępnego? Jeśli to drugie to może zainteresujesz się protokołem MODBUS?

W2
  • Rejestracja:ponad 19 lat
  • Ostatnio:19 dni
0

Dobrą alternatywą jest Protocol Buffer Googla (dla arduino powinna bardzo lekka implementacja - nanopb). Storzony do takiej cross platfromowej komunikacji.

edytowany 1x, ostatnio: W2K

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.