Probleme Carte de développement PIC
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Probleme Carte de développement PIC



  1. #1
    invite3b7641e5

    Probleme Carte de développement PIC


    ------

    Bonjour à tous,

    Je suis débutant en matière de PIC, et je viens de rencontrer un problème assez préoccupant.

    Je programme sur PIC18f4520, avec une carte de développement PIC Dem 2plus connectée via ICD3.
    Jusqu'ici, j'ai réalisé des programmes simples d'allumage de LEDs sans encombre.
    Cependant, je viens de m'atteler à un programme de génération de PWM que voici :

    Code:
    #include <p18cxxx.h> 
    #include <pwm.h>   // pour fonctions pwm
    #include <timers.h> // pour fonction timer2
    
    // configuration PICDEM2+ quartz
    #pragma config OSC = HS
    #pragma config WDT = OFF
    #pragma config LVP = OFF
    #pragma config PBADEN = OFF
    
    #define BtnS3   PORTBbits.RB0
    #define BtnS2   PORTAbits.RA4
    
    #define R50 500  // 50%
    #define R25 250  // 25%
    #define R0  0    // 0%
    #define N   249 
    
    void main(void){
    
    OpenPWM1(N);
    OpenTimer2(TIMER_INT_OFF &
               T2_PS_1_1 );
     
    for( ;; )
    {
       if(BtnS3 == 0 ) {
            SetDCPWM1(R50); }
       else {           
          if(BtnS2 == 0 ) {
               SetDCPWM1(R25); }
          else {
                SetDCPWM1(R0); }
    } }
    }
    Après avoir compilé et exécuté le programme, ça ne marche pas mais ce n'est pas tout ! Les LEDs RB2 et RB0 restent allumés, PIC branché ou pas, et quand je branche mon PIC18 sur une autre carte de développement (même modèle), celle-ci réagit de la même manière. J'ai donc essayé de ré-exécuter mon ancien programmes de LEDs qui marchaient très bien mais rien n'y fait ... la carte reste bloquée.

    Je sais déjà qu'il y a une erreur dans mon code : la valeur de N ne devrait pas être de 249 car celle-ci est adaptée à un quartz de 4MHz. Or je n'ai pas ajouté de quartz sur ma carte donc il semblerait que sa valeur par défaut soit de 32 768Hz.

    Comme je débute, il se pourrait que je dise quelques anneries, donc n'hésitez pas à me reprendre si c'est le cas.

    Est-ce que l’exécution de ce programme aurait pu endommager ma carte de développement ?

    Pouvez-vous m'aider s'il vous plaît ?

    Merci d'avance.

    -----
    Dernière modification par gienas ; 18/01/2012 à 18h23. Motif: Ajouté les balises code, obligatoires pour les programmes

  2. #2
    RISC

    Re : Probleme Carte de développement PIC

    Salut,

    De quelle couleur est ta carte PICDEM 2 PLUS (il y en a 3 versions) rouge? verte? bleue?

    Rassure-toi. Il est très peu probable que tu aies endommagé quoi que ce soit.
    Il faut tout d'abord analyser le schéma de ta carte pour bien comprendre comment les choses sont cablées.
    Si tu veux utiliser certains boutons poussoirs, il faut retirer le cavalier à coté de la led power.

    La page dédiée à la carte PICDEM 2 PLUS se trouve ici.

    Attention au choix de l'oscillateur qui se fait par un cavalier. De base la carte arrive avec un TCXO de 4MHz.

    Pour éviter tout problème, tu peux tout d'abord sélectionner l'oscillateur interne.

    Le programme ci-dessous fonctionne avec la carte PICDEM 2 PLUS verte :

    NB : le cavalier à coté de la led POWER doit être mis pour que les LEDS fonctionnent

    Code:
    /********************************************************************
    * Fichier :        ClignoteLed.c
    ********************************************************************/  
    
    #include <p18f4520.h> 
    
    // ============================================================
    // Bits de configuration pour carte PICDEM 2 PLUS
    // ============================================================
    #pragma config OSC = EC		// oscillateur TCXO
    #pragma config WDT = OFF	// Watchdog désactivé pour mode Debug
    #pragma config LVP = OFF	// LVP désactivé, non géré par outil
    #pragma config BOREN = OFF	// BOR inutile
    // ============================================================
    
    /** Declarations *************************************************/
    unsigned int i;
    
    /*****************************************************************
    * Function:        void main(void)
    ******************************************************************/
    #pragma code
    
    void main (void)
    {
    	LATB = 0 ;	// eteindre LEDS avant de configurer en sortie
      	TRISB = 0;	// PORTB en sortie
    
      	while (1)
        {
         	/* Eteindre les LEDs */
          	LATB = 0;
    
          	/* Delai pour voir le clignotement */
          	for (i = 0; i < 10000; i++);
         	Nop();
    
          	/* Allumer RB3 & RB1*/
          	LATB = 0b00001010;
    
          	/* Delai pour voir le clignotement */
          	for (i = 0; i < 10000; i++);
          	Nop();      
        }
    }
    a+

  3. #3
    invite3b7641e5

    Re : Probleme Carte de développement PIC

    Salut RISC,

    Tout d'abord, merci pour ta réponse bien développée!
    Nouveauté par rapport à hier : la carte n'est plus bloquée, j'ai fait un Clear Memory et j'ai été heureux de voir que mes petits programmes de LEDs marchaient toujours, donc pas de problème pour la carte.

    J'ai essayé ton code mais il ne fonctionne pas pour moi, peut-être est-ce dû au fait que je possède la carte bleue (enfin plutôt noire pour moi...), c'est exactement la même que sur le lien.

    En fait, mon but serait dans un premier temps de générer un signal PWM à une fréquence de 10Hz et avec un duty cycle de 50% sur la sortie RB3 pour pouvoir faire clignoter la LED. Apparemment, cela se fait avec le module CCP2 en changeant un bit de configuration, mais j'ai un peu de mal à trouver...

    Est-ce que le fait de posséder la carte bleue change les pragma config au début du programme ?

  4. #4
    RISC

    Re : Probleme Carte de développement PIC

    Salut,

    Ta carte (noire) doit être effectivement un peu différente au niveau hardware de la version verte pour la quelle je t'ai donné un programme.
    Ceci explique pourquoi mon programme ne fonctionne pas.

    Le plus simple c'est que tu t'inspire des exemples de programmes qui sont en téléchargement sur la page de la carte PICDEM2PLUS.

    Pour la mise en oeuvre de la PWM, tu peux trouver des exemples pour les PIC18 sur cette page.
    Il y a un exemple pour le PIC18F4685 mais il te faudra le modifier car le nom des bits de configuration change d'un PIC à l'autre et également les librairies...

    Tu peux réutiliser les bits de configuration de mon exemple.

    a+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. PIC 18f87j50 probleme bizard avec la librairie carte sd de microchip
    Par invite041e6c83 dans le forum Électronique
    Réponses: 7
    Dernier message: 15/01/2012, 23h59
  2. Carte de développement/dem pour pic
    Par invitec99becfc dans le forum Électronique
    Réponses: 8
    Dernier message: 03/03/2011, 13h01
  3. Recherche carte de développement
    Par invitec3cfbbba dans le forum Électronique
    Réponses: 3
    Dernier message: 11/06/2010, 00h47
  4. [PIC]ICD2 - Problème sur carte perso
    Par invite3c35244f dans le forum Électronique
    Réponses: 5
    Dernier message: 24/12/2008, 08h06
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...