Kommunikation über Serielle Schnittstelle
Hallo, ich muss für ein Projekt verschiedene Geräte über die serielle Schnittstelle ansteuern. Einige Gerät müssen dabei nur Befehle über die Serielle Schnittstelle erhalten, andere müssen seriell abgefragt und ausgewertet werden. Zur Zeit bin ich noch damit beschäftigt, überhaupt eine serielle Verbindung zu den Geräten herzustellen, bzw. Daten von den Geräten empfangen zu können. Hat vielleicht jemand Erfahrung mit der Initialisierung der seriellen Schnittstelle (insbesondere die Abfrage von Daten, die über die Schnittstelle kommen)? Vielleicht hat jemand ein Gerüst oder den C-Quellcode um dieses Problem in den Griff zu bekommen. Ich bin für jede Hilfe dankbar (Anfänger). Vielleicht habt Ihr ja auch ein paar nützliche Links zum Thema serielle Datenübertragung. Freue mich über jegliche Hilfe Danke Michael Höing.
Hi Michael, wie wäre es denn damit: http://www.fokus.gmd.de/linux/HOWTO/Serial-Programming-HOWTO/ oder sogar auf deutsch: http://www.tu-chemnitz.de/urz/kurse/unterlagen/C/kap3/serial.htm Gruß Sebastian
Michael Höing schrieb:
Hallo,
ich muss für ein Projekt verschiedene Geräte über die serielle Schnittstelle ansteuern. Einige Gerät müssen dabei nur Befehle über die Serielle Schnittstelle erhalten, andere müssen seriell abgefragt und ausgewertet werden. Zur Zeit bin ich noch damit beschäftigt, überhaupt eine serielle Verbindung zu den Geräten herzustellen, bzw. Daten von den Geräten empfangen zu können. Hat vielleicht jemand Erfahrung mit der Initialisierung der seriellen Schnittstelle (insbesondere die Abfrage von Daten, die über die Schnittstelle kommen)? Vielleicht hat jemand ein Gerüst oder den C-Quellcode um dieses Problem in den Griff zu bekommen.
Hallo Michael, die beiden Links zu Serial-Programming-Howtos hats Du ja schon bekommen. Damit bin ich auch zurecht gekommen. Wenn Du exotische Einstellungen der Schnittstelle hast, kommst Du um die manpages zu tcsetattr nicht herum. Probier erst mal mit dem Gerät, dessen Protokoll Dir am einfachsten erscheint. Zum Testen kann man oft auch ein Terminalprogramm verwenden, z.B. minicom. Wenn Du Daten von der Schnittstelle abfragen willst, gibt es grob betrachtet zwei Möglichkeiten: pollen, das heisst relativ schnell nachfragen, ob was angekommen ist select benutzen, das bedeutet dass Dein Programm schläft, bis was ankommt, aber in der 'Schlafenszeit' keine Rechenzeit verbraucht. Wenn Du mehrere Geräte gleichzeitig abfragen willst, kann die die Programmierung einzelner threads sehr helfen. Infos zu threads unter anderem hier (auch gutes C-Tutorial): http://www.cs.cf.ac.uk/Dave/C/node29.html#SECTION002940000000000000000 -- Grüße, Bert
hi michael, hier ein paar links, die auch ich gerade lese um einen schrittmotorcontroller anzusteuern... gruß michael http://sjinn.sourceforge.net/ http://www.stokely.com/unix.serial.port.resources/index.html http://www.easysw.com/~mike/serial/serial.html
participants (4)
-
Bert Blümer
-
M-S-Hoeing@t-online.de
-
Michael Born
-
Sebastian Wolfgarten