Aide pour PIC en C
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

Aide pour PIC en C



  1. #1
    invite678d1a78

    Red face Aide pour PIC en C


    ------

    Salut à tous,

    Ça fait quelques jours que j’essaie de faire un petit test en c avec mon 16f84, a vraie dire je rien réussi pour le moment.
    J’essaie d’allumer un simple led avec un bouton.

    Le led se trouve dans la RB2 et le bouton dans la RB2, mon code

    Si quelqu’un peut m’aide ça serait sympa.

    void main( void)
    {

    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {
    RA1 = RB1;
    }
    }

    -----

  2. #2
    invite193e18b2

    Re : Au scours PIC et C

    salut
    tu a tout mis pour le portB.
    donc le bouton ne feras rien

  3. #3
    invite5637435c

    Re : Au scours PIC et C

    Citation Envoyé par czarama Voir le message
    Salut à tous,

    Ça fait quelques jours que j’essaie de faire un petit test en c avec mon 16f84, a vraie dire je rien réussi pour le moment.
    J’essaie d’allumer un simple led avec un bouton.

    Le led se trouve dans la RB2 et le bouton dans la RB2, mon code

    Si quelqu’un peut m’aide ça serait sympa.

    void main( void)
    {

    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {
    RA1 = RB1;
    }
    }
    Salut,

    oui c'est sur que ça va pas le faire.
    TRISA et TRISB sont les registres de direction des ports A et B.
    Il faudrait peut-être que tu positionnes ton BP sur une entrée et ta led en sortie.
    De plus si ton prog démarre comme ça, comment ton compilateur sait avec quel µC tu travailles?
    Avec quel compilateur travailles-tu?

  4. #4
    invite678d1a78

    Re : Aide pour PIC en C

    Je m’excuse j’ai tout mélangé,

    RA1 est le bouton
    RB1 est la led

    Et le code


    void main( void)
    {

    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {
    RB1 = RA1;
    }
    }

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

    Re : Aide pour PIC en C

    et je travaille avec MPLAB

  7. #6
    invite5637435c

    Re : Aide pour PIC en C

    Citation Envoyé par czarama Voir le message
    et je travaille avec MPLAB
    Oui mais MPLAB ne contient pas de compilateur C, il faut que tu lui en associe un.

  8. #7
    invite74b73858

    Re : Aide pour PIC en C

    Salut

    déjà il faut que tu mettes une condition d'appui sur ton bouton.

    du genre:

    while(1)
    {
    if (PORTAbits.RA1==0) // on a appuyé sur le BP
    {
    PORTBbits.RB1=1-PORTBbits.RB1;// permet de changer l'état de la led
    }
    }

  9. #8
    invite678d1a78

    Re : Aide pour PIC en C

    à MPlab j'a associe le compilateur cc5x,

    j'ai essaie le code suivant et ça marhe toujours pas

    while(1)
    {
    if (RA1==0) // on a appuyé sur le BP
    {
    RB1=1;
    }
    else
    {
    RB1=0;
    }

    }

  10. #9
    invite5637435c

    Re : Aide pour PIC en C

    Citation Envoyé par Nithael Voir le message
    Salut

    déjà il faut que tu mettes une condition d'appui sur ton bouton.

    du genre:

    while(1)
    {
    if (PORTAbits.RA1==0) // on a appuyé sur le BP
    {
    PORTBbits.RB1=1-PORTBbits.RB1;// permet de changer l'état de la led
    }
    }
    Oui mais il faut d'abord initialiser les ports après leur avoir indiqué dans quel sens on va les utiliser.

  11. #10
    invite74b73858

    Re : Aide pour PIC en C

    As tu une erreur de compilation deja?

    Si ce n'est pas le cas , ca peut venir aussi de ta carte, vérifie bien tes contacts...

  12. #11
    invite678d1a78

    Re : Aide pour PIC en C

    toujours pas


    void main( void)
    {


    PORTA = 00000000;
    PORTB = 00000000;

    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {
    if (RA1==0) // on a appuyé sur le BP
    {
    RB1=1;
    }
    else
    {
    RB1=0;
    }

    }
    }

  13. #12
    invite74b73858

    Re : Aide pour PIC en C

    Citation Envoyé par HULK28 Voir le message
    Oui mais il faut d'abord initialiser les ports après leur avoir indiqué dans quel sens on va les utiliser.
    Oui Hulk tu as raison je ne parlais que du programme allumant ou éteignant le led a proprement dit...

  14. #13
    invite678d1a78

    Re : Aide pour PIC en C

    A la compilation tout passe bien, j'ai deja testé ma carte avec un autre example qui venait avec en assambleur et sa marche, du cote des connexions il peut pas avoir d'erreur car j'outilise le KIT VM-111 de vellman, et tout est deja branché

  15. #14
    invite5637435c

    Re : Aide pour PIC en C

    Citation Envoyé par czarama Voir le message
    toujours pas

    #include <pic16F84.h>// déclarations pour le PIC16F84


    void main( void)
    {


    PORTA = 1;
    PORTB = 0;

    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {
    if (RA1==0) // on a appuyé sur le BP
    {
    RB1=1;
    }
    else
    {
    RB1=0;
    }

    }
    }
    La déclaration du include dépend des compilo donc à vérifier (p16F84 ou pic16F84)
    -------------

  16. #15
    invite678d1a78

    Re : Aide pour PIC en C

    J'a changé ton code par le suivant mais ça passe à la compilation et j'ai specifié ds MPlab le type de pic, car ceui-ci peut être passé en parametre au cc5x

    #pragma chip PIC16F84A

    void main( void)
    {


    PORTA = 0;
    PORTB = 1;
    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {
    if (RA1==0) // on a appuyé sur le BP
    {
    RB1=1;
    }
    else
    {
    RB1=0;
    }

    }
    }

  17. #16
    invite678d1a78

    Re : Aide pour PIC en C

    mais ça marche toutjours pas

  18. #17
    invite74b73858

    Re : Aide pour PIC en C

    Ca me paraît bizarre d'initialiser le port A à 0 sachant que tu fais ta condition d'apui bouton qd RA1 passe à 0... mais bon ca ne devrait pas être génant ça.
    CE que tu peux essayer c'est de faire tourner ton programme en mode debug en plaçant 1 ou 2 breakpoints pour voir si les bits de tes registres prennent bien les valeurs que tu leur donnes

  19. #18
    invite5637435c

    Re : Aide pour PIC en C

    Citation Envoyé par czarama Voir le message

    #pragma chip PIC16F84A

    bit bouton @ PORTA.1
    bit led @ PORTB.1

    void main( void)
    {

    TRISA = 0xFF;
    TRISB = 0;
    PORTA = 0x02;
    PORTB = 0;

    while(1)
    {
    if (bouton==0) // si appui sur BP
    led=1;
    else
    led=0;


    }
    }
    Ca devrait fonctionner sous réserve de vérifier avec la syntaxe de CC5X...

  20. #19
    invite678d1a78

    Re : Aide pour PIC en C

    j'ai testé le debuger et tout ce passe bien

  21. #20
    invite678d1a78

    Re : Aide pour PIC en C

    Je dois partir, si jamais t'as une idée merci de la poster sinon je serais demain matin a nouveau en train de demander de l'aide.

    et merci quand meme.

  22. #21
    invite5637435c

    Re : Aide pour PIC en C

    Dis moi au moins ce que tu as rentré comme programme si tu veux que j'essaie de mon coté.

  23. #22
    Invité

    Re : Aide pour PIC en C

    Citation Envoyé par czarama Voir le message
    mais ça marche toutjours pas
    salut
    tu as vérifié les bits de configuration du pic ? horloge, watchdog ?

    A+,

    Bruno

  24. #23
    inviteb679aa6a

    Re : Aide pour PIC en C

    salut
    c'est normal que ca marche pas avec un tel foutoir

    en premier lieu effectivement declarer le type de PIC et le fichier associé

    #include <16F84.H>

    ensuite dans le prog principal declarer quel broche en entrée ou sortie
    set_tris_A(0b00000000);
    set_tris_B(0b11111111);
    ou 0 place la broche correspondante en sortie
    1 " " " en entrée
    apres l'ecriture n'est pas correcte tu doit definir le port et la broche (avec CCS je ne connais pas CC5 a verifier)


    do
    {
    if (bit_test(PORT_A,1)==1)
    {
    port_B=0b11111111;
    }
    else
    {
    port_B=0b00000000;
    }
    }
    while(true);



    A+

  25. #24
    invite5637435c

    Re : Aide pour PIC en C

    Pourquoi tu t'énerves minouche, on l'a déjà dis tout ça.

    Le problème comme trop souvent, c'est que les petits jeunes en programmation mettent la charrue avant les boeufs, c'est à dire qu'ils veulent avoir fini le programme avant d'avoir appris le C et vérifier que ça marche avant d'avoir acheté la première résistance...

  26. #25
    mictour

    Re : Aide pour PIC en C

    Bonjour CZARAMA,

    Regarde ici :http://hhollard.club.fr/prog_pic_c.htm
    Il s'agit d'un cours clair et bien construit pour débuter avec CC5X, seul problème ... il est en français! !

    Bonne lecture à toi CZARAMA.

    Petit proverbe : Quand tu donnes du poisson à un homme tu lui donnes à manger pour un journée, si tu lui apprends à pêcher tu lui donnes à manger pour toute sa vie.
    mictour.

  27. #26
    invite678d1a78

    Re : Aide pour PIC en C

    Brunog merci il me semble que tout mon probleme etait dans les bits de configuration.

    en que qui concerne le code il reste comme ça


    void main( void)
    {


    PORTA = 0b00000000;
    PORTB = 0b00000000;

    TRISA = 0b11111111;
    TRISB = 0b00000000;

    while(1)
    {

    RB1 = RA1;
    RB2 = RA2;
    }
    }



    En effet avec MPlab il n'y a pas besoin de specifier le type de PIC dans le code car ceci est deja fait dans les proprietes du projet.

    Merci quand meme les gas avec cela je peux commencer a travailler avec ce pic.

Discussions similaires

  1. aide pour PIC 16F877 vers PC via port serie (transfert de données)
    Par invite1c4b6700 dans le forum Électronique
    Réponses: 8
    Dernier message: 08/05/2009, 02h47
  2. pic 16f84a aide
    Par invitef92e4536 dans le forum Électronique
    Réponses: 8
    Dernier message: 03/02/2009, 19h24
  3. Aide PIC à programmé pour faire marché un affichage LCD
    Par invite7cbeb964 dans le forum Électronique
    Réponses: 48
    Dernier message: 19/01/2008, 19h40
  4. Aide pour programme PIC18F (PIC-->CNA)
    Par invitefe70cd58 dans le forum Électronique
    Réponses: 1
    Dernier message: 12/06/2006, 22h54
  5. quelle platine pour PIC????? aide
    Par invite5738ac78 dans le forum Électronique
    Réponses: 2
    Dernier message: 19/04/2006, 21h57
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...