Carte easyPIC v7 avec mikroC
Répondre à la discussion
Page 1 sur 5 12 3 4 DernièreDernière
Affichage des résultats 1 à 30 sur 134

Carte easyPIC v7 avec mikroC



  1. #1
    dje8269

    Carte easyPIC v7 avec mikroC


    ------

    Bonjour à tous ,

    Carte de développement reçue . Assez simple d'installation parfait . En utilisant les programmes d'exemples, j'arrive a faire clignoter les leds .

    Mais quelques choses doit m'echapper dans le programme , car je ne pensais pas que ca allit faire ca .

    avec ce programme je pensais que totues les led s de tous les ports allaient s'allumer . Mais quenini .Seul les led du port C s'allume ainsi que les afficheurs 7 segments . ils clignotent à la bonne vitesse .

    Pourquoi les led des autres ports ne s'allument pas .

    Code:
    void main() {
    
      TRISA = 0;           // set direction to be output
      TRISB = 0;           // set direction to be output
      TRISC = 0;           // set direction to be output
      TRISD = 0;           // set direction to be output
      TRISE = 0;           // set direction to be output
    
      do {
        LATA = 0x00;       // Turn OFF LEDs on PORTA
        LATB = 0x00;       // Turn OFF LEDs on PORTB
        LATC = 0x00;       // Turn OFF LEDs on PORTC
        LATD = 0x00;       // Turn OFF LEDs on PORTD
        LATE = 0x00;       // Turn OFF LEDs on PORTE
        Delay_ms(1000);    // 1 second delay
    
        LATA = 0xFF;       // Turn ON LEDs on PORTA
        LATB = 0xFF;       // Turn ON LEDs on PORTB
        LATC = 0x55;       // Turn ON LEDs on PORTC
        LATD = 0xFF;       // Turn ON LEDs on PORTD
        LATE = 0xFF;       // Turn ON LEDs on PORTE
        Delay_ms(1000);    // 1 second delay
      } while(1);          // Endless loop
    }
    Une ame charitable pourrait-il me brieffer en quelques ligne sur le fonctionnement des dossiers de création d'un programme, car la je suis perdu .

    J'ai MikroC pro for pIC , je rentre mon programme . quand je l'enregistre ca me creer un fichier project c'est ca ?
    Ensuite quand je fais "build" que fait-il au juste ? il creer le fichier .hex ?
    Si je modifie le programme et que je clic sur program ca charge mais le programme ne change pas ? faut il d'abord le construire c'est ca en Hex ?

    Donc ce retrouve avec un fichier , project et un fichier hex ?

    Désolé je risque de posé des question de débutants

    Merci par avance a tous les intervenants ;

    -----
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  2. #2
    adipie

    Re : Carte easyPIC v7 avec mikroC

    Bonjour,
    Quand tu as modifié ton programme tu "clik" sur le bouton Build and Program.
    A ce moment ton programme est compilé et envoyé au programmateur de ton Easy Pic.
    Pour gagner du temps, prend le temps de lire l'aide de MikroC qui est bien faite et qui répond à tes questions.

  3. #3
    adipie

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    Bonjour à tous ,

    avec ce programme je pensais que totues les led s de tous les ports allaient s'allumer . Mais quenini .Seul les led du port C s'allume ainsi que les afficheurs 7 segments . ils clignotent à la bonne vitesse .

    Pourquoi les led des autres ports ne s'allument pas .
    As tu placé les dip switchs (SW6 sur Easy Pic5) des autres ports sur ON ?

  4. #4
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Hello adipie,

    Génial, effectivement il fallait activer les ports par les microswitchs ( sw3 sur easypic7)

    Je vais aller sur l'aide, pas de soucis, je crains quelle ne soit en anglais ? on verras bien .

    Connait tu document qui réunis et explique le rôle des fonctions ?
    C'est en faisant des erreurs; que l'on apprend le mieux !!

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

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    Connait tu document qui réunis et explique le rôle des fonctions ?
    Voir ceci: http://www.mikroe.com/download/eng/d..._reference.htm
    Que tu trouve aussi dans Help de MikroC.
    Avant de se lancer dans les microcontrôleurs, il faut passer par la case Anglais

  7. #6
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Avant de se lancer dans les microcontrôleurs, il faut passer par la case Anglais
    Oui, mais ca dépend des µC ; Par exemple sur les picaxe , une traduction du manuel as été faite en français par des bénévoles ; Tout simplement un régal ; Peut etre que des âmes charitables , maitrisant la langue de Shakespeare, aurait eu ce courage ! car y'as du taf .

    tant pis pour moi ; On bon traducteur ca devrais le faire .

    Allez une derniére pour la route , des cours en C en francais ? qui explique les bases ? un truc simple , un petit chenillard , lire un potar etc .. ou tu as appris sur le tas avec les exemples ?

    PS: merci pour le lien
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  8. #7
    adipie

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    Allez une derniére pour la route , des cours en C en francais ? qui explique les bases ? un truc simple , un petit chenillard , lire un potar etc ..
    Googel est ton ami !

    Citation Envoyé par dje8269 Voir le message
    ou tu as appris sur le tas avec les exemples ?
    En 1981 avec un cours par correspondance payé de ma poche et un Z80 programmé en ASM.
    Internet n'existait pas encore et il fallait faire des efforts.

  9. #8
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Bonjour à tous ,

    Youpi ! j'arrive a faire clignoter une led .

    maintenant depuis ce matin je bloque sur l'utilisation d'un BP de la carte easyPICv7 .

    suis je obligé d'utiliser la bibliothèque "button" pour allumer une led du portC si j'appuie sur BP du portB par exemple ?
    J'ai essayé moultes exemples sans succès ? dur dur de débuter lol .
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  10. #9
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    J'en suis rendu la . toujours pas de LED qui s'allume quand j'appuie sur un BP.

    Quelqu'un aurait-il un indice? .

    Je suis la carte easyPICv7, avec un PIC 18F45K22 , et je compile avec mikroC . Forcement quelques chose m'échappe mais quoi !

    Je Peux pas faire plus simple . Pour éviter les erreurs , je met tout le port B en entrée , et tout le PORTC en sortie ;

    Code:
    #define BP PORTB.F0    // on nomme RB0 en BP
    #define LED PORTC.F0   // On nomme la pin RC0 comme LED
    
    void main()
     {
    
       TRISB = 0xff ;  // PORTB en entrée 
       PORTB = 0x00 ;  // On met tout à zéro
       TRISC = 0x00 ;  //PORTC en sortie 
       PORTC = 0x00 ;  // On met tout à zéro
    
        while (1) {    // Boucle infini
        
           if (BP = 1 ){    // Si la pin Rb0 est à 1
            LED = 1 ;       // Alors on met la pin RC0 à 1 qui allume la led
           }
           else {          // Sinon on eteind la LED
           LED = 0  ;
           }
        }
     }
    Dernière modification par dje8269 ; 07/09/2014 à 12h45.
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  11. #10
    Gérard

    Re : Carte easyPIC v7 avec mikroC

    Quel est la tension sur RB0 quand BP n'est pas appuyé ?
    As-tu une résistance de pull-up ? Ou une pull-down ?
    La LED est dans le bon sens ?

  12. #11
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Bonsoir Gérard,

    J'ai enfin pus reussir mais sans comprendre pourquoi exactement , et ca m'enerve !

    Je suis sur une carte toute faite donc pas de soucis pour les branchements
    J'ai tout configuré en pull-down, c'est juste des petits switchs à changer ( super pratique au demeurant)

    Voila ou j'en suis, ca marche impeccable ; Mon probléme c'est que je trouve la définition de ANSELA et ANSELB, qui d'aprés les commentaires configure les port en digitals ? bizarre quand même . Mais quand j'enleve ces deux lignes ca ne fonctionne plus .

    Code:
    #define BP PORTB.F0
    
    void main() {
    
      ANSELB = 0;              // Configure PORTB pins as digital
      ANSELC = 0;              // Configure PORTC pins as digital
      TRISB = 0xff;            // Configure le PortB en entrée
      TRISB1_bit = 1;          // Configure la broche RB0 en entrée
    
      TRISC = 0x00;            // Configure PORTC comme sortie
      LATC = 0x00;             // Met toutes les sorties du portC à 0
    
      while(1){                // boucle infinie
    
         if ( BP = 1 ) {       // Si la pin B0 est à 1
          PORTC = 0x55 ;       // On allume les leds
         }
         else {                // Sinon
         PORTC = 0x00 ;        // On eteind les leds
         }
      }
    }
    Et la je suis en train de galéré avec le multiplexage des digits .
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  13. #12
    Gérard

    Re : Carte easyPIC v7 avec mikroC


  14. #13
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Merci Gérard, pour le lien .

    Mais pour être honnête, j'ai pas compris grand chose . A part ANSEL pour ANalog SELect suivis du PORT . J'en déduis quand écrivant

    ANSELB = 0 , je désactive le mode analogique du port donc par déduction il devient numérique . Et vice versa si je met
    ANSELC = 1 J'active le toutes les broches du PORT C comme entrées analogiques ?

    J'avoue qu'au tout premier abord , ca change du BASIC quand même . Je m'attendais pas , a avoir autant de difficulté pour allumé une led en appuyant sur un BP, malgré mes quelques notions en BASIC.

    Il faut persévéré en même temps ca fait qu'un jour ! lol
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  15. #14
    flyingrock

    Re : Carte easyPIC v7 avec mikroC

    Bonsoir,

    if (BP = 1 ) c'est pas bon faut ecrire BP==1

  16. #15
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Merci,

    Ce que j'ai retenus c'est = pour donner une valeur à une variable pa exemple , et == pour une comparaison . Tu as donc raison , mais pourquoi ca marche nickel, même avec le = ?
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  17. #16
    Gérard

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    Merci Gérard, pour le lien .

    Mais pour être honnête, j'ai pas compris grand chose . A part ANSEL pour ANalog SELect suivis du PORT . J'en déduis quand écrivant

    ANSELB = 0 , je désactive le mode analogique du port donc par déduction il devient numérique . Et vice versa si je met
    ANSELC = 1 J'active le toutes les broches du PORT C comme entrées analogiques ?

    J'avoue qu'au tout premier abord , ca change du BASIC quand même . Je m'attendais pas , a avoir autant de difficulté pour allumé une led en appuyant sur un BP, malgré mes quelques notions en BASIC.

    Il faut persévéré en même temps ca fait qu'un jour ! lol
    Par défaut, les ports sont en analogiques, en écrivant ANSELA = 0, tu mets tout le portA en numérique. Pour les autres ports, c'est pareil.

  18. #17
    adipie

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    J'avoue qu'au tout premier abord , ca change du BASIC quand même . Je m'attendais pas , a avoir autant de difficulté pour allumé une led en appuyant sur un BP, malgré mes quelques notions en BASIC.
    Pourquoi avoir choisi MikroC au lieu de Mikrobasic si tu maitrise mieux le basic.
    Par contre lire et comprendre le datasheet est un passage obligé.
    Tu peux aussi utiliser un PIC plus simple pour commencer.
    Lis les cours de Bigonoff,ça t'aidera bien.

  19. #18
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Pourquoi avoir choisi MikroC au lieu de Mikrobasic si tu maitrise mieux le basic.
    Pour apprendre le language C, qui je crois et plus performant que le langage basic .

    Tu peux aussi utiliser un PIC plus simple pour commencer.
    En fait c'est celui d'origine livré avec la carte . Mais je comprends pas un truc ; Pourquoi tu dis un PIC plus simple, un PIC reste un PIC, c'est la façon de le programmer qui change ? après c'est sur qu'il as plus d'option, mais le principe reste le même non ?

    Lis les cours de Bigonoff,ça t'aidera bien.
    C'est fait et c'est très rébarbatif . j'ai compris 1/10 des choses lol ./ Il faudrait une deuxième Lecture dans quelques mois , pour essayer de comprendre un peu mieux . Une chose est sur l'ASM c'est pas pour moi .

    Est ce qu'un programme écrit en C ou en BASIC aura les même performances ? compiler avec le même compilateur . Par exemple quelqu'un fais un programme avec mikroC et l'autre le même programme avec MikroBasic
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  20. #19
    Gérard

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    Pour apprendre le language C, qui je crois et plus performant que le langage basic .

    ...
    Le langage le plus performant est celui dont tu sais te servir.

  21. #20
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    bonsoir à tous,

    je rencontre des petites problèmes de compréhension sur les interruptions .

    J'ai réussis ce weekend a faire clignoter une led puis deux ......
    J'en suis rendu à afficher des chiffres sur mes digits en faisant du multiplexage .

    je fais varier les chiffres en les incrémentant a chaque boucle, donc cela va très très vite .

    Je voudrais donc les incrémenter seulement toutes les secondes . Je demande pas d'aide sur le reste du programme je me débrouillerais , mais la j'en peux plus , je cherche des exemples, je recopie , j'invente ,et j'y arrive pas .
    j'y arrive pas, car je comprends pas .

    Si une ame charitable pouvait me guider sur la comprehension des interruption et comment les gerer , aucun lien trouvé en francais expliquant clairement le fonctionnement .

    Pour moi je dois déclencher une interrupt que le timer0 est dépassé . soit je foire dans l'initialisation de l'interrupt , soit dans ma facon de pensée au d'aborder le problème .

    En rouge tout ce qui touche a l'interruption

    MikroC : pic18f45k22

    Code:
    #include "Display_utils.h"
    
     unsigned short i ;   // Déclaration de la variable i secondes : 0à255
     unsigned short j ;   // Declaration  de la variable j dizaine de secondes
    
       void interrupt(){
          i++ ;
             if (i>9){
                i=0 ;
                j++ ;
                   if (j>9){
                      j=0 ;
                   }
             }
       TMR0L =  0;        // on remet le flag d'interruption a 0
       TMR0IF_bit = 0 ;   // Je sais pas
       }
                
    
    void main(){
         RCON.IPEN = 0;       // Desactive les prioritées, active à 1
         INTCON.GIE=1;        // Active les interruptions si 0 on désactive
         
         TRISA = 0 ;          // Configure le port A en sortie
         LATA = 0 ;           // desactive tous les afficheurs
         TRISD = 0 ;          // Configure le port D en sortie
         LATD = 0 ;           // Efface tous les segments
         
         T0CON = 0xC4 ;       // Ca j'ai recopié sans comprendre
         TMR0L = 0 ;          // ca aussi
         GIE_bit = 1;         // ca aussi
         TMR0IE_bit = 1 ;     // ca aussi
         
         i=0 ;
         j=0 ;
         
         
         while(1) {           // Boucle infinie   on affiche les variables
    
            LATD = mask(i) ;   // On ramene la bonne valeur a l'afficheur
            LATA = 1;          // On active l'afficheur
            delay_ms(10) ;
            
            LATA = 2 ;
            LATD = mask(j) ;
            
            Delay_ms(10);
    
    
        }
    }
    Merci aux expert qui je suis sur , trouveront ca tellement evident ! j'apprends sur le tas !
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  22. #21
    Gérard

    Re : Carte easyPIC v7 avec mikroC

    En page 159 T0CON : C4 = %11000100
    7 : TMR0ON
    6 : Timer0 sur 8 bit
    5 : horloge interne
    4 : incrément sur front montant
    3 : prédiviseur en service
    2, 1, 0 : division par 32 du prédiviseur

    en page 160, le schéma aide à la compréhension.

    TMR0L : c'est l'octet de poids faible si tu travailles en 16 bit
    GIE : bit de mise en service des interruptions
    TMR0IE : TMR0 interrupt enable

    Tu devrais lire plus les docs même si c'est en anglais.

  23. #22
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Merci Gérard j'y vois plus clair .

    déjà grace a toi je regarde la DS et non le manuel qui ne prends pas en compte le type de PIC, ca aide .

    Pour contre ca manque d'exemple .
    Que faut il mettre comme instruction pour initialisé le timer0 .


    T0CON = %11000100 ca je pense qu'il le faut

    GIE : bit de mise en service des interruptions, celui aussi pour activer les interruptions
    TMR0IE : TMR0 interrupt enable , celle la aussi pour activer le timer0

    Je vais essayer ca

    Mais je crois comprendre que quand il y as débordement ( c'est à dire que le timer arrive à 255), il met le bit TMR0IF à 1 . donc je dois le remettre à 0 à la fin de l'interruption pour le réarmer .
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  24. #23
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Ok ca fonctionne ! merci Gerard .

    Je sais que mon code n'est pas trés catholique et loin d'être parfait et optimisé . Je suis ouvert a toutes remarques constructifs avec explications pour progresser !;

    Par exemple avec le timer0 sur 8 bits , le compteur allait encore trop vite . j'ai donc dimniué le prescaler ( diviseur je crois) , mais même au minimum je n'arrvais pas à a voir une seconde .

    je me suis donc, Jérémy , passe le compteur en 16 bits pour avoir plus de temps de comptage . Maintenant j'aimerais avoir un compteur d'une seconde precise . enfin précise pas à la nanoseconde, mais juste pour validez ma coprehension ;

    Sur 16bit le timer0 compte de 0 à 65536 . donc pour obtenir une seconde je dois regler le 0 sur une valeur x à determiner pour pour que 65536 - x = 1secondes. c'est bien ca ?

    Code:
    #include "Display_utils.h"
    
     unsigned short i ;   // Déclaration de la variable i secondes : 0à255
     unsigned short j ;   // Declaration  de la variable j dizaine de secondes
     unsigned short g ;   // Declaration  de la variable g dizaine de secondes
       void interrupt(){
          i++ ;
             if (i>9){
                i=0 ;
                j++ ;
                   if (j>9){
                      j=0 ;
                      g++ ;
                          if (g>9){
                             g=0 ;
                          }
                   }
             }
       INTCON.TMR0IF = 0x0;    // on remet le flag d'interruption a 0
    
       }
                
    
    void main(){
    
         TRISA = 0 ;          // Configure le port A en sortie
         LATA = 0 ;           // desactive tous les afficheurs
         TRISD = 0 ;          // Configure le port D en sortie
         LATD = 0 ;           // Efface tous les segments
        
         T0CON = 0x84 ;    // mise en 16 bit
         INTCON.GIE = 1 ; // mise en servide des interruptions
         INTCON.TMR0IE = 1 ; // activation de l'interruption timer0
         
         i=0 ;
         j=0 ;
         g=0 ;
    
         while(1) {           // Boucle infinie   on affiche les variables
    
            LATD = mask(i) ;   // On ramene la bonne valeur a l'afficheur
            LATA = 1;          // On active l'afficheur
            delay_ms(5) ;
            
            LATA = 2 ;
            LATD = mask(j) ;
            delay_ms(5) ;
            
            LATA = 4 ;
            LATD = mask(g) ;
            
            Delay_ms(5);
    
        }
    }
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  25. #24
    adipie

    Re : Carte easyPIC v7 avec mikroC

    Regarde si le document ci-joint t'est utile.
    Dans un premier temps tu peux aussi utiliser l'instruction delay_ms( ) pour temporiser.
    Pièce jointe 257521




    Bonjour adipie et tout le groupe

    Pour être conforme à l'épinglé


    http://forums.futura-sciences.com/el...-sabonner.html

    L'image pdf a été supprimée.

    Merci de la présenter à nouveau dans une nouvelle réponse.
    Dernière modification par gienas ; 09/09/2014 à 08h19. Motif: Supprimé image pdf

  26. #25
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Dans un premier temps tu peux aussi utiliser l'instruction delay_ms( ) pour temporiser.
    Hello adipie ,
    J'ai essayé avec delay , mais après mes afficheurs sont mal activés , donc je ne vois plus bien les chiffres, car trop lent si je met des delay.

    J'attend la validation de ton objet
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  27. #26
    gienas
    Modérateur

    Re : Carte easyPIC v7 avec mikroC

    Ceci n'est pas une réponse mais une invitation à présenter une pièce jointe dans une nouvelle réponse.

    Ce message sera supprimé dès la prochaine réponse.

  28. #27
    pat1149

    Re : Carte easyPIC v7 avec mikroC


  29. #28
    Gérard

    Re : Carte easyPIC v7 avec mikroC

    Si tu souhaites obtenir une tempo (assez) précise, il faut tenir compte de la fréquence du quartz.
    Quel quartz utilises-tu ?

  30. #29
    dje8269

    Re : Carte easyPIC v7 avec mikroC

    Le quartz sur la carte easypic7 est de 8MHz il me semble ! j'ai un doute maintenant . mais partons sur 8Mhz .

    Merci PAT pour ton lien , mais en logiciel payant , alors que je possede une calculette et un cerveau .... Je préfère faire travailler mes neuronnes et ainsi mieux comprendre ce que je fais !
    Dernière modification par dje8269 ; 09/09/2014 à 10h42.
    C'est en faisant des erreurs; que l'on apprend le mieux !!

  31. #30
    gabuzo

    Re : Carte easyPIC v7 avec mikroC

    Citation Envoyé par dje8269 Voir le message
    Merci PAT pour ton lien , mais en logiciel payant , alors que je possede une calculette et un cerveau .... Je préfère faire travailler mes neuronnes et ainsi mieux comprendre ce que je fais !
    Sinon en gratuit tu as ça : http://eng-serve.com/pic/pic_timer.html
    Je suis Charlie

Page 1 sur 5 12 3 4 DernièreDernière

Discussions similaires

  1. Easypic 7, mikroC et 16F84
    Par seb1205 dans le forum Électronique
    Réponses: 12
    Dernier message: 30/01/2013, 23h53
  2. commander un téléphone via le port USB de la carte easypic 7
    Par invitebd188048 dans le forum Électronique
    Réponses: 1
    Dernier message: 24/05/2012, 09h48
  3. Donne carte EasyPIC v5 contre rien en échange
    Par BastienBastien dans le forum Électronique
    Réponses: 5
    Dernier message: 03/01/2012, 16h01
  4. easypic, pic, C, et mikroC
    Par Mendoza dans le forum Électronique
    Réponses: 11
    Dernier message: 09/03/2011, 10h33
Découvrez nos comparatifs produits sur l'informatique et les technologies.