USB als Serielleschnittstelle Programmieren
-
Hallo C Freunde,
ich beschäftige mich seit kurzem mit C.Hintergrund ist, dass ich eine Unternehmen beauftragt hatte für mich eine Sender und Empfängermodul zu bauen, so das man Daten über Serielle-Schnittstelle ab Empfänger schicken kann. Um ein zusätzliche Stromquelle zur vermeiden haben sie USB benutzt (Deren Begründung USB ist auch Serielle Schnittstelle).
Jetzt sitze ich Hier und weiß nicht wie ich unter linux(C) die USB wie Serielle Schnittstelle mouten kann oder USB Port in C Ansprechen kann.
Hoffentlich könnt mir helfen.
und Vielen Dank im Voraus.
p.s.
'Die platine arbeitet mit folgenden Übertragungsparametern:
Die Platine wird im weiteren Verlauf als Terminal betrachtet, und die Gegenstelle der Datenverbindung als PC.
Als fest vorgegebene Parameter werden verwendet:Betriebsystem Suse Linux
8 Datenbits
Keine Parität
1 Stopbits
Übertragungsgeschwindigkeit wird 9600 Baud festgelegt
-
Dieser Thread wurde von Moderator/in Tim aus dem Forum ANSI C in das Forum Linux/Unix verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
hi,
"Serielle Schnittstelle" ist viel. Seriell bedeutet lediglich, dass die Daten (Bits) hintereinander und nicht parallel über die Leitung gehen. Das ist bei der "üblichen" Seriellen Schnittstelle und auch bei USB ( Universal Serial Bus ) so. Sofern du da kein Adapter dazwischen baust wirst du das also ( soweit mir bekannt ) nicht mit den "gewöhnlichen" methoden ansprechen können. Für USB gibts aber glaub auch einige libraries die dir viel von dem Low-Level zeugs abnehmen.
blan
-
Wenn du einen USB-to-Seriell Adapter verwendest, kannst du unter linux in der Regel auf /dev/ttyUSB mit dem Gerät schwätzen. Das funktioniert dann genau wie ein an den "echten" Serial-Port angeschlossenens Gerät (was sich meist unter /dev/tty0 findet).
-
Vielen Dank für eure Hilfe.
z.Z zeigt mir linux unter /dev kein ttyUSB an. Es kann sein, dass ich VMware benutze und USB nicht richtig konfiguriert ist.Vielen Dank.
-
PhilippM schrieb:
Wenn du einen USB-to-Seriell Adapter verwendest, kannst du unter linux in der Regel auf /dev/ttyUSB mit dem Gerät schwätzen. Das funktioniert dann genau wie ein an den "echten" Serial-Port angeschlossenens Gerät (was sich meist unter /dev/tty0 findet).
das stimmt, aber bedenke, dass er bei so einem Adapter USB nicht auf seinem Computer hat sondern auf seinem Bauteil. Sein Bauteil müsst also per USB mit dem Adapter kommunizieren und dazu braucht man ein Treiber und den wird die Platine wohl eher nicht haben.
blan
-
was sagt denn lsusb?
-
abhängig von der hardware die hinter der seriellen schnittstelle benutzt wird, wirst du wohl nicht um ein usb uart device herumkommen (z.b. FT232 und konsorten). usb geräte müssen grundsätzlich einen puffer zur verfügung stellen welcher daten der ein- und ausgabe hält. der ft232 z.b. stellt diesen puffer bereit. wie schon gepostet, stellt dir linux unter /dev/ttyUSB das gerät zur verfügung wenn eben ein solches uart device angeschlossen ist. kommunizieren kannst du allerdings auch via libusb mit der hardware, falls linux das gerät nicht als solches erkennt.