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: