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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.