Serial port problem

15062262 at users.siol.net 15062262 at users.siol.net
Fri Sep 12 18:22:15 CEST 2003


Pozdravljeni.

Prenašam kodo iz Win na Linux in imam naslednji problem. 
Problem je v tem,da metoda read èaka dokler ne dobi podatkov.
Na Win obstaja funkcija SetCommMask(), ki prepreèi, da metoda read èaka
v neskonènost ali obstaja kaj podobnega na Linuxu oz. kako se to doseže.

Hvala, lep pozdrav Goran
Koda:
***************************************************************************=
**************************
BOOL CSerialPort::blWaitCommEventLinux (BYTE btAFlag)
{
    int inRes;
    BYTE btBuf;
    BOOL STOP=FALSE;
    while (STOP==FALSE ) {

        usleep(300);=20

        // after receiving SIGO, wait_flagFrom_ComPort=3DFALSE, input is av=
ailable and can be read
        if ( wait_flagFrom_ComPort==FALSE ) {
            printf("CSerialPort::blWaitCommEventLinux :wait_flagFrom_ComPor=
t=3D=3DFALSE\n");
            inRes =3D read(intDeviceHandle,&btBuf, 1); // TU FUNKCIJA NE VR=
NE
            printf("CSerialPort::blWaitCommEventLinux :wait_flagFrom_ComPor=
t==FALSE za read\n");
            if(inRes==1){
                wait_flagFrom_ComPort=TRUE;
                if( btBuf==btAFlag) {
                    return TRUE;
                }
                STOP=TRUE;
                return FALSE;
            }
        }
    }

    return FALSE;


}

***************************************************************************=
*********************




More information about the lugos-prog mailing list