[fpc-pascal] Linux serial interface
Martin Schreiber
fpmse at bluewin.ch
Wed Dec 27 09:00:06 CET 2006
On Tuesday 26 December 2006 21.53, Rainer Stratmann wrote:
>
> How to do that?
> The code for initialisation of the serial interface:
>
> const
> iflagoff = BRKINT or INPCK or ISTRIP or IGNCR or INLCR or ICRNL or IUCLC
> or IXON or IXANY or IXOFF or IMAXBEL;
> iflagon = IGNBRK or IGNPAR;
> oflagoff = OPOST or OLCUC or ONLCR or OCRNL or ONOCR or ONLRET or OFILL or
> OFDEL or NLDLY or TABDLY or BSDLY or VTDLY or FFDLY;
> oflagon = 0;
> cflagoff = CBAUD or CSIZE or CSTOPB or PARENB or PARODD or HUPCL or
> CBAUDEX or
> CIBAUD or CRTSCTS ;
> cflagon = CREAD or CLOCAL;
> lflagoff = ISIG or ICANON or XCASE or ECHO or ECHOE or ECHOK or ECHONL or
> NOFLSH or TOSTOP or ECHOCTL or ECHOPRT or ECHOKE or IEXTEN;
> lflagon = 0;
>
> linuxfile:array[serportmin..serportmax] of string =
> ('ttyS0','ttyS1','ttyUSB0','ttyUSB1','ttyUSB2');
> begin
>
> s:='/dev/'+linuxfile[ger_port];
>
> ger_fd:=fdOpen(s,Open_RdWr or Open_NonBlock);
>
> tcgetattr(ger_fd,newtio_ger);
>
> memclr(@newtio_ger,sizeof(newtio_ger));
<<<<<----- now you have lost all values from tcgetattr.
Martin
More information about the fpc-pascal
mailing list