[PIC C18] problème avec la lecture d'une entrée numérique
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

[PIC C18] problème avec la lecture d'une entrée numérique



  1. #1
    invitec89d22d7

    [PIC C18] problème avec la lecture d'une entrée numérique


    ------

    Bonsoir,

    encore moi avec un problème de débutant. Alors là je ne comprend pas pourquoi j'ai toujours zéro dans 'rb1'.

    Le port B n'a que des entrées digitales et après les specs et pas de soucis suite à un reset (donc rien a positionner dans ADCON1, j'ai voulu essayer de faire simple)

    Sinon RB1 est directement relié à Vdd (5.01V mesuré au multimètre, ca devrait convenir pour une entrée numérique)

    Code:
    #include <p18f4550.h> 
    #pragma config WDT      = OFF 
    
    void main(void)
    {
        int rb1 = 0;
        TRISBbits.TRISB1 = 1;
         while (1) {
    	rb1 = PORTBbits.RB1;     
            // .....
         }
    }
    Une idée?

    Merci d'avance,

    PS : si vous avez quelque chose sur les entrées analogiques et comment les utiliser (exemple de code en C, Tutorial) je suis preneur. J'avais commencé à mettre une tension de 2.5V pour tester mais quand j'ai vu ce qu'il fallait faire pour convertir la tension analogique je suis parti faire plus simple avec un test d'entrée numérique.

    -----

  2. #2
    invitec89d22d7

    Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Alors j'ai dit une bêtise pour le port B :
    On a Power-on Reset, RB4:RB0 are
    configured as analog inputs by default and
    read as ‘0’; RB7:RB5 are configured as
    digital inputs.
    Par contre j'avais testé avec RA3 avant (avec le code ci dessus adapté) et j'avais mis ADCON1 = 0xFH;
    MOVLW 0Fh ; Configure A/D
    MOVWF ADCON1 ; for digital inputs
    #include <p18f4550.h>
    #pragma config WDT = OFF

    Code:
    void main(void)
    {
        int ra3 = 0;
        ADCON1 = 0xFH;
        TRISAbits.TRISA3 = 1;
         while (1) {
    	rb1 = PORTAbits.RA3;     
            // .....
         }
    }

  3. #3
    invite7a49d0d5

    Cool Re : [PIC C18] problème avec la lecture d'une entrée numérique

    re ;O]

    en effet, c'est tencore très très bizarre ;O]
    car oui, 5.01 volts devrait "lui convenir" ;O]

    je jete un oeil à la datasheet quand même...
    (j'lai sous la main;O]) si je trouve quelque chose...

    pour des explications sur l'ADC ya les cours de Mr BigOnOff,
    sinon ce cours que j'aime bien, mais pour un 16F88
    http://pagesperso-orange.fr/fabrice..../ADC_16F88.htm
    c'est en français et bien expliqué,
    et le fonctionnement "global" est le même que sur un 18F4550
    (que sur tous les pics...en gros...)

    vede
    ;O]

  4. #4
    invitec89d22d7

    Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Re ;p

    Bon je ne suis pas trop à coté de la plaque quand même. Si je bloque à chaque truc simple je ne suis pas rendu

    Merci pour ton site, j'étais tombé dessus quand je regardais la conversion analogique. Dommage qu'il n'existe pas de code sample pour le compilateur C18 de microchip, c'est dommage, étant leur complio C de référence ils auraient pu développer un peu. Mais bon je sens que je vais devoir fouiller dans le code des fonctions ADH fournies et comparer à l'assembleur de ton site et de la datasheet pour voir comment utiliser les fonctions C fournies (je vais bientôt faire de l'assembleur directement si ca continue ^^)

    Revenons à nos moutons, franchement je ne comprend pas pourquoi je n'arrive pas a lire une entrée numérique toute bête ...

  5. A voir en vidéo sur Futura
  6. #5
    invitec89d22d7

    Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Bon résolu :
    ADCON1=0x0F;
    Cela toutes les entrées AN01=>AN12 en Digital.
    Page 260 de la datasheet pour savoir comment le remplir. (bien planqué dans la partie "10-Bit Analog-to-Digital Converter (A/D) Module".
    J'avais bêtement pris la valeur de reset donnée dans la datasheet (partie I/O).

    Bientôt je vais connaitre par coeur la datasheet si ca continue.

    Merci de ta réponse.

    Sujet clos, j'espère que ca aidera du monde.

  7. #6
    invite7a49d0d5

    Cool Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Citation Envoyé par Neyna Voir le message
    (...)
    Bientôt je vais connaitre par coeur la datasheet si ca continue.
    (...)
    c'est la base ;O]

    Citation Envoyé par Neyna Voir le message
    (...)
    (je vais bientôt faire de l'assembleur directement si ca continue ^^)
    (...)
    pas besoin, il suffit de la datasheet ;O]

    bonn'journée à tous,

    sujet vraiment clos ;O]

  8. #7
    invitec89d22d7

    Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Bon maintenant PORTAbits.RA3 me renvoie toujours 1 ..... même avec rien sur la patte RA1/AN1 ....

    Une idée ?

  9. #8
    invite7a49d0d5

    Cool Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Citation Envoyé par Neyna Voir le message
    Bon maintenant PORTAbits.RA3 me renvoie toujours 1 ..... même avec rien sur la patte RA1/AN1 ....

    Une idée ?
    re ;O]

    il faut mettre une résistance dite de "pull-dowm" sur l'entrée,
    par exemple 10K vers la masse... pour avoir un niveau 0...
    sinon elle se charge d'électricité statique...

    en tout cas ça fais plaisir...

    ça change de

    "merci de me faire mon programme pour mon pic... etc..."

    n'hésites pas si questions,
    vede
    ;O]

  10. #9
    invitec89d22d7

    Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Ah merci de cette information, je testerai cela demain. En effet je n'ai pas de résistance de pull down. Si c'est testé par un condensateur à l'intérieur je comprend mieux le problème.

    Je suppose que tu dis 10k pour éviter de connecter Vdd à la masse sans une grosse résistance.

    Et merci de tes réponses rapides ca fait plaisir. (pour avoir bossé 2 ans a corriger que des bugs je sais ce que ca fait d'avoir un problème bien exposé et pas 3 lignes ^^ et aussi de voir sur les forums les gens qui postent leur exams ou une tartine de code qu'ils n'ont jamais tenté de compiler une fois avant d'avoir écrit 100 lignes ;p )

  11. #10
    invitec89d22d7

    Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Bon je n'ai pas pu attendre et la résistance de pull down à 10k était bien la solution.

    Un grand merci a toi (le coté électronique est celui qui me donne le plus de fil a retordre et là j'aurai jamais trouvé sans aide)

  12. #11
    invite7a49d0d5

    Cool Re : [PIC C18] problème avec la lecture d'une entrée numérique

    Citation Envoyé par Neyna Voir le message
    Bon je n'ai pas pu attendre et la résistance de pull down à 10k était bien la solution.

    Un grand merci a toi (le coté électronique est celui qui me donne le plus de fil a retordre et là j'aurai jamais trouvé sans aide)
    pas de souci...
    n'hésites pas si question...
    bonn'journée,
    vede
    ;O]

Discussions similaires

  1. [PIC C18] problème pour activer 2 sorties en même temps
    Par invitec89d22d7 dans le forum Électronique
    Réponses: 7
    Dernier message: 05/03/2010, 23h26
  2. [PIC] Détécter l'état logique d'une entrée sur pic 16f690
    Par invitece85d109 dans le forum Électronique
    Réponses: 12
    Dernier message: 31/12/2009, 18h53
  3. Probleme lecture entrée port parallele
    Par invite87549e74 dans le forum Électronique
    Réponses: 20
    Dernier message: 26/03/2008, 22h30
  4. Lecture du niveau du entrée sur un PIC
    Par schneiderj dans le forum Électronique
    Réponses: 0
    Dernier message: 09/03/2008, 19h56
  5. Gerer les bits d'une variable avec C18
    Par invite958adb57 dans le forum Électronique
    Réponses: 4
    Dernier message: 04/06/2005, 19h01
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...