[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Problème de flush sur port série




Bonjour,

J'ai un PB pour communiquer avec un appareil de pesée.


Je doit envoyer une trame de demande de poids et recevoir le résultat en retour.

Si la trame de demande de poids est trop courte, elle n'est pas envoyée (flushée) à l'appareil. Si je rajoute des espaces en fin de trame, elles est envoyée.

Le phénomène est aussi valable entre 2 ttyS* que l'on relie par un cable croisé .

Ai-je manqué quelque chose dans le paramétrage de mon port série.


Le shell qui ne marche pas :

printf "\00101\r\n" > /dev/ttyS1

read a < /dev/ttyS1

echo $a


le shell qui marche :

printf "\00101\r\n                             " > /dev/ttyS1

read a < /dev/ttyS1

echo $a


stty -a < /dev/ttyS1

speed 9600 baud; rows 0; columns 0; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>;
swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V; flush = ^O;
min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr -icrnl -ixon -ixoff -iuclc -ixany
-imaxbel -iutf8
-opost -olcuc -ocrnl -onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig -icanon -iexten -echo -echoe -echok -echonl -noflsh -xcase -tostop -echoprt -echoctl -echoke

uname -a

Linux debian1 2.6.18-4-686 #1 SMP Wed May 9 23:03:12 UTC 2007 i686 GNU/Linux

Cordialement.


Reply to: