programmieren --> serielle Schnittstelle

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Linux_Beginner
Beiträge: 44
Registriert: 24.06.2004 13:52:26

programmieren --> serielle Schnittstelle

Beitrag von Linux_Beginner » 01.02.2006 15:24:07

Wo finde ich im Internet Beispiel-Quellcode für die Programmierung der seriellen Schnittstelle unter Linux. Ich bräuchte einfachen Code für das Senden und Empfangen einzelner Bytes über COM1.
Als Compiler benutze ich natürlich GCC.

Was macht eigentlich der "cat /dev/ttyS0" - Befehl genau?
Empfängt dieser alle eintreffenden Daten an der COM1 - Schnittstelle oder immer nur das erste Byte? Werden die Daten auch irgendwo bis zur ihrer Abholung gepuffert?

Mit dem Aufruf horcht das Programm ja anscheinend die ganze Zeit auf eintreffende Daten. Kann ich es auch dahingehend benutzen, dass es sich nach 4 empfangen Bytes selbstständig beendet???

DANKE erst einmal.

yeti

Beitrag von yeti » 01.02.2006 15:59:01

Schuß ins Blaue:

Code: Alles auswählen

dd if=/dev/ttyS0 bs=1 count=4

Benutzeravatar
eagle
Beiträge: 2282
Registriert: 05.11.2002 11:20:53
Wohnort: Berlin

Beitrag von eagle » 01.02.2006 16:06:17

In diesem Thread [1] findet man einige Links.

eagle

[1] http://www.c-plusplus.de/forum/viewtopi ... 39504.html
"I love deadlines. I love the whooshing sound they make as they fly by." -- Douglas Adams

ToPeG
Beiträge: 437
Registriert: 14.04.2004 00:42:06

Beitrag von ToPeG » 01.02.2006 16:18:05

Alle "ttyS" haben vom Linux aus Empfangs und Sendepuffer. Wenn du mit "cat" darauf zugreifst wird der Puffer vollständig ausgelesen und danach wartet das Programm auf ein "EOF" oder auf weiter Daten. Ein "EOF" meldet, daß alle Daten gelsen wurden und "cat" bendet sich.
Der Vorschlag von yeti ist schon richtig.

Bei "C" dürfte es zwei herangehensweisen geben. Einmal über das "ttyS" einfach über das öffnen wie eine Datei und das andere mal über die Systemfunktionen.
Schau dir dazu mal das an:
http://www.faqs.org/docs/Linux-mini/IO- ... mming.html
Das Beispiel verwendet die Systemfunktionen.
Ein Beispiel für den Zugriff über das Device:
http://www.captain.at/howto-simple-seri ... xample.php

Antworten