Forum: Mikrocontroller und Digitale Elektronik Kommunikation zwischen µC und Mess-IC - wie macht mans richtig?


von Herbert (Gast)


Lesenswert?

Hallo zusammen,

ich baue gerade ein kleine Messschaltung für Li-Zellen.
Dazu habe ich einen µC + einen Mess-IC. Die beiden reden per UART 
miteinander.

Jetzt muss ich zur Konfiguration mehrere Botschaften im HEX Format zum 
IC senden. Jede Botschaft ist zwischen 4 und 8 Bytes lang.

Bsp: 44 04 02 02 AC BC

44 = Header

04 = Adresse (Chips können kaskadiert werden)
02 = Register was mach schreiben/lesen möchte
02 = Nutzdaten

AC BC = Checksumme

Aktuell sende ich das ganze so:
1
uint8_t TxData[12]
2
3
TxData[0] = 44; TxData[1] = 04; TxData[2] = 02; TxData[3] = 02; TxData[4] = AC; TxData[5] = BC; 
4
Sende 6 Bytes TxData 
5
6
//nächstes Botschaft 
7
8
TxData[0] = 91; TxData[1] = 02; TxData[2] = 03; TxData[3] = 06; TxData[4] = DD; TxData[5] = D6;  TxData[6] = E5;
9
Sende 7 Bytes TxData
usw.

Jetzt meine Frage: Wie machen das die Profis? Ich finde das System etwas 
umständlich, gibt es da einen besseren Weg?

VG

von A. S. (Gast)


Lesenswert?

Wenn du ein Telegramm als Byte Strom eingeben willst, dann
uint8_t TxData[]={44, ...}

Wenn du Struktur willst dann Sendefunktion mit Header, datenptr und 
Länge als Parameter und Checksumme wird in der Funktion berechnet.

Wenn Du TxData weiter füttern willst, dann
1
uint8_t *p=TxData;
2
3
   *p++=44;
4
   *p++=...;
5
   ...
6
   len=p-TxData;

von Stefan F. (Gast)


Lesenswert?

Ich würde auf jeden Fall eine Längenangabe hinzufügen

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.