Re: dtr ist nicht gesetzt


Subject: Re: dtr ist nicht gesetzt
From: Florian Zumbiehl (florz@gmx.de)
Date: Thu Nov 02 2000 - 18:08:55 CET


Hallo Sandra!

> Ich möchte gerne eine Funktion schreiben, die die serielle Schnittstelle
> öffnet. Soweit auch kein Problem, jedoch möchte ich dabei auch DTR setzen.
> Weiß jemand, wie ich das hinkriege???

Die ganzen Leitungen lassen sich ueber ioctl-Aufrufe schalten, DTR z.B.
folgendermassen (port ist das Filehandle der seriellen Schnittstelle,
siehe auch man ioctl, state gibt an, ob ein- oder ausgeschaltet werden soll):

------------------------------

void setdtr(int state){
        int cmd;

        cmd=TIOCM_DTR;
        ioctl(port,state?TIOCMBIS:TIOCMBIC,&cmd);
}

------------------------------

Welche ioctls es sonst noch so gibt, kann man recht gut in den Kernel-Quellen
nachgucken (einfach mal nach ioctl mit -i durch die Dateien des seriellen
Treibers greppen) - dann sieht man auch gleich recht gut, wie sie funktionieren.

Gruss, Florian



This archive was generated by hypermail 2b25 : Thu Nov 02 2000 - 18:19:55 CET