[Langage c] Convertion Code ascii

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
Configuration: Windows XP
Firefox 1.5.0.11

9 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    Depuis du C ? imprimer le caractère avec printf("%x", c);
    1. 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
      1. okok V essayer comme ca!!
        et oui je code en C dsl j'ai oublier de le preciser
        1. 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 :)
          1. Contributeur
            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 *)
            1. 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.
              1. Contributeur
                vu que puts est une fonction non standard, il est difficile (voire impossible) de te répondre.
                1. Contributeur
                  puts affiche le string entre "" sans interpréter les %. Pour formater un nombre avec % il faut printf