Bonjour à tous,
je cherche le moyen de savoir quand un évènement est levé suite au passage d'un courant sur la broche Ring Indicator d'un port série.
Je suis sous Linux et en fait j'ai un device USB vu par l'OS comme une liaison série. Cet équipement a un bouton, qui est reporté sur le RI de la liaison série. Comment je fais en C pour savoir quand on appuie sur le bouton de l'équipement ? J'ai trouvé des exemples pour lire tout ce qui passe sur le port série (en mode caractères) mais pas comment avoir la valeur d'une broche particulière.
J'ai bien pensé à ça :
int fd, status, RI;
ioctl(fd, TIOCMGET, &status);
RI = status & TIOCM_RNG;
ou bien :
ioctl(fd, TIOCMIWAIT, TIOCM_RNG);
pour savoir si la broche a changé de statut mais je ne vois pas comment l'utiliser ensuite.
En fait mon problème maintenant c'est comment faire pour qu'à tout moment dans mon code si la borne RI passe à 1 un certain code se déclenche. vous feriez ça comment ? Si quelqu'un avait un lien vers un tuto sur la prog évènementielle en C ça m'aiderait.
Merci.