Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83



  1. #1
    Montd'est

    Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83


    ------

    Bonjour,

    J'utilise depuis peu le programme MPLAB X IDE v1.50 avec le compilateur HI TECH PICC v9.83.
    J'essai depuis plusieurs jours de programmer un PIC16F876A avec un quartz externe de 4 MHz, sans succès.

    Au bout de plusieurs jours j'ai enfin trouvé comment configurer les fusibles : XT, Power up timer , WDT...
    en collant "__CONFIG(FOSC_XT & WDTE_OFF & PWRTE_ON & BOREN_OFF & LVP_OFF & CPD_OFF & WRT_OFF & CP_OFF);" au début du programme.

    Mais comment programmer la fréquence du quartz qu'on utilise ? 4 MHz dans mon cas.

    J'ai cherché énormément en français comme en anglais et pas moyen d'avoir une syntaxe qui réussi à faire tourner mon programme d'essai. ( si c'est bien une ligne qu'il faut écrire dans le programme pour configurer ça... ?)

    Voici ce que j'ai pu essayé et qui n'a pas marché pour la programmation de la fréquence du quartz:


    #ifndef _XTAL_FREQ
    #endif

    #define _FOSC_FREQ 4000000

    #define CLOCK_FREQ (40000000)

    #define _XTAL_FREQ 4000000


    Quelqu'un saurait-il comment faire ? merci.

    -----

  2. #2
    RISC

    Re : Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83

    Salut,

    Ton quartz externe fait 4MHz.
    La seule chose que tu dois faire est de dire au PIC que tu utilises un quartz... La fréquence lui est complètement égale...
    le #define permet de définir une étiquette qui sera utilisé pour les calculs de delais. C'est totalement optionnel et absolument pas nécessaire.

    Ce qui est important c'est de dire aux bits de configuration que tu veux utiliser ton quartz externe.
    Utilise le générateur de bits de configuration intégré dans MPLAB X pour générer le code C (les #pragma) ;=)

    Le compilateur HiTech 9.83 est une ancienne version du compilateur XC8 que je te conseille de télécharger et d'installer en version gratuite : http://www.microchip.com/MPLABXC

    a+

  3. #3
    Montd'est

    Re : Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83

    Merci pour cette réponse qui éclaircie enfin un point.

    J'ai téléchargé le compilateur XC8 et modifié de début du programme, un programme d'essai qui ne marche malheureusement toujours pas.
    Je suis habitué à programmer en Pascal, et là je passe au langage C sur MPLAB et à vrai dire je ne suis pas du tout sûr de la validité de mon programme d'essai que voici:



    #include <stdio.h> // ?
    #include <stdlib.h> // ?
    #include <xc.h> // ?
    #include <pic16f876a.h>// ?


    // CONFIG

    #pragma config FOSC = XT // Oscillator Selection bits (XT oscillator)
    #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT disabled)
    #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT enabled)
    #pragma config BOREN = OFF // Brown-out Reset Enable bit (BOR disabled)
    #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming Enable bit (RB3 is digital I/O, HV on MCLR must be used for programming)
    #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code protection off)
    #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off; all program memory may be written to by EECON control)
    #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

    #define __delay_ms(x) _delay


    void main(void) {


    TRISA = 0b11111111;
    TRISB = 0b00000000;
    TRISC = 0b00000000;

    for(; // ce n'est pas un smiley mais " ( ; ; ) " sans les espaces.
    {
    PORTB = 0b00000000;

    __delay_ms(500);

    PORTB = 0b11111111;

    __delay_ms(500);


    if (RA1 == 0) { PORTC = 0b00000000; }
    if (RA1 == 1) { PORTC = 0b11111111; }

    }

    }


    Je travaille toujours avec le quartz externe de 4 MHz accompagné de leurs 2 petits condensateurs correctement dimensionnés et raccordés à la masse.

    J'ai un interrupteur raccordé au port A1 accompagné d'une résistance de tirage vers le bas.
    Une LED est raccordée sur une des bornes du port C et une autre sur une des bornes du port B.
    Celle raccordée sur le B reste fixe au lieu de clignoter et celle raccordée sur le C ne s'allume jamais quelque soit la position de l'interrupteur.

    Tu as une idée ?
    Dernière modification par Montd'est ; 16/11/2012 à 00h38.

  4. #4
    Montd'est

    Re : Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83

    J'ai un peu avancé.

    J'avais oublié de forcer le PORTA à fonctionner en mode numérique en écrivant ADCON1 = 0x06;.
    Donc la partie du programme d'essai qui allume une LED en fonction de l'état de A1 fonctionne maintenant.
    L'autre LED ne clignote toujours pas et reste allumée en fixe, je continue mes essais et mes recherches, mais si quelqu'un à une idée je suis preneur...

    Si quelqu'un pouvait m'expliquer aussi à quoi servent les expressions suivantes en début de programme:

    #include <stdio.h> // ?
    #include <stdlib.h> // ?
    #include <xc.h> // ?

    Je débute en C et j'ai recopié ceci sans en comprendre l'utilité, merci.

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

    Re : Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83

    bonjour,

    il faut que tu configure aussi au niveau du port A la marche en digitale : ANSEL = 0x00; là tu lui dit qu'il prend deux niveau de tension 0 & 1;
    sinon il va regarder tout les niveau de tension sur le PORTA.
    je me suis fait avoir moi aussi par ça j'ai dû faire un poste sur FUTURA comme toi.

    sinon stdlib.h, stdio.h, et xc.h, sont des bibliothèque utiliser par le compilateur elles regroupent tout un ensemble de fonction spécifique, il y a aussi math .h, delays.h elles sont variables selon le µproc employées mais indispensables au bon fonctionnement de ton programme donc selon ce que tu veux faire il faudra bien choisir tes bibliothèques. Par exemples si tu fait un programme concernant les maths tu n'aura rien sans math.h ça buggera toujours. Enfin je ne suis pas un pro non plus.

  7. #6
    RISC

    Re : Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83

    Salut Montd'est,

    Je te recommande de regarder les tutoriaux pour les PIC16. Il en existe sur internet.
    Cependant, prends garde à la syntaxe car les compilateurs utilisés peuvent être différents. Généralement ceux qui utilisent HiTech devraient fonctionner sur XC8.

    Avant d'aller plus loin, peux-tu poster ton schéma électronique à jour et préciser quel programmateur / débogueur tu utilises.
    Cela évitera de chercher dans le soft des problèmes qui sont dans le hard ;=)

    a+

  8. #7
    Montd'est

    Re : Configuration de MPLAB X IDE v1.50 et du compilateur HI TECH PICC v9.83

    Salut,

    Le schéma, désolé j'ai pas la patience de le dessiner, mais je sais qu'il n'y a pas de problème électrique car j'ai testé le même montage avec un programme tapé sous Mikropascal (version démo) que j'utilise depuis 4 ans et ça à marché sans problème.

    J'ai un programmateur PIC-PG3 utilisé avec IC-PROG, je n'ai pas de débogueur.

    Je prévois d'acheter Mikropascal au complet parceque pour piloter des sorties PWM, un afficheur LCD 2 x16 ou autre, je trouve que c'est très bien expliqué dans les bibliothèques et j'ai jamais eu de grand souci.

    J'ai voulu testé MPLAB pour dépasser la limite de taille de mémoire de programme de la démo de Mikropascal.

    En tout cas merci , j'étais vraiment perdu et j'ai quand même pu démarrer grâce à toi, je trouve qu'il est quand même dur de trouver des infos à propos de l'utilisation de MPLAB.

Discussions similaires

  1. High tech Picc : Variables entre source et header
    Par 7ider5 dans le forum Électronique
    Réponses: 4
    Dernier message: 20/10/2011, 14h22
  2. réglage des options du compilateur hi-tech dans mplab
    Par eldudo dans le forum Électronique
    Réponses: 0
    Dernier message: 31/07/2011, 14h57
  3. comment utilise les fontions delay() pour HI-TEHC PICC compilateur
    Par LABTOOL48 dans le forum Électronique
    Réponses: 9
    Dernier message: 28/03/2010, 11h36
  4. Environnement HI-TECH C HI-TIDE-Compilateur PICC 18
    Par jorg1n dans le forum Électronique
    Réponses: 3
    Dernier message: 12/09/2008, 14h40
  5. Hi tech picc - message d'erreur non compris
    Par invite0f39f32f dans le forum Électronique
    Réponses: 2
    Dernier message: 30/05/2006, 20h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.