communication µC 8051=>PC - Page 2
Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 48 sur 48

communication µC 8051=>PC



  1. #31
    invite5ed70a3a

    Re : communication µC 8051=>PC


    ------

    C'est pas tout à fait ça,
    Les 2octets que je reçoit du can (en série donc, bit par bit) je l'envoi au pc par une liaison série rs422.
    J'ai déjà en partie fait la partie du prog qui consiste à réceptionner les 2octets du can pour les tocker dans un tableau qui sera envoyer ensuite au pc (par rs422):
    int i;
    int val;
    unsigned result;
    for (i=0;i<11;i++){
    val= (portb & 0X02)>>1;
    result=(result<<1) | val;
    if (i<=7)
    tab_reception[5]=result;
    else
    tab_reception[6]=result; // à partir de i=8, result sera stocker dans tab_reception[6] qui sera l'octet de poids forts du mots de 12bits
    voila,
    Je pense que c'est juste, reste à traiter les validation de conversions, mais je sais pas trop comment faire, c'est à partir de la doc, il y a plusieurs paramètres à traiter, notamment /CNVST, /CS, ADDR...

    -----

  2. #32
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    Si je comprends bien, c'est le pilotage du can qui te pose problème. Tu confirmes?

    A+

  3. #33
    invite5ed70a3a

    Re : communication µC 8051=>PC

    Oui c'est tout à fait ça.

  4. #34
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    Tout est basé sur le chronogramme de la page 20: on commence par lancer la conversion par un "start conversion", on lit "busy" pour savoir si la conversion est terminée (ou on déclenche une interruption), puis on valide /CS et on génère l'horloge pour récupérer le résultat de la conversion.

    A+

  5. #35
    invite5ed70a3a

    Re : communication µC 8051=>PC

    Ok je vais voir ça,
    merci de m'aider!

  6. #36
    invite5ed70a3a

    Re : communication µC 8051=>PC

    Re,
    tout d'abord voila le code du CAN:

    CS=1;
    CNVST=0; //pour faire le start conversion
    CNVST=1; //
    if (BUSY==0){
    CS=0;
    for(i=0;i<=11;i++)
    clk=1; // mise à 1 du bit relier à l'horloge du can
    tab[0]=(P33 & tab[0])>>1; // P33 est la pin relier au DoutA du can
    if (i>=7){
    tab[1]=(P33 & tab[1])>>1; // stockage de la suite du mot dans un 2eme octet
    }
    clk=0;
    }
    CS=1;
    }
    Pour le start conversion, il faut au minimum 10ns, c'est très peu, est- ce qu'il y a besoin d'une tempo, ou le temps de lire :
    CNVST=0;
    CNVST=1;
    est-il suffisant?
    Le code est-il juste?
    merci,

  7. #37
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    Le mieux est d'essayer.

    Tu es sur du sens des décalages?

    A+

  8. #38
    invite5ed70a3a

    Re : communication µC 8051=>PC

    J'essaierai ça,
    oui en effet, le décalage est dans l'autre sens^^
    merci

  9. #39
    invite5ed70a3a

    Re : communication µC 8051=>PC

    Re,
    Je me suis aperçu d'une chose, m'appretant à faire des essais j'ai eu un doute:
    le convertisseur il envoi les bit du MSL au LSB ou l'inverse?
    Parceque s'il envoi les bit du MSB au LSB, mon code ne va pas marcher, les bit seront rangés à l'envers, non?

  10. #40
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    Pour une transmission à la norme V24 (RS232, RS422, RS485), c'est LSB en 1er.

    A+

  11. #41
    invite5ed70a3a

    Re : communication µC 8051=>PC

    ok, merci bien

  12. #42
    invite5ed70a3a

    Re : communication µC 8051=>PC

    re,
    Juste pour terminer avant de cloturer le sujet,
    je dois stocker 2octets se trouvant dans un tableau déclaré en unsigned char, dans une variable déclarer en int data, j'ai fais ça:

    conversion=tab[2]; //octet de poids faible stocker dans conversion
    conversion=conversion<<8;
    conversion=conversion & tab[3] //octet de poids fort stocker dans conversion

    seulement ça n'a pas l'air de fonctionner, ya-t-il une erreur avec le type des variables? ou est ce l'opération qui n'est pa bonne?
    merci

  13. #43
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    essaie:
    conversion = tab[2] + (tab[3]<<8) // si tab[2] est bien le LSB

    A+

  14. #44
    invite5ed70a3a

    Re : communication µC 8051=>PC

    effectivement ça fonctionne,
    merci.

  15. #45
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    Tu avais inversé LSB et MSB

    A+

  16. #46
    invite5ed70a3a

    Re : communication µC 8051=>PC

    c'est juste

  17. #47
    invite5ed70a3a

    Re : communication µC 8051=>PC

    j'ai un pb sur une opération:
    je désire stocker un mot de 14bits (venant d'un CAN)dans une variable MotA et ce, bit par bit, j'ai fais ça:

    for(i=0;i<=13;i++){
    Clk=1;
    MotA=(MotA<<1) & P33; //P33 est la pin reliée à la sortie du CAN
    Clk=0;
    }
    C'est correct?
    Parceque j'ai un pb avec la conversion analogique numérique, je voudrais savoir si ça pouvait venir de la,
    merci beaucoup.

  18. #48
    Jack
    Modérateur

    Re : communication µC 8051=>PC

    MotA=(MotA<<1) & P33;
    Ca ne va pas du tout:
    D'une part, il faut un opérateur "binaire" et pas logique donc && et pas &
    D'autre part, le ET ne convient pas. Quand tu décales vers la gauche, il rentre des '0' à droite. Et tu sais que 0 ET x = 0
    C'est donc un opérateur OU (||) qu'il te faudra.

    Je me pose une question en observant tes problèmes. Comment débuggues-tu tes programmes? Tu n'as pas de mode pas à pas avec visualisation des variables, car ce genre de problème saute assez rapidement aux yeux?

    A+

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. 8051 89c450
    Par invite819d0622 dans le forum Électronique
    Réponses: 0
    Dernier message: 07/02/2009, 15h18
  2. Assembleur 8051
    Par invite13e724e8 dans le forum Électronique
    Réponses: 0
    Dernier message: 01/06/2008, 23h20
  3. Problème micro 8051
    Par invite4671370c dans le forum Électronique
    Réponses: 0
    Dernier message: 08/04/2008, 21h10
  4. Palm et 8051
    Par inviteb2ad6b3f dans le forum Électronique
    Réponses: 1
    Dernier message: 01/03/2007, 23h29
  5. Simulateur 8051??
    Par invitee0eacd98 dans le forum Électronique
    Réponses: 1
    Dernier message: 05/03/2004, 08h36
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...