Pull up en CCS C
Répondre à la discussion
Affichage des résultats 1 à 14 sur 14

Pull up en CCS C



  1. #1
    As_Sh

    Pull up en CCS C


    ------

    Bonjour à tous

    voilà comme l'intitulé l'indique, je programme avec CCS C sur un PIC16F690.

    Je sais qu'il y a des pull-up sur PORTA et PORTB de ce PIC et je voudrais les activer. Il me semble avoir vu une option à la génération du projet mais je ne les ai pas activés à ce moment-là.

    J'ai trouvé la commande 'port_x_pullups(value)' qui à priori active (avec value = TRUE) les pull-ups du PORT spécifié. Mais je n'ai pas l'impression que cela fonctionne : lorsque je connecte mes entrées, la tension que j'y trouve varie entre 0 et 0.6 V alors que j’alimente le PIC en 5V.

    Je voulais donc savoir s'il fallait ajouter autre chose pour que la commande port_x_pullups soit fonctionnelle. Ou s'il y avait une autre commande pour activer les pull-ups.

    Sinon je referais un autre projet en veillant à activer les pull-ups.

    Merci

    -----

  2. #2
    jojo150393

    Re : Pull up en CCS C

    Bonjour,
    Il faut aussi penser à mettre ton port en entrée (c'est tellement bête qu'on oublit souvent de le faire).

  3. #3
    As_Sh

    Re : Pull up en CCS C

    Bonjour jojo150393

    Haaa. Oui effectivement.
    Donc une petite recherche et pouf je trouve une instruction spécifique 'set_tris_a/b/c(value)' pour mettre les trois PORTs en entrée/sortie.

    Et bien je test cela dès que j'ai finit de manger.

    Merci beaucoup

  4. #4
    As_Sh

    Re : Pull up en CCS C

    Bonjour à tous

    Alors effectivement je n'avais pas mis en entrée les entrées. Je l'ai donc fait, la modification ayant fait planté mon code (j'imagine bien que ce n'est pas la modification en elle-même mais surement une manip malheureuse de ma part), j'ai décidé de faire simple et de refaire un projet où je mets en entrée les entrées, les sorties en sortie et où j'active les pull-ups de PORTA et PORTB.

    Cela étant fait, je suis tout content à l'idée que mon code fonctionne parfaitement et là, grosse déception car certaine pin n'ont pas de pull-up ...
    Avant d'écrire ce message où je vais pleurer abondamment sur ma vie, j'ai vérifié pin par pin l'état de chacune.

    Donc la pin A0 n'a rien (0.156V), la pin A1 a 0.894V, la pin A2 bizarrement a un pull-up correct (4.75V) ainsi que les pin 4,5 et 7 de PORTB.

    Reste les pins A4 et A5 qui ont 2.3v.

    Je me demandais donc s'il n'y avait pas des fonctions spéciales associées à ces pins (A0, A1, A4 et A5) pour justifier ce dysfonctionnement des pull-ups.

    Merci

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

    Re : Pull up en CCS C

    les sorties en sortie
    Cette phrase m'intrigue. Sais tu que les pull up ce mettent toujours en entrée ?

    Ensuite, regarde dans la datasheet quelles sont les ports qui possède une pull up.

  7. #6
    As_Sh

    Re : Pull up en CCS C

    bonjour jojo150393

    Alors oui je sais que les pull-ups ne sont qu'en entrée. Ma phrase (qui soit dit en passant ne veux pas dire grand chose) concernait le fait que j'avais des sorties à déclarer. C'est tout.

    En fait, pour résumer, je récupère sur 8 broches (les 8 ci-dessus) en "parallèle" un octet. Mais la carte qui me les envois sort des signaux numériques avec des transistors d'où l'utilité des pull-ups à la réception.

    Les PORTs possédant des pull-ups sont PORTA et PORTB. Alors que PORTC n'en a pas, c'est le pourquoi de mon envie d'avoir mes entrées sur PORTA et PORTB.

    Je me suis dis que peut-être, le fait d'utiliser la fonction spi (spi_write et spi_xfer) rendait certaine broche "impropre" à l'utilisation. Dans le sens où elles seraient utilisées pour faire autre chose (dont je ne sois pas directement maitre).

    Enfin voilà et merci quand même pour ta réponse.

  8. #7
    gabuzo

    Re : Pull up en CCS C

    Ne pas oublier non plus de mettre à 0 le bit7 (RABPU/) du registre option_reg
    Je suis Charlie

  9. #8
    As_Sh

    Re : Pull up en CCS C

    Bonjour gabuzo

    D'après ce que je vois, à savoir un pull-up convenable sur les broche de PORTB et sur une broche (au moins) de PORTA, je tends à penser que RABPU est bien à 0. Mais comme on dit, prudence est mère de je ne sais plus quoi DONC j'ai décidé de forcer ce fameux bit à 0 quelque soit son état actuel ... Mais par contre, et pourtant il me semble l'avoir déjà fait, impossible de retrouver la commande pour écrire dans un registre.

    Il me semble que c'était un 'set_quelque chose(valeur)' mais je ne trouve plus.

    Quelqu'un peut me rafraichir la mémoire ?

    D'autre part, j'ai essayé de mettre les pull-ups dans un projet où SPI n'intervient pas (nouveau projet avec en fait juste ces pull-ups et une led qui clignote). Mais j'ai toujours ces valeurs de tension aux bornes des quatre entrées qui m’intéressent. Conclusion, ce n'est (peut-être) pas la déclaration de l'utilisation du SPI qui fait un conflit.

    Me reste donc à tenter manuellement de faire ces pull-ups. Une petite résistance reliée au 5V devrait faire l'affaire.

    En tout cas, merci pour ta réponse.

  10. #9
    gabuzo

    Re : Pull up en CCS C

    Faire de la programmation sans savoir mettre un bit à 0 ça pose effectivement un problème

    Je ne connais pas ccs donc je ne peux pas t'aider, désolé.
    Dernière modification par gabuzo ; 06/06/2014 à 08h06.
    Je suis Charlie

  11. #10
    As_Sh

    Re : Pull up en CCS C

    Petite correction, la forme 'set_quelque chose(valeur)' était en fait set_tris_x(value) donc j'écrivais bien dans un registre mais seulement dans les registre TRIS.

  12. #11
    As_Sh

    Re : Pull up en CCS C

    Bonjour gabuzo

    je sens comme une pointe de moquerie

    C'est bon j'ai finis par trouver bit_clear et bit_set. Mais comme je le disais, impossible de me souvenir de comment faire (remarque que je change la valeur d'UN bit et non pas la valeur du registre entier, mais je trouverais aussi).

    Encore merci pour cette remarque constructive

  13. #12
    As_Sh

    Re : Pull up en CCS C

    Bonjour à tous

    Voilà, pour ceux que cela intéresse, j'ai trouvé pourquoi les pull-ups ne fonctionnaient pas sur les broches A4 et A5.
    En fait, elles ne pouvaient pas être définies en entrée. Cela parce que la définition d'horloge dans laquelle j'étais (#fuse HS) ne permettait pas d'entrée/sortie sur ces deux broches. Il m'a donc suffit de passer en #fuse INTRC_IO pour définir les broches A4 et A5 en entrée/sortie et donc d'activer les pull-ups dessus.

    Je dis "il m'a suffit" mais je cherchais désespérément depuis hier, même si cela me trottait dans la tête. Pour ceux qui ont lu mes précédent messages, j'avais déjà eu des problèmes avec l'horloge quand j'étais en assembleur.



    Il me reste toujours les broches A0 et A1 qui sont récalcitrantes. Si quelqu'un connait un paramètre qui agit sur ces broches, merci de me le dire car j'ai beau relire la documentation du PIC, autant pour les A4/A5 j'avais une piste, autant là, je ne vois pas trop.

    Merci

  14. #13
    gabuzo

    Re : Pull up en CCS C

    Citation Envoyé par As_Sh Voir le message
    je sens comme une pointe de moquerie
    De l'étonnement plutôt que de la moquerie.

    http://ww1.microchip.com/downloads/e...Doc/41262A.pdf
    Table 4.1 de la page 57 tu as tous les registres qui concernent le portA, la solution doit se trouver là.
    Si ça ne fonctionne toujours pas ton pic est peut-être un peu secoué.
    Je suis Charlie

  15. #14
    carcan

    Re : Pull up en CCS C

    Hello !

    je n'ai pas tout lu, mais j'ai eu le même soucis ...
    Sur les PIC où l'on peut commander les pull ups indépendamment, tu utilises toujours 'port_x_pullups(value)' , mais au lieu de lui passer "TRUE", tu lui passes la valeur pour chaque bit (par exemple port_A_pullups(3) va activer la résistance sur les pattes A0 et A2).

    A+
    Laurent

Discussions similaires

  1. Réponses: 12
    Dernier message: 19/01/2012, 15h32
  2. résistance pull up/pull down?
    Par invite4b61c3b1 dans le forum Électronique
    Réponses: 3
    Dernier message: 31/10/2008, 13h47
  3. [Biologie Moléculaire] Pull down GST
    Par invite9ede8c9d dans le forum Biologie
    Réponses: 2
    Dernier message: 10/04/2008, 11h39
  4. Pull up ?
    Par invite9a4d60ba dans le forum Électronique
    Réponses: 27
    Dernier message: 26/02/2008, 08h52
  5. pull up, pull down et courant consommé
    Par invited45b241e dans le forum Électronique
    Réponses: 28
    Dernier message: 07/10/2007, 21h05
Découvrez nos comparatifs produits sur l'informatique et les technologies.