Bon, il y a vraiment des subtilités avec ces histoires de CR et LF
En fait la doc du fabriquant indique bien : "Each command must end with CR LF characters"
Sauf que : pour que ma balance comprenne mes commandes, je dois lui envoyer :
printf "%s\n" "S" > /dev/ttyUSB0
Comme vous le voyez, je dois supprimer le \r ou CR, sinon la balance me répond avec un ES qui veut dire qu'elle n'a pas compris la commande
En clair, la commande printf "%s\r\n" "SI" > /dev/ttyUSB0 sensée être correctement mise en forme ne semble pas l'être ! Il y a semble t-il un caractère fantôme supplémentaire envoyé !
Un soucis supplémentaire est que selon ce que j'utilise pour communiquer sur /dev/ttyUSB0, entre terminal, IDE Arduino ou mon code Python, je n'ai jamais les mêmes comportements !
Avec Arduino par exemple, je fais fonctionner la balance et mon microcontrôleur avec le même paramétrage.
Depuis le terminal, j'ai réussi à faire fonctionner la balance mais pas le micro, même en tripatouillant les paramètres !
Partager