XMega USART Protokoll

Gast #2137070
Lesenswert?

Hallo µC-Gemeinde,

ich habe eine kurze^^ Frage an euch Profis! Ich möchte mit Hilfe eines 
Xmegas (128A1) eine bestehende USART-Kommunikation zwischen PC und µC 
erweitern. Ich möchte dabei eine Paramterliste (Name, Wert, ...) 
übertragen, welche ich gegebenenfalls auch verändern kann. Das heißt ich 
möchte den Wert der Variablen via PC verändern können.

Ich stehe zur Zeit voll auf dem Schlauch und hätte gern ein paar 
Anregungen von euch, wie so ein Protokoll aussehen könnte.

Danke.
Gast #2137083
Lesenswert?

Bisher habe ich eine Matrix (Parameter[Zeilen][Spalten]), welche ich 
aller x µsec schicke.

void USART_Para(void)
{
  USART_Transmit(uc_Parameter[uc_Tx_ZCounter][uc_Tx_SpCounter]);
  uc_Tx_SpCounter++;
  if(uc_Tx_SpCounter  >= Spalten)
  {
    uc_Tx_ZCounter++;
    if(uc_Tx_ZCounter >= Zeilen) {uc_Tx_ZCounter=0;}
    uc_Tx_SpCounter=0;
    USART_Transmit(0x0D);
  }
}
Gast #2141614
Lesenswert?

>Ich stehe zur Zeit voll auf dem Schlauch

Ich möchte Dir höflich empfehlen erstmal ein wenig mit dem Stichwort 
"Protokoll" bzw. "Kommunikationsprotokoll" zu googeln und vor allem 
allgemeine Texte darüber zu lesen.

Stelle Dir dabei folgende Fragen:
1. Was ist und soll ein Kommunikationsprotokoll?
2. Was sind seine Eigenschaften und wie werden sie ausgedrückt?
3. Was sind die programmatische Mechanismen um es zu implementieren?
4. Wie wird ein Protokoll spezifiziert abgesehen von Punkt 3? 
(Stichwort: Syntax).

Dann formuliere Deine Frage bitte neu und zwar spezifisch.

Wenn Du einfach nur gar keine Ahnung von dem Thema hast, müsste ich 
hier nämlich die Romane wiederholen, die sowieso schon zu Dutzenden im 
Internet, in Vorlesungsscripts und Büchern stehen.
Gast #2141640
Lesenswert?

Das was du hast funktioniert schon gut?
Damit erreichst du das ja schon, allerdings etwas ineffizient da du 
immer alle Parameter überträgst.
Worum geht es dir genau? Das ganze effizienter zu machen oder sicherer? 
Also hast du Störungen auf der Übertragung?

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