Kommunikation zwischen µC und Mess-IC - wie macht mans richtig?

Gast #6511726
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
Gast #6511743
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;

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren