[Langage c] Convertion Code ascii

Thomas -  
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   -
salut a tous
voila je travail sur un 68HC12 et je doit echantilloné l'entrée de L'ADC et d'envoyer ces echantillion sur le PC via la liaison serie avec l'Hyperterminal.
J'arrive a envoyer le caractere ascii mais je n'arrive pas a faire la convertion pour qu'il puisse m'afficher le code Hexa ou decimal de ce caractere pluto que le caractere.

Merci d'avance

9 réponses

dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Depuis du C ? imprimer le caractère avec printf("%x", c);
2
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Salut,

Il suffit de travailler avec des pointeurs pour récupérer facilement le code en ascii puis le traduire ensuite :) Par adresse en gros

Bon courage
0
Thomas
 
okok V essayer comme ca!!
et oui je code en C dsl j'ai oublier de le preciser
0
Stupeflip Messages postés 391 Date d'inscription   Statut Membre Dernière intervention   94
 
Si je me souviens bien, %x affiche l'adresse en hexa de la variable, donc attention si tu manipules de l'ascii de ne pas confondre :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
Si c est un char, %x affiche le code ascii en hexa du caractère, %o l'imprime en octal, %c imprime le caractère, si il est imprimable, %s imprime une chaine de caractères dans un string (char *)
0
zbray
 
Salut,
Je voudrais afficher sur mon ecran (console), relie a mon micro 68HC12 le contenu d'un tableau.
Pour cala j'ai cree cette fonction:

void AfficherTableauSurConsole(long *Tab) // affiche tableau case par case sur l'ecran de la console
{
int i;
for (i = 0 ; i < 35 ; i++) // 35 cases dans le tableau
{
puts(" %ld",Tab[i]); // voila le probleme ce trouve sur cette ligne(a mon avis)
}
}

La fonction: puts() provient du programme: iochar.c (lui meme provenant du logiciel de developement que j'utilise pour la communication avec mon 68HC12 icc12ide) qui permet en gros de faire comme un printf.

Le programme compile et tout semble fonctionner mais sur mon ecran il y a 35 " ld " qui s'affichent et non les 35 valeurs contenues dans les 35 cases du tableau.

J'ai besoin d'aide ce pb paralyse mon projet.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
printf plutot que puts, non ?
0
Char Snipeur Messages postés 9813 Date d'inscription   Statut Contributeur Dernière intervention   1 299
 
vu que puts est une fonction non standard, il est difficile (voire impossible) de te répondre.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
puts affiche le string entre "" sans interpréter les %. Pour formater un nombre avec % il faut printf
0