Prise en main MPLAB X IDE
Répondre à la discussion
Affichage des résultats 1 à 24 sur 24

Prise en main MPLAB X IDE



  1. #1
    kevin8z

    Prise en main MPLAB X IDE


    ------

    Bonjour, avant j'utiliser microC enfin jusque hier avant qu'il m'affiche "demo limit", donc j'ai choisis d'installer MPLAB X IDE pour pouvoir faire mon programme, seul problème impossible d'allumer une led correctement ( juste pour faire des test, le prendre en main) alors que cela est "normalement" super facile. Enfaite il y a un signal carre qui sort du PIN RB0 et RB7 alors qu'il devrais être au NVL1. Voici le programme:

    Code:
    #include <stdio.h>
    #include <stdlib.h>
    #include <p18f2520.h>
    #include <delays.h>
    
    // PIC18F2520 Configuration Bit Settings
    
    #include <xc.h>
    
    __CONFIG(1, OSC_INTIO67 & FCMEN_OFF & IESO_OFF);
    __CONFIG(2, PWRT_OFF & BOREN_OFF & BORV_3);
    __CONFIG(3, WDT_OFF & WDTPS_32768);
    __CONFIG(4, CCP2MX_PORTC & PBADEN_OFF & LPT1OSC_OFF & MCLRE_ON);
    __CONFIG(5, STVREN_OFF & LVP_OFF & XINST_OFF);
    __CONFIG(6, CP0_OFF & CP1_OFF & CP2_OFF & CP3_OFF);
    __CONFIG(7, CPB_OFF & CPD_OFF);
    __CONFIG(8, WRT0_OFF & WRT1_OFF & WRT2_OFF & WRT3_OFF);
    __CONFIG(9, WRTC_OFF & WRTB_OFF & WRTD_OFF);
    __CONFIG(10, EBTR0_OFF & EBTR1_OFF & EBTR2_OFF & EBTR3_OFF);
    __CONFIG(11, EBTRB_OFF);
    
    
    int main(int argc, char** argv) {
    
        OSCCON = 0b11110111; // Oscillateur interne RC 8MHz
      
        TRISB = 0;
    
        PORTB = 0b00000001;
    
        LATB = 0b10000000;
        
        return (EXIT_SUCCESS);
    }
    Et au niveau des __config ça me met des ronds rouge avec des points d'exclamation, donc j'avais ajouter #pragma avant chaque config et a la conpilation ca me marque #pragma __ config unknow.
    Si vous avez un site avec des exemples de programmation pour ce compilo j'en serait heureux.

    EDIT: j'ai essayer avec PORTB et LATB mais dans les cas j'ai la même chose.

    -----
    Dernière modification par kevin8z ; 03/08/2012 à 13h02.

  2. #2
    kevin8z

    Re : Prise en main MPLAB X IDE

    J'ai aussi essayer d'inclure le header: htc.h mais ça ne fonctionne pas non plus.

  3. #3
    schneiderj

    Re : Prise en main MPLAB X IDE

    Bonsoir.

    pourquoi :
    PORTB = 0b00000001;
    LATB = 0b10000000;


    ?
    Et ici tu ne généres aucun signal carré : tu sors immédiatement de ta fonction main. Il te faut un while plus une temporisation.

    Jean-Marie

  4. #4
    paulfjujo

    Re : Prise en main MPLAB X IDE

    bonsoir

    Bonjour, avant j'utiliser microC enfin jusque hier avant qu'il m'affiche "demo limit",
    tu ne peux pas avoir un demo limit avec un programme aussi court !
    a moins d'inclure TOUTES les librairies .. inutilisees ici.

    Que-ce que tu veux faire avec ton programme ? clignoter une led sur RB7.
    Tu passes si vite dans ton programme sans tempo que tu ne verra rien.
    en utilisant LATB comme le preconise schneiderj
    Rajoute 2 tempos :
    debut
    Allume la led
    tempo 1sec
    eteint la led
    Tempo 1sec
    boucle au debut
    ce sera plus flagrant et visuel comme 1er test.

    A moins que tu ne fonctionnes que dans le monde virtuel (simulation ?)

    Si tu utilise MPLABX , utilise dans le projet, l'onglet "configuration des bits" prevue à cet effet ,
    et copie colle le resultat proposé dans ton code.
    Dernière modification par paulfjujo ; 03/08/2012 à 20h11.

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

    Re : Prise en main MPLAB X IDE

    Citation Envoyé par schneiderj Voir le message
    Bonsoir.

    pourquoi :
    PORTB = 0b00000001;
    LATB = 0b10000000;


    ?
    Et ici tu ne généres aucun signal carré : tu sors immédiatement de ta fonction main. Il te faut un while plus une temporisation.
    Je le sais bien qu'ici je ne génère aucun signal carre mais pourtant c'est bien ce que je retrouve en sortie du PORTRB0 et 7. Cela a était vue a l'oscilloscope.
    J'ai mis PORT et LAT car vue que j'avais un problème de signal carré en sortie j'ai fait plusieurs testes.

    Citation Envoyé par paulfjujo Voir le message
    tu ne peux pas avoir un demo limit avec un programme aussi court !
    a moins d'inclure TOUTES les librairies .. inutilisees ici.
    Et non cela était juste pour faire un teste avec MPLAB IDE, mon programme avec microC est beaucoup plus long que ça, et vue que j'utilise la fonction sprintf ça boufe beaucoup de mémoire.

    Citation Envoyé par paulfjujo Voir le message
    Que-ce que tu veux faire avec ton programme ? clignoter une led sur RB7.
    Tu passes si vite dans ton programme sans tempo que tu ne verra rien.
    en utilisant LATB comme le preconise schneiderj
    Comme le dis plus haut c'est juste un programme pour faire un teste de prise en main, donc vue que déjà cela ne fonctionne pas, la tempo c'est pas pour tout de suite.Et oui comme dit plus haut aussi j'utiliserais LAT.

    Citation Envoyé par paulfjujo Voir le message
    A moins que tu ne fonctionnes que dans le monde virtuel (simulation ?)
    Non monde réel est oscilloscope.

    Citation Envoyé par paulfjujo Voir le message
    Si tu utilise MPLABX , utilise dans le projet, l'onglet "configuration des bits" prevue à cet effet ,
    et copie colle le resultat proposé dans ton code.
    C'est bien ce que j'ai fait d'ailleurs je l'ai poster dans mon premier poste.


    J'espère que vous pourrez m'aider a résoudre ce fichue problème.

  7. #6
    schneiderj

    Re : Prise en main MPLAB X IDE

    Je pense que nous sommes deux à ne pas avoir compris ton message. Si tu as un signal carré en sortie je pense qu'il ne doit pas y avoir beaucoup de problème à explorer.
    As-tu vérifier dans les bits de configuration que le watchdog est bien sur OFF (je ne connais pas le C18) ?
    • première chose cela n'est pas dû au soft
    • deuxièmement, places toi en mode debug et place un point d’arrêt en début de fonction main(). Vérifies à l'oscillo ce qui se passe : le signal carré ne devrait pas être là. Puis fais du pas à pas.
    • Il est très probable qu'à un moment donné tu te retrouves avec un reset (à la fin de la fonction main() ?)
    • Ceci devrait vouloir dire que tu as un débordement du watchdog. Dans ce cas ton programme boucle sur lui même et tu observes la fréquence imposé par le watchdog.

    Jean-Marie

  8. #7
    kevin8z

    Re : Prise en main MPLAB X IDE

    Citation Envoyé par schneiderj Voir le message
    As-tu vérifier dans les bits de configuration que le watchdog est bien sur OFF (je ne connais pas le C18) ?
    Oui j'ai vérifier et le watchdog timer est bien sur OFF. J'utilise XC8.

    Citation Envoyé par schneiderj Voir le message
    première chose cela n'est pas dû au soft
    Ca ne pourrais pas être un problème du à un header ou linker que j'ai oublier de mettre?

  9. #8
    schneiderj

    Re : Prise en main MPLAB X IDE

    As-tu essayer ma deuxième suggestion ?

    Jean-Marie

  10. #9
    kevin8z

    Re : Prise en main MPLAB X IDE

    Je ne peut pas faire le mode debug jusque demain, je n'ai pas mon PICKIT3 et mon oscillo. Mais je crois que l'on peut debugger un programme en simulation avec MPLAB X IDE, je vais regarder ça.

  11. #10
    jC_Omega

    Re : Prise en main MPLAB X IDE

    Pour débuter très rapidement, je te conseil de t'inspirer des tuto pour pickit3 avec le compilateur C18 :

    http://ww1.microchip.com/downloads/e...Doc/41370C.pdf

    http://ww1.microchip.com/downloads/e...%20Lessons.zip

    C'est la meilleur solution, ouvre un projet (en faisant import mplab 8 project) et test et modifie.

    Dans ton programme, il manque la boucle while() pour éviter qu'il quitte et plante.

  12. #11
    kevin8z

    Re : Prise en main MPLAB X IDE

    Ok merci bien, bon ben je vais faire comme cela alors, c'est bête je voulais apprendre avec le compilateur XC8. Parce que la programmation en C il n'y a aucun problème, mais c'est plutôt du au compilo que ça merde, c'est a dire pour inclure certain header et linker. Bon je vais fait cela avec C18.

  13. #12
    jC_Omega

    Re : Prise en main MPLAB X IDE

    Prend un exemple, ouvre le, et modifie le. et ira tout seul

  14. #13
    kevin8z

    Re : Prise en main MPLAB X IDE

    Ok je vais faire ca, j'espere que C18 est compatible avec MPLAB X IDE sinon je vais devoir re installer MPLAB IDE

  15. #14
    schneiderj

    Re : Prise en main MPLAB X IDE

    Citation Envoyé par kevin8z Voir le message
    Je ne peut pas faire le mode debug jusque demain, je n'ai pas mon PICKIT3 et mon oscillo. Mais je crois que l'on peut debugger un programme en simulation avec MPLAB X IDE, je vais regarder ça.
    Mais comment vas-tu faire pour vérifier ce qui se passe en sortie ? Avec Simulator logic analyser ? Mais attention car dans ce cas tu serras complétement déconnecté de la partie hard.

    Les recommandations de jC sont bonnes : tu devrais gagner pas mal de temps avec cette approche.

    Jean-Marie

  16. #15
    jC_Omega

    Re : Prise en main MPLAB X IDE

    Citation Envoyé par kevin8z Voir le message
    Ok je vais faire ca, j'espere que C18 est compatible avec MPLAB X IDE sinon je vais devoir re installer MPLAB IDE
    Il ne faut pas confondre l'IDE (l'interface) et le compilateur, c'est 2 chose différente. le compilateur n'a pas d'interface.

    C18 est compatible avec MPLAB X et 8. (les autres compilateur aussi)
    Mplab X te permettra juste par rapport à la version 8 : une gestion du projet amélioré et une écriture plus intuitive (auto-correction), cela ce change en rien la façon d'écrire le programme.

    Bon courage
    J-C

  17. #16
    kevin8z

    Re : Prise en main MPLAB X IDE

    Oui je vais suivre les recommandation de jc-omega, mais au départ je voulais utiliser XC8 car c'est une amélioration de C18, a ce que j'ai vue sur le forum et sur le net. J'essaye tout ça et vous re dis quoi si ça ne fonctionne pas.

  18. #17
    kevin8z

    Re : Prise en main MPLAB X IDE

    Je crois avoir trouver pourquoi cela ne fonctionne pas, normalement quand on compile le programme on peut choisir via une autre fenêtre: release ou debug, dans MPLAB X IDE je ne trouve pas comment "dire" compiler en mode release, car je pense que la il compile en mode debug.

  19. #18
    jC_Omega

    Re : Prise en main MPLAB X IDE

    Clic droit a gauche sur le nom du projet (dans arborescence) et clic sur "run" ca compil en normal et ca balance dans le pic.

  20. #19
    kevin8z

    Re : Prise en main MPLAB X IDE

    Oui c'est ce que j'ai fait mais toujours pareil, mais la vue que j'ai ni pickit ni oscillo, je n'ai que ma easypic7, donc je le compile et l'envoie dans le PIC via cette carte. Mais toujours pareil. La je suis en train de lire un cour pour apprendre a utiliser C18.

  21. #20
    kevin8z

    Re : Prise en main MPLAB X IDE

    Je viens de faire un ptit programme et ça fonctionne, je crois savoir pourquoi l'autre ne fonctionner pas car je faisais:

    LATB = 1
    LATB = 2

    Donc vue que je mettais RB0 à 1 et juste après le RB1 à 1 ça a du créer un beug au niveau de MPLAB, car si je vais LATB = 3 ( donc RB0 et RB1 à 1 directement) ça fonctionne parfaitement. Bon ben maintenant le pire est que je doit re écrire tout mon programme de microC, plus utiliser les interruption plus la SPI, je vais faire plusieurs petits programmes test car si je fait tous ça d'un seul coup je crois que je vais m'y perdre.

  22. #21
    paulfjujo

    Re : Prise en main MPLAB X IDE

    bonsoir,


    Suite à ma participation à un seminaire Microchip concernant MPLAB X,
    il a été dit que C18 serait abandonné dans un proche futur et remplacé par XC8
    L'avantage de XC8 est que le source serait commun à toute la gamme des PIC 10,12,16,18
    donc theoriquement portable d'un pic à l'autre , sans trop changer de chose.

    Je m'etais bien habitué au C18 que je trouve bien renseigné quand à l'usage de bibliotheque,
    for heureusement on peut ENCORE l'utilisé dans l'environnement MPLABX
    mais il faudra se faire une raison.

    L'inconvenient de XC8 est la documentation nullisime sur les bibliotheques.
    La seule doc que j'ai trouvé repose sur les fonctions tres standard du C .. stdio.h , conio.h
    Il existe une Plib pour les peripheriques .. mais pas de doc. Il faut aller fouiller dedans,
    mais à priori, repose surtout sur les P18.
    ( je ne l'ai pas trouvée sur microchip, la doc !)
    Sinon il faudra se FAIRE SES PROPRES BILIOTHEQUES.

    Par contre on peut aussi travailler sur des 12F ou 16F..
    auparavant j'etais obligé d'utiliser MikroC , version demo ..limitee à 2K mais avec multes bibliotheques.
    (qui ne sont pas standard à 100% surtout avec les ehanced 12F..)

    donc je m'efforce à passer sur MPLABX + XC8 , qui est plus laborieux à prendre en main que MPLA IDE + C18.
    Utiliser les templates et exemples pour accelerer l'assimilation..
    Dans l'editeur ,La coloration syntaxique est un bon plus.

    Nota: la suite XC8 (de MPLABX Microchip ) est gratuite, mais les compilateurs fournis
    sont brides, en terme d'efficacité en taille de code et vitesse d'execution,
    pour nous obliger à acheter une version payante !

    A toi de voir , si tu demarre de suite en XC8 ! plutot qu'en C18 (meme si c'est plus facile)

  23. #22
    jC_Omega

    Re : Prise en main MPLAB X IDE

    Salut,

    Super merci des informations, c'est vrai que les librairies depanne bien par moment ( printf et autre)

    Une petite question, je travail avec le compilateur c24 : va t'il etre remplacé par xc... A terme ?
    Quand on travail depuis des années avec un compilateurs et que tout les projets d'une entreprise a été fait avec.

  24. #23
    RISC

    Re : Prise en main MPLAB X IDE

    Salut,

    Je n'ai pas tout a fait les même infos que paujfujo.
    Concernant les compilateurs, il n'y a aucune obligation de migrer vers les compilateurs XC lorsque l'on utlise MPLAB X.
    On peut tout à fait continuer à travailler avec les compilateurs MPLAB C (C18, C30 et C32). Les compilateurs XC sont récents donc je préferre continuer avec les compilateurs MPLAB C et en particulier le C18 qui n'est pas encore supporté complètement par le XC8. Microchip m'a recommandé de continuer à utiliser le C18 jusqu'à ce que la compatibilité complète soit assurée.

    La documentation des librairies périphériques des PIC18 a été ajoutée dans XC8 v1.01. Elle se trouve ici :c:\Program Files (x86)\Microchip\xc8\v1.01\docs \pic18_plib.pdf

    Pour ce qui concerne la compatibilité entre les compilateurs MPLAB C et les compilateurs XC, il existe un utilitaire intégré à MPLAB X pour importer automatiquement les projets ;=)
    Je n'ai personnellement rencontrés des problèmes qu'avec les projets C18 (c'est pourquoi il faut rester avec le C18).

    a+
    Dernière modification par RISC ; 06/08/2012 à 12h51.

  25. #24
    kevin8z

    Re : Prise en main MPLAB X IDE

    Bonjour, merci bien pour toutes vos informations, j'ai commencé mon programme avec C18 donc je reste avec ce compilo pour le moment, je verrais bien si je passe a XC8 ou non.

Discussions similaires

  1. Mplab x ide
    Par kevin8z dans le forum Électronique
    Réponses: 9
    Dernier message: 12/06/2012, 14h42
  2. Compilation MPLAB IDE + BIGONOFF
    Par marc.suisse dans le forum Électronique
    Réponses: 13
    Dernier message: 05/12/2009, 13h13
  3. compileur c pour MPLAB IDE
    Par dededu72 dans le forum Électronique
    Réponses: 2
    Dernier message: 11/03/2009, 15h36
  4. Mplab Ide 2
    Par benjibul dans le forum Électronique
    Réponses: 2
    Dernier message: 30/11/2007, 12h12
  5. difference entre MPLAB 5.31 et IDE
    Par marc2 dans le forum Électronique
    Réponses: 2
    Dernier message: 02/09/2004, 20h54
Découvrez nos comparatifs produits sur l'informatique et les technologies.