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 26/03/2019, à 20:23

spectre128

[Résolu] lecture d'un caractere Hexa par le port serie

bonsoir,

je cherche à lire un caractere hexa sur le port serie et à l'afficher en hexadecimal.

Cat fonctionne (affichage ecran donc ascii) parfaitement a chaque fois que j'envoie un caractere Ascii.

send -en "\x41" > /dev/ttyUSBO   ps: pour mon test, j'ai 2 terminal avec le RX et TX bouclé.
je recoie bien A , par contre je ne sais pas le convertir. cela ne marchera pas pour l'hexa d'un "non caractere"

od -x -w2 /dev/ttyUSB0
Marche pour 2 caracteres converti en hexa et se bloque (je suis obligé d'envoyer 2 caracteres)
si j'en ai qu'un -> Marche pas
0000000 41 41
*  planté
od -x /dev/ttyUSB0 -- je dois envoyer 16 caracteres pour avoir l'affichage.


je recois 1 code hexa , et j'aimerai l'affiché à l'ecran donc forcement son code hexadecimal car certain code hexa ne sont pas des caractere est ne sont pas affichage.

qqun sait comment faire ??
merci d'avance.
cdt.

Dernière modification par spectre128 (Le 04/04/2019, à 19:46)

Hors ligne

#2 Le 27/03/2019, à 15:19

credenhill

Re : [Résolu] lecture d'un caractere Hexa par le port serie

hello
lit un caractère et l'affiche en hexa, essayer

while IFS= read -r -n 1 c ; do echo -n "$c" | hexdump -v -e '/1 "%02"'; done </dev/ttyUSB0

En ligne

#3 Le 27/03/2019, à 20:40

spectre128

Re : [Résolu] lecture d'un caractere Hexa par le port serie

bonsoir,

cela ne fonctionne pas

hexdump: %0: bad convertion character

je connais pas ce genre de commande avec %
mais au moins ça reagit de suite des l'envoi d'un caractere

Hors ligne

#4 Le 28/03/2019, à 10:15

credenhill

Re : [Résolu] lecture d'un caractere Hexa par le port serie

oops, j'ai effacé un X

while IFS= read -r -n 1 c ; do echo -n "$c" | hexdump -v -e '/1 "%02X"'; done </dev/ttyUSB0

c'est %02X, hexa sur 2 caractères avec 0 au début si < 0xF
c'est le format d'affichage de printf

En ligne

#5 Le 04/04/2019, à 19:46

spectre128

Re : [Résolu] lecture d'un caractere Hexa par le port serie

bonsoir,

Impeccable, cela fonctionne correctement maintenant.

Merci beaucoup credenhill smile

Hors ligne