On Mon, Apr 29, 2002 at 05:20:56PM +0200, Wittig Christoph wrote:
> Hallo,
>
> gibt es eine Anleitung/HowTo/usw., die (moeglichst
> idiotensicher) beschreibt, wie man (in C) unter FreeBSD
> auf die seriellen Schnittstellen zugreift? Im Programmierhandbuch
> hab ich nichts gefunden, was mir weiterhilft.
> Folgendes Problem: An ein Messgeraet soll ueber die
> serielle Schnittstelle ein Befehl gesendet werden, worauf das
> Geraet einen Wert zuruecksendet, der zu empfangen ist. Meine
> jetzige Loesung unter DOS basiert auf der direkten
> Programmierung des Schnittstellenbausteines und einer zyklischen
> Abfrage nach Senden des Befehls (so lange, bis Antwort da oder
> Zeitlimit ueberschritten), was unter einem Multitasking OS
> vermutlich so nicht machbar ist. Ein Hinweis auf ein Programm,
> welches aehnliches tut, waere auch schon hilfreich.
Im wesentlichen:
open(2) - Device öffnen
tcgetattr(3) - Attribute (BPS, Handshake, ...) hohlen
tcsetattr(3) - veränderte Attribute zurückschreiben.
fcntl(2) - Filedescriptor der Serielen auf nonblocking stellen.
write(2) - Befehl schreiben / bei short write Rest nachlegen.
select(2)/poll(2) - auf Ergebniss mit Timeout warten
read(2) - Ergebniss abhohlen / bei short read evtl nochmal warten.
-- B.Walter COSMO-Project http://www.cosmo-project.de ticso(at)cicely.de Usergroup info(at)cosmo-project.de To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Mon 29 Apr 2002 - 17:49:51 CEST