Forum: PC-Programmierung C-Programm um USB-Port auszulesen


von Dennis P. (knorkwurst)


Lesenswert?

Hallo Community,
ich möchte mir gerne ein kleines Terminalprogramm schreiben, was die 
Daten anzeigt, die mir ein Mikrocontroller sendet. Ich habe schonmal mit 
Visual Studio ein Programm geschrieben, mit dem ich betimmte 
Berechnungen in einem Fenster dargestellt habe, mit ein paar Buttons für 
verschiedene Funktionen. Mein Problem ist nun aber, dass ich nicht weiß 
wie ich den USB Port auslesen kann, bzw. wie der Code in C zum Port 
auslesen lautet, um diese dann im weiteren Verlauf des Programs weiter 
zu verarbeiten(ich bin noch ein Anfänger im Programmieren).

Der Microntroller sendet mit UART über einen RS232<->USB Converter.
8bit Daten, 1 Stoppbit, asynchron mit einer Baudrate von 57,6k.

Das mein Programm auf dem Controller läuft und Daten gesendet und 
empfangen werden können, weiß ich da ich es schon mit anderen Terminal 
Programmen wie HTerm ausprobiert habe.

Könnt ihr mir helfen oder wisst ihr ob es dafür irgendwo Tutorials gibt?

Gruß Dennis

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Dennis P. schrieb:
> Mein Problem ist nun aber, dass ich nicht weiß
> wie ich den USB Port auslesen kann, bzw. wie der Code in C zum Port
> auslesen lautet

Du willst gar nicht "den USB Port auslesen", sondern Du willst mit einer 
seriellen Schnittstelle kommunizieren.

Daß die in Form eines USB-Seriell-Adapters vorhanden ist, ist für Deinen 
Code völlig irrelevant.

Also musst Du Dich nur an einem der vielen Beispiele für die 
RS232-Programmierung orientieren.

von Dennis H. (c-logic) Benutzerseite


Lesenswert?

Dennis P.

Welches OS ? Windows -> 
http://msdn.microsoft.com/en-us/library/ff802693.aspx

CreateFile
BuildDCB eventuell
ReadFile/WriteFile bei Bedarf im Overlapped-Mode.
CloseHandle

Multithreading-Erfahrung wäre optimal.


Gruß Dennis H.

: Bearbeitet durch User
von Amateur (Gast)


Lesenswert?

Auf Systemebene lässt sich das über den Zugriff auf die dann existente 
serielle Schnittstelle bewerkstelligen.
Mit der USB-Ebene hast Du normalerweise nichts zu tun.

von Dennis P. (knorkwurst)


Lesenswert?

Danke für die schnellen Antworten :)
Ich werd nächste Woche mal der RS232 Programmierung auf den Grund gehen 
und auch das mit der Librarie mal testen.

von Matthias Larisch (Gast)


Lesenswert?

Und vorher überlegst du dir, ob es C sein muss :)

http://pyserial.sourceforge.net/shortintro.html

Ist nur ein Tip, keine Pflicht.

von Dennis P. (knorkwurst)


Lesenswert?

Ja danke, aber C ist das einzige was ich mal gelernt hab :)

von Dennis H. (c-logic) Benutzerseite


Angehängte Dateien:

Lesenswert?

Ein Thread der sich ums Ein- und Auslesen der seriellen Schnittstelle 
kümmert und ein Thread der deine GUI bedient.
Hab mal ein Beispiel angehangen.

Ist ein Thread der seine Infos per Nachrichtenschleife weiterleitet an 
die GUI.

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.