[LUGOS] DTR signal status

Babarovic Ivica ivica at asist-traffic.com
Tue Mar 7 16:17:12 CET 2006


Ivan Zilic wrote:

>Hoj !
>
>  
>
>>Zanima me kako bi lahko spremljal status DTR signala
>>in ob spremembi le tega reagiral. Vem eden od nacinov
>>je ioctl(). Problem je v tem ker je potrebno ves cas
>>preverjati status ki ga ioctl() vrne. To pa pomeni
>>resitev z sleep()-om v zanki. Ta resitev mi ne disi prevec.
>>Mogoce kdo pozna kaksno drugo bolj elegantno resitev?
>>    
>>
>
>En preblisk:
>ce imas RX pin nezaseden (pa ceprav na sosednjem COM portu), lahko DTR 
>vezes nanj... dobival bos neke garbage znake, a to ni pomembno - s 
>pojavitvijo znaka izves, da DTR miga. Potem lahko pogledas, kaksno je 
>njegovo stanje.
>
>  
>
Ne verjamem da bi karkoli dobival na drugo stran. Ce se ne motim
ima serijski protokol start bit, podatke, ... Ce postavis samo en bitek
zadeva enostavno ne stece.

Mislim, da bom ostal pri ioctl() call-u. Zadevo bom resil nekako takole:
  
     while (1) {
                if ((ioctl(fd, TIOCMIWAIT, TIOCM_DSR)) != 0) {
                        perror("ioctl");
                        return -1;
                }
                else
                        printf("TIOCM_DSR is set\n");
        }

LP,
I.




More information about the lugos-list mailing list