bonjour.
je sui sous linux (ubuntu) avec qt desegner
j'ai besoin d'utilisé le port serie en entrées sortie j'utilise termios.h
je n'arrive pas a changer éta de RTS ET DRT j'arrive bien a envoyer des caractaire sur tx et quand je me conecte sur le port RTS et DRT pase a 1 mé je narive pas a changer leur etas.
ideale serai 6 fonction du stile
rtson(); //passe la sortie rts a 1
drton();
txdon();
rtsoff(); //passe la sortie rts a 0
drtoff();
txdoff();
j'ai trouvé sa pour acédé directement au registre je supose mé sa me semble beaucou plus contrégniant
http://www.traduc.org/docs/HOWTO/lecture/IO-Port-Programming.html
concrétement j'ai besoin utilisé 2 sortie que je peux changer etas pour envoyer sa a un 4094 registre a décalage 8 bit
si entré data et a 1 et clok change etas la premier sortie pase a 1 et écale toute les autre
si entré data et a 0 et clok change etas la premier sortie pase a 0 et la 2 eme a 1 etc...
je sai que c'est posible sur windows en delphi je l'ais deja fait et sa marchait trés bien pas windows le 4094 et le port serie

merci de votre aide.
voici la partie com de mon code:
j'ai ésailé de changer
.c_iflag
.c_oflag
.c_cflag
.c_lflag
mais sans suxé
void ap001Widget::button2_clicked()
{
if (not portouver or (lc==-1))
{
fd = open(nomport,O_RDWR|O_NOCTTY);
tcgetattr(fd, &tio) ;
cfmakeraw(&tio) ;
cfsetspeed(&tio, B9600) ;
tio.c_iflag=0;
tio.c_oflag=4;
tio.c_cflag=3261;
tio.c_lflag=2608;
tcsetattr(fd, TCSAFLUSH, &tio);
portouver=true;
}
emite[0]=0Xff;
emite[1]=0X00;
rc=write(fd,emite,1);//envoie emite sur txd
//afichage---------------------------------------------------------------------------------------
sprintf(text,"iflag %d oflag %d cflag %d lflag %d",tio.c_iflag,tio.c_oflag,tio.c_cflag,tio.c_lflag);
label2->setText(text);
sprintf(text,"open %d send %d",fd,rc);
label1->setText(text);
}