mikrocontroller.net

Forum: PC-Programmierung Datenaustausch: AVR (C) <--> PC (Java) ?Protokoll?


Autor: Vincent I. (vci)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich schreibe gerade an einer kleinen Anwendung die auf dem uC laeuft. 
Die Steuerung (GUI) und Teile der Berechnungen (da zu komplex fuer den 
uC) wollte ich auf einen PC auslagern.

Auf dem uC programmiere ich in C.
Auf dem PC wollte ich Java verwenden mit der rxtx library.

Meine Frage ist nun, wie ich am geschicktesten den Datenaustausch 
zwischen den beiden hinbekomme. Ich habe da leider gar keine Erfahrung 
:-)

Gibt es da vorgefertigte Protokolle?
Das hier habe ich hier im Forum in einem alten thread gefunden:
http://www.ibrtses.com/embedded/shortmsgprotocol.html

Geeignet? Alternativvorschlaege?
Gibt es dazu evtl. ein gutes Tutorial?

Autor: Läubi .. (laeubi) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Am einfachste ist es wenn du einfach dein eigenes Protokoll definierst. 
Diese hängt natürlich davon ab WAS du genau mit dem uC absprechen 
willst. Im Einfachsten Fall sendest du einfach ASCII Kommandos hin und 
her, der Zeilenumbruch ist dann das Begrenzerzeichen. so kannst du das 
ganze auch mal ohne "dein" Programm mit einem simplen Terminal testen.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vincent I. schrieb:
> Gibt es da vorgefertigte Protokolle?

Natürlich gibt es die, die Frage ist halt wie kompliziert oder wie 
einfach Du es brauchst. XCP zum Beispiel wird im Automobilbereich 
eingesetzt:

http://www.asam.net/index.php?option=com_content&t...

Allerdings bräuchte man dann einen zumindest teilweise implementierten 
Protokollstack auf beiden Seiten, ich denke mal das wird für Deine 
Anwendung eher Overkill sein. Wenn Du uns verraten würdest, welche 
Datenmenge pro Zeit und was für Datentypen Du so benötigst, könnte man 
Dir eher weiterhelfen...

Autor: Vincent I. (vci)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also die Anwendung ist eher klein:

Es sollen RFID-Tags ausgelesen werden. Die ausgelesene ID an den PC 
uebermittelt werden. Umgekehrt sollen daten (bis zu 256 Bytes) an den uC 
uebertragen werden koennen, der diese dann auf ein Tag schreibt.

Das war es auch schon :-)

Ich hatte eben gehofft, dass es da von beiden Seiten aus evtl. ein 
Minimal-Protokoll-Stack gibt, den man ganz einfach nutzen kann.

Ansonsten muss ich da wohl selber dran :-)

Autor: Zwölf Mal Acht (hacky)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Anforderungen, Punkt-zu-punkt, sichere Verbindung, variable 
Blockgroesse, bedeutet eine Meldungsstruktur wie :

Startbyte (1 oder mehr byte)
Datengroesse (2 byte)
Command (Lesen oder Schreiben = 1 byte)
Daten [] ( >=256 byte )
CRC (2 byte)

Sowas kann man in einer Zustandsmaschine beim Empfangen abspulen.

Autor: PI314 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde jedenfalls ein Blick auf LLRP http://www.llrp.org werfen 
(selbst wenn es für deine Applikation überdimensioniert sein mag).

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.