Enkel I/O

Harald Barth haba at kth.se
Sat Aug 6 23:21:02 CEST 2011


Koppla till RS232 RI (Ring Indicator) och med mjukvaran vänta tills
"modemet" ringer. Borde gå såväl som busy wait som genom att på nåt
sätt begära interrupt av serialdrivern. Alla RS232-donglar borde
supporta avläsning av RI pinnen.

Pollning är väl i stil med

static int scanACK(int fd)
{
    int result, arg;
    result = ioctl(fd, TIOCMGET, &arg);
    if (result == -1) {
        syslog_bus(busnumber, DBG_ERROR,
                   "ioctl() failed: %s (errno = %d)\n",
                   strerror(errno), errno);
    }

    if ((result >= 0) && (!(arg & TIOCM_RI)))
        return 1;
    return 0;
}

Harald.


More information about the Stacken mailing list