Forum: Mikrocontroller und Digitale Elektronik XMega USART Protokoll


von Anja (Gast)


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.

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Was hast Du denn bisher?

von Anja (Gast)


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);
  }
}

von Anja (Gast)


Lesenswert?

Hat niemand eine Idee?

von Nektu (Gast)


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.

von niemand (Gast)


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?

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.