Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:


+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Pic18f2550 + USB CDC + AN0

  1. slayerman

    Date d'inscription
    juin 2006
    Messages
    6

    Pic18f2550 + USB CDC + AN0

    Bonjour a tous,

    je souhaite afficher dans l'hyperTerminal via une liaison USB CDC la température qui est numérisée par le 18f2550 sur AN0.

    La némérisation se passé bien (je pense) et j'arrive a afficher sur l'hyperterminal à peu près tout ce que je veux à l'exeption de ma température.
    Je sais que le résultat de la conversion se trouve dans ADRESH et ADRESL mais je ne comprend pas le type car dans mon hyperterminal ça affiche des caractères bizares...

    je fais donc :

    char buffer[64]; (déclaré en globale)


    buffer[0]=ADRESH;
    buffer[1]=ADRESL;

    if(mUSBUSARTIsTxTrfReady()){
    putsUSBUSART(buffer);}

    déja rien que ça, ça ne marche pas je li des @ô{[# ...

    pouriez vous me dire comment faire svp

    Merci d'avance
    Dernière modification par slayerman ; 09/06/2009 à 14h33.
     


    • Publicité




      Poursuivez votre recherche
      Recherche personnalisée

  2. remy01

    Date d'inscription
    juillet 2004
    Localisation
    Cordieux ( Ain )
    Âge
    64
    Messages
    316

    Re : Pic18f2550 + USB CDC + AN0

    Salut,
    le résultat de la numerisation est en binaire. Il faut convertir en BCD,
    puis en ASCII .
    A+ ....Rémy.
     

  3. slayerman

    Date d'inscription
    juin 2006
    Messages
    6

    Re : Pic18f2550 + USB CDC + AN0

    merci de répondre ci vite ^^ mais c'est quoi BCD ?
    ASCII je connais
     

  4. slayerman

    Date d'inscription
    juin 2006
    Messages
    6

    Re : Pic18f2550 + USB CDC + AN0

    Oups j'ai rien dit BCD = décimal base 10 si j'ai bien compris...
    Ok donc fo faire une fonction qui converti de la base 2 et base 10 puis convertir la base 10 en ascii ?
     

  5. slayerman

    Date d'inscription
    juin 2006
    Messages
    6

    Re : Pic18f2550 + USB CDC + AN0

    Bon j'ai fait ce que tu m'a conseillé remy mais ça ne marche toujours pas peux tu me dir où se trouve mon erreur ...

    Voila une partie de mon code.

    void SendUsb(void)
    {
    int i = 0;
    for(i=0;i<64;i++){
    buffer[i] = 0;
    }

    getacd(0, 1);
    BinToBcd(ADRESH, ADRESL);

    if(Switch2IsPressed())
    {
    if(state == 0)
    {
    if(mUSBUSARTIsTxTrfReady())
    {
    putrsUSBUSART("\r\n Tension : ");
    state++;
    }
    }
    else if(state == 1)
    {
    if(mUSBUSARTIsTxTrfReady())
    {
    putrsUSBUSART(buffer[0]);
    state = 0;
    }
    }
    }
    }

    char* BinToBcd(unsigned char binh,unsigned char binl){
    char millier = 0;
    char centaine = 0;
    char dizaine = 0;
    char unite = 0;

    unsigned int v = ((unsigned int)binh << 8) + binl;
    millier = v / 1000;
    centaine = (v/100)%10;
    dizaine = (v/10)%10;
    unite = v%10;

    millier |= 48;
    centaine |= 48;
    dizaine |= 48;
    unite |= 48;

    buffer[0] = millier;
    buffer[1] = centaine;
    buffer[2] = dizaine;
    buffer[3] = unite;
    buffer[4] = 0;

    return 0;
    }


    PS: je suis désolé pour la mise en forme du code mais je n'arrive pas à ce qu'il reste propre, dès que je poste ça le cole tout seul sur le bord gauche...
     


Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. Erreur programmation PIC18F2550
    Par punky591 dans le forum Électronique
    Réponses: 0
    Dernier message: 25/10/2008, 15h03
  2. [Brun] avarie platine 5 CD Philips CDC 751
    Par gauthiergp dans le forum Dépannage
    Réponses: 6
    Dernier message: 12/10/2008, 11h46
  3. [pic-01] Pic18f2550
    Par CactO_o's dans le forum Électronique
    Réponses: 1
    Dernier message: 03/09/2008, 09h20
  4. [Divers] Chageur cd blaupunkt CDC-A08
    Par jeanclaude83 dans le forum Dépannage
    Réponses: 0
    Dernier message: 29/04/2008, 15h08
  5. Premier programme pic18f2550
    Par hmartin dans le forum Électronique
    Réponses: 15
    Dernier message: 16/04/2008, 15h00