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 :

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

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

Proszę o podpowiedz jak to wykonać c#

0

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

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).

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?

0

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

1 użytkowników online, w tym zalogowanych: 0, gości: 1