[Langage c] Convertion Code ascii

Thomas -  
dubcek Messages postés 18627 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
Configuration: Windows XP
Firefox 1.5.0.11

9 réponses

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    Depuis du C ? imprimer le caractère avec printf("%x", c);
    2
  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
  3. Thomas
     
    okok V essayer comme ca!!
    et oui je code en C dsl j'ai oublier de le preciser
    0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    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
  7. 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
  8. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    printf plutot que puts, non ?
    0
  9. Char Snipeur Messages postés 10112 Date d'inscription   Statut Contributeur Dernière intervention   1 331
     
    vu que puts est une fonction non standard, il est difficile (voire impossible) de te répondre.
    0
  10. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    puts affiche le string entre "" sans interpréter les %. Pour formater un nombre avec % il faut printf
    0