Répondre à la discussion
Page 2 sur 2 PremièrePremière 2
Affichage des résultats 31 à 59 sur 59

Développement code pour pic16f628a via MPLAB X



  1. #31
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X


    ------

    voici la mise a jour de mon schéma :

    -----
    Images attachées Images attachées  

  2. Publicité
  3. #32
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Il faut regarder comment LAT doit être déclaré avec ton compilo, je n'utilise pas XC8.

  4. #33
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Laisse tomber, ce PIC n'utilise pas LAT...
    Bref, tape le dernier code à l'identique en mettant cette fois:

    ....
    PORTBbits.RB1 = 1;
    while(1);

  5. #34
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    LAT n'est pas déclaré dans pic16f628a.h, il y a un PCLATH ...

  6. #35
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Ca n'a rien à voir.
    Tant que le schéma n'est pas visible je ne peux rien dire de plus, essaye selon le post#33 en attendant.

  7. #36
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    ok, cela ne marche toujours pas... je désespère...
    voici la modif appliquée :
    ****************************** **********
    int main(void)
    {
    PCON = 0x07;
    initCtrlPorts();

    PORTBbits.RB1 = 1; // attribution de la valeur 1 à la sortie RB1 (pin 7)
    PORTBbits.RB3 = 1; // attribution de la valeur 1 à la sortie RB3 (pin 9)
    while(1);
    }
    ****************************** ****

    En tout cas, merci de passer du temps avec moi et mon problème.

  8. Publicité
  9. #37
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    ah oui aussi, je confirme que le fichier hex et bien généré comme il faut.

  10. #38
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Tu ne fais pas ce que je t'ai demandé.
    Oublie RB3 pour le moment!

    660 Ohms?? D'où tu sors pareil valeur?
    Normal que ta led soit éteinte avec 1mA...
    Enlève une led et met 100 Ohms.

  11. #39
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    ok, LED sur RB3 virée, R660 remplacée par R de 80ohms (j'ai pas trouvé 100ohms).

    et ça marche pas...

  12. #40
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Ton schéma est beaucoup trop simpliste.
    Qu'as-tu mis ente VCC et GND de ton PIC?
    Tu amènes juste les 2 fils d'alimentation?
    Sur quoi as-tu fait ton montage?

    Bref, balance vite une photo car je pense que le problème est du coté hard.
    @+

  13. #41
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    voici une photo
    Images attachées Images attachées  

  14. #42
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Tu mesures bien 3.3V entre VDD et GND de ton µC?

  15. Publicité
  16. #43
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Relis temporairement l'anode de ta led au +3.3V pour voir si au moins si elle s'éclaire bien.

  17. #44
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    oui j'ai bien 3.3V et oui la LED s’éclaire bien. Je vais prendre un autre µC histoire de voir..

  18. #45
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Comment tu programmes ton µC?

  19. #46
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    sous MPLABX, aprés avoir fait un "Build", je fais un "Make and program device",
    la fenêtre Pickit3 s'ouvre et s’exécute la programmation :

    Connecting to MPLAB PICkit 3...
    Firmware Suite Version.....01.28.90 *
    Firmware type..............Midrange

    Target detected
    Device ID Revision = 8

    The following memory area(s) will be programmed:
    program memory: start address = 0x0, end address = 0x7ff
    configuration memory

    Programming...
    Programming/Verify complete

  20. #47
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Il faut aussi prévoir un découplage de ton alimentation au plus près du µC avec au minimum 100nF.
    C'est un µC neuf?

  21. #48
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    mon alimentation vient d'un régulateur de tension type LT1121 avec condensateur de 1µF, assurant une tension de 3,3V.
    mes µC sont quasi neuf, et j'en ai d'autre tout neuf jamais utilisés.

  22. Publicité
  23. #49
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Ok.

    Essaye ce fichier hex et dis moi si ça fonctionne.
    @+
    Fichiers attachés Fichiers attachés

  24. #50
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    en attendant la validation de la pièce jointe, j'ai fait un essai avec un fichier hex (clignotement d'une LED) et ça fonctionne, par contre je n'ai que le fichier hex et du coup je ne sais pas comment c'est codé... mais ça fonctionne, du coup cela ne remet pas en cause le transfert du code vers le uC.

  25. #51
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Citation Envoyé par erwannomar Voir le message
    ok, cela ne marche toujours pas... je désespère...
    voici la modif appliquée :
    ****************************** **********
    int main(void)
    {
    PCON = 0x07;
    initCtrlPorts();

    PORTBbits.RB1 = 1; // attribution de la valeur 1 à la sortie RB1 (pin 7)
    PORTBbits.RB3 = 1; // attribution de la valeur 1 à la sortie RB3 (pin 9)
    while(1);
    }
    ****************************** ****

    En tout cas, merci de passer du temps avec moi et mon problème.
    Je relis ton code et quelque chose me gêne dans le déclaratif de la fonction main().
    int main(void) attend uen information de retour de type entier, hors ta fonction ne retourne rien du tout...

    Supprime le while(1); et écris à la place return 0;

  26. #52
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Et sinon dernière tentative, remplace PORTBbits.RB1 = 1; par PORTB=0x02;

    Après je n'ai plus d'idée sauf peut-être une suggestion:

    débarrase toi de XC8!!

  27. #53
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    J'ai remplacé while(1) par return 0; =>> ça ne donne rien.

    J'ai chargé ton fichier hex dans le uC, sans résultat...

  28. #54
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    j'ai remplacé PORTBbits.RB1 = 1; par PORTB=0x02; sans résultat,

    je jette du coup mon pc par le fenêtre et vais faire un tour...

    plus serieusement, si je vire XC8, je prends quoi a la place ??

    Merci.

  29. Publicité
  30. #55
    invite03481543

    Re : Développement code pour pic16f628a via MPLAB X

    Ca prouve au moins que ça vient bien de ton compilateur, soit un bit de config mal déclaré, soit une config mal faite.
    Faut dire que c'est plutôt folklorique cet IDE...
    Le code que je tai envoyé je l'ai généré sous MikroC en moins de30s, il tourne parfaitement sur ma carte avec un 16F628A.

  31. #56
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    je vais essayer de faire fonctionner le circuit avec ton fichier. J'ai peut etre un prob sur ma carte.

    Merci.

  32. #57
    RISC

    Re : Développement code pour pic16f628a via MPLAB X

    Salut,

    Un autre gros problème dans ton programme actuel c'est le BOR dans les bits de configurations...
    Le BOR reset le PIC quand la tension Vdd descend MAIS....la datasheet montre que c'est prévu pour Vdd = 5V car le BOR fonctionne entre 3.65V et 4.35V.
    Si ton alimentation est en 3V ton PIC sera toujours en reset...

    Il faut changer le bit de configuration BOR et écrire :
    Code:
    #pragma config BOREN = OFF // desactiver le BOR si fonctionnement en 3V
    de même, si tu n'as pas de circuit de reset externe, il faut activer le reset interne :
    Code:
    #pragma config PWRTE = ON // choix reset interne
    Je te conseille de suivre un tutoriel et de lire la documentation sans quoi tu passer beacoup de temps à faire des essais pour rien...
    Regarde par exemple ici : http://www.gooligum.com.au/tutorials.html

    a+

  33. #58
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    UN ÉNORME MERCI !!!!!!!!!! ça fonctionne...
    Je vais enfin pouvoir partir sur un bout de code qui fonctionnel et poursuivre tranquillement mon apprentissage.

    Merci encore à tous pour votre aide, voici le code final (qui pourra peut être aider d'autres débutants) :

    ==> allumage d'une LED en RB1, pour le PIC16F628a, MPLAB X, XC8, tension d'alimentation de 3,3V :



    /** I N C L U D E S ****************************** ****************************/
    #include <stdio.h>
    #include <stdlib.h>
    #include <xc.h>

    /** Configuration Bit Settings ****************************** *****************/
    #pragma config FOSC = INTOSCIO
    #pragma config WDTE = OFF // Watchdog Timer Enable bit (WDT enabled)
    #pragma config PWRTE = ON // Power-up Timer Enable bit (PWRT disabled)
    #pragma config MCLRE = ON // RA5/MCLR/VPP Pin Function Select bit (RA5/MCLR/VPP pin function is MCLR)
    #pragma config BOREN = OFF // Brown-out Detect Enable bit (BOD enabled)
    #pragma config LVP = OFF // Low-Voltage Programming Enable bit (RB4/PGM pin has PGM function, low-voltage programming enabled)
    #pragma config CPD = OFF // Data EE Memory Code Protection bit (Data memory code protection off)
    #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off)

    /** T R I S ****************************** ****************************/


    /** D E F I N E S ****************************** ****************************/
    //#define LED1 PORTBbits.RB1
    //#define TRISLED1 TRISBbits.RB1

    /** I N I T I A L I S ****************************** *************************/
    void initCtrlPorts(void)
    {
    TRISB = 0b00000000; // les PIN du port B sont toutes en sortie
    PORTB = 0; // attribution valeur 0 aux PIN du port B
    }
    /************* START OF MAIN FUNCTION ***************/
    int main(void)
    {
    PCON = 0x07;
    initCtrlPorts();

    PORTB = 0x02; // attribution de la valeur 1 à la sortie RB1 (pin 7)
    //PORTBbits.RB3 = 1; // attribution de la valeur 1 à la sortie RB3 (pin 9)
    return 0;
    }

  34. #59
    erwannomar

    Re : Développement code pour pic16f628a via MPLAB X

    Bonjour à tous,
    je poste ce message pour promouvoir un autre projet en cours : www.reve-de-porsche.fr

    Merci.

Page 2 sur 2 PremièrePremière 2

Discussions similaires

  1. code vb 2008 pour code bouton eteindre ou allumer une lampe
    Par candolf dans le forum Programmation et langages, Algorithmique
    Réponses: 0
    Dernier message: 16/02/2013, 20h44
  2. Pic16F628A PGC et PGD en sortie ??
    Par Biname dans le forum Électronique
    Réponses: 3
    Dernier message: 15/02/2013, 19h36
  3. [MPLAB / PIC16F628A] Delays.h n'est pas trouvé
    Par RichardNoirPlus dans le forum Électronique
    Réponses: 4
    Dernier message: 28/12/2011, 22h30
  4. probléme code erreur avec MPLAB
    Par bibax76 dans le forum Électronique
    Réponses: 7
    Dernier message: 20/04/2011, 18h12
  5. problème compilation code ccs avec mplab
    Par bach91 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/06/2009, 09h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.