#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
Hors 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
Hors 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
Hors ligne