Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 23/02/2016, à 00:17

strike07

lire port série rs232 en sh

bonjour,
je cherche une technique pour récupérer le contenu écris sur un port série pour le stocker dans une variable, quelque chose qui ressemble à ça:
lire /dev/ttyS0
afficher résultat
l'executer

en sh ça ressemblerais à ça:

Retour=$("read" /dev/ttyS0)
echo "$Retour"
$Retour

et je cherche la commande pour "read", j'ai tout éssayé: cat, screen,...le problème c'est que sa lis le port, tant que l'on ne stope pas le programme.
je sais aussi qu'il y a le bit de stop mais je sais pas l'utiliser...
donc si quelqu'un sais comment faire je suis preneur smile

Hors ligne

#2 Le 23/02/2016, à 18:11

claudius01

Re : lire port série rs232 en sh

Bonjour,

Peut-être que ce fil de discussion t'aidera à avancer: Recuperer un flux d'info sur /dev/ttyUSB1 (dans ton cas c'est effectivement /dev/ttyS0).

Maintenant, au sein d'un unique script, je pense que c'est mission impossible.
Tu verras dans ledit fil qu'il est préconisé d'écrire un programme (post #5 de tiramiseb que je rejoins dans le principe).

NB: Le bit Stop fait partie du protocole UART et tu n'y aura pas accès à ce niveau de programmation.

Hors ligne

#3 Le 23/02/2016, à 19:39

Sciensous

Re : lire port série rs232 en sh

de mémoire un truc comme:
cat /dev/ttyS0
ou
cat < /dev/ttyS0

edit : un lien rapide rs232

Dernière modification par Sciensous (Le 23/02/2016, à 19:40)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#4 Le 24/02/2016, à 10:16

credenhill

Re : lire port série rs232 en sh

hello
mettre un timeout de 3 secs ?

read -t 3 /dev/ttyS0

Hors ligne

#5 Le 24/02/2016, à 14:49

strike07

Re : lire port série rs232 en sh

je pense que l'idée du timeout est plus judicieuse car le problème de cat c'est que sa se bloque sur la lecture(on dis pas au système de s'arrêter), c'est pour ça que je vais tenter le read -t 3

Hors ligne