(PIC) probleme avec le programme
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

(PIC) probleme avec le programme



  1. #1
    kevin8z

    (PIC) probleme avec le programme


    ------

    bonjour, j'ai fait un programme ( 3mode different pour un chenillar) fonctionnant sur un pic 16f84A avec mikroC, le programme se compile bien je l'ai essayer sur isis et il fonctionne donc aprés j'ai voulu l'essayer avec la carte easypic6 mais le probleme c'est que la il fonctionne pas.
    Donc j'avai fait juste un programme pour le pic16f84A avec une led clignotant et avec la easypic6 sa fonctionne, donc j'ai re-essayer de mettre mon autre programme mais une foi le pic programmé ben c'est toujour l'ancien programme qui fonctionne, on dirait que le programme ne "rentre" pas dans le pic.
    donc voila je ne sai pas comment faire
    voici le fichier .C


    -----

  2. #2
    lupus55

    Re : (PIC) probleme avec le programme

    Hello,
    C'est quand même un peu le bordel cette explication, je comprend pas tout c'est possible d'être plus clair?

    voici le fichier .C (C'est pas en assembleur normalement qu'on le programme celui-là? tant pis de toute facon ya pas de lien.)

  3. #3
    Seb.26

    Re : (PIC) probleme avec le programme

    Tu utilise quoi pour flasher ton PIC ? (mettre le .hex dans le uCPU )

    Y'a pas le fichier .c ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  4. #4
    kevin8z

    Re : (PIC) probleme avec le programme

    desolé si c'est pas clair mais j'etait presser, enfaite quand je programme mon pic avec ce fameux programme qui "ne fonctionne pas" ben l'ancien programme reste alors que la programmation se passe bien, je cherge le fichier .hex avec mikroprog suit.
    quelle son les balise pour mettre mon code .C pck apparament tout a l'heure sa n'a pas fonctionner

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

    Re : (PIC) probleme avec le programme

    Code:
      void main() {
    char compteur = 0;                                                              // declaration variable
    
    PORTA = 0;
    PORTB = 0;
    TRISA = 1;                                                                 // PORTA en entré
    TRISB = 0;                                                                      // PORTB en sortie
    
      while (1){
         if (PORTA.RA0 == 1 && compteur == 0) compteur = 1;                         //si RA0 = 1 et compteur = 0 alors compteur = 1 (on rentre dnas la premiere boucle)
         while (compteur == 1 && PORTA.RA0 == 0){                                   // si compteur = 1 et RA0 =0 alors on rentre dans la boucle
    
              if(PORTB == 255){                                                     // si PORTB = 255 on remet le PORTB a 0
              delay_ms (200);
              PORTB = 0;
              }
            delay_ms(200);
            PORTB = PORTB*2+1;                                                      // mode chenillar  continue
          if (PORTA.RA0 == 1 && compteur == 1){                                     //si RA0 = 1 et compteur = 1 alors compteur = 2 (on sort de la boucle) et on met le PORTB a 0
             compteur = 2;
             PORTB = 0;
             }
    
         }
        
         while (compteur == 2 && PORTA.RA0 == 0){                                   // comme compteur = 2 et RA0 = 0 on rentre dans la boucle
    
              if(PORTB == 0) PORTB = 1;                                             // si PORTB = 0 alors PORTB = 1
            delay_ms (200);
            PORTB <<= 1;                                                            // decale vers la gauche RA0 vers RA7
          if (PORTA.RA0 == 1 && compteur == 2) compteur = 3;                        // si RA0 = 1 et compteur = 2 alors compteur = 3 et on sort de la boucle
         }
        
         while (compteur == 3 && PORTA.RA0 == 0){                                   // comme compteur = 3 et RA0 = 0 on rentre dans la boucle
    
              for ( PORTB = 1 ; PORTB <=64 && compteur == 3 ; PORTB<<= 1 ) {        // on va du port RA0 vers RA7
                  delay_ms(200);
                   if (PORTA.RA0 == 1 && compteur == 3) compteur = 0;               // si RA0 = 1 et compteur = 3 alors compteur = 0 on sort de la boucle
              }
              for ( PORTB = 128 ; PORTB >=2 && compteur == 3 ; PORTB>>= 1) {        // on va du port RA7 vers RA0
                  delay_ms (200);
                   if (PORTA.RA0 == 1 && compteur == 3) compteur = 0;               // si RA0 = 1 et compteur = 3 alors compteur = 0 on sort de la boucle
              }
              PORTB = 0;
    
          }
       }                                                                             // boucle while infinie
    }                                                                               // void main

Discussions similaires

  1. svp mes amis je programme le pic avec CCS
    Par invite9cc9ad42 dans le forum Électronique
    Réponses: 2
    Dernier message: 13/02/2010, 15h57
  2. Programme pour commander une PLL ADF4360-1 avec un PIC 16F84
    Par invite5ce0f52d dans le forum Électronique
    Réponses: 1
    Dernier message: 21/01/2010, 08h31
  3. saut de programme avec PIC !!
    Par invite5396f733 dans le forum Électronique
    Réponses: 21
    Dernier message: 18/06/2008, 07h53
  4. Problème dans un programme de PIC
    Par invite67d96d45 dans le forum Électronique
    Réponses: 7
    Dernier message: 28/06/2003, 23h14
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...