[Langage c] Convertion Code ascii

Fermé
Thomas - 24 avril 2007 à 11:24
dubcek Messages postés 18722 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 mai 2024 - 11 juin 2008 à 16:29
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 18722 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 mai 2024 5 615
24 avril 2007 à 14:23
Depuis du C ? imprimer le caractère avec printf("%x", c);
2
Stupeflip Messages postés 391 Date d'inscription jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
24 avril 2007 à 13:38
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
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 jeudi 8 février 2007 Statut Membre Dernière intervention 4 décembre 2007 94
24 avril 2007 à 15:03
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 18722 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 mai 2024 5 615
24 avril 2007 à 15:23
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
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 18722 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 mai 2024 5 615
11 juin 2008 à 15:44
printf plutot que puts, non ?
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
11 juin 2008 à 16:26
vu que puts est une fonction non standard, il est difficile (voire impossible) de te répondre.
0
dubcek Messages postés 18722 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 9 mai 2024 5 615
11 juin 2008 à 16:29
puts affiche le string entre "" sans interpréter les %. Pour formater un nombre avec % il faut printf
0