Pic 16F1826, problème de prog
Répondre à la discussion
Page 1 sur 3 12 DernièreDernière
Affichage des résultats 1 à 30 sur 64

Pic 16F1826, problème de prog



  1. #1
    seb8429

    Pic 16F1826, problème de prog


    ------

    Bonjour à tous,

    votre forum m'a toujours été très utile, mais cette fois je n'ai pas réussi à trouver ma solution :s...
    Je vous expose donc mon cas en espérant que quelqu'un sache d'où cela puisse provenir...

    j'ai décidé de me remettre à la programmation (après 4ans.. j'ai donc oublié pas mal de choses...) sur un projet tout simple, et dont le programme consiste juste à gérer des sorties selon les entrées.
    J'ai créer mon programme, mais après de bonnes longueurs de code quand je pensais l'avoir fini je me suis aperçu qu'une fois programmé ça ne faisait rien...

    Je suis donc revenu à la base des bases. en réalisant un programme qui devrait activer 2 sorties si j'avais un état haut sur une entrée et rien du tout non plus...

    je pense que mon erreur pourrait venir de:
    - mauvaise configuration de l'horloge... je souhaite utiliser l'horloge interne...
    - peut être mauvaise définition des entrées sorties mais pourtant j'ai vérifier plus d'une fois...

    voici mon code très simpliste :
    Code:
    #include <htc.h>
    #include <stdio.h>
    
    
    void main(void)
    {
    
    	OSCCON=0b00111010;	//oscillateur interne on
    	TRISB=0x00;			//PortB en sortie
    	TRISA=0xff;			//PortA en entrée
    	ANSELA=0x1f;		//entrée analogique
    	PORTB=0;			//init port B
    
    	if (RA2==1)
    		{ 
    			RB0=1;
    			RB1=1;
    		}
    
    }
    ce que j'observe quand j'écris ce code sur le pic, c'est que RB1 est à 1 tout le temps, RB0 à 0, et que mon RA5 (là il ou il y a le MCLR) est à 1...

    en gros ça ne marche pas...

    si quelqu'un à une idée je suis preneur, je pense que la solution est tout bête, mais comme je vous l'ai dit, 4ans sans prog j'ai surement oublié les bases...

    Merci pour votre aide!

    -----

  2. #2
    guillaume83

    Re : Pic 16F1826, problème de prog

    Bonjour,
    ne pas oublier de configuer , dans les fusibles de configuration, le portb en digital et pas en analogique(valeur par défaut),
    il manque aussi une boucle sans fin dans le programme( while(1){.....}), ici le programme s'execute une foie puis aprés, ....... le µp fait ce qu'il veut.
    @+

  3. #3
    seb8429

    Re : Pic 16F1826, problème de prog

    merci pour la réponse,

    Pour ce qui est de la boucle je viens de la mettre,

    par contre je ne vois pas où aller chercher ce fusible de configuration...
    (il me semblait aussi qu'il fallait mettre le portB en analogique, est-ce une erreur de ma part?)

  4. #4
    guillaume83

    Re : Pic 16F1826, problème de prog

    Citation Envoyé par seb8429 Voir le message
    par contre je ne vois pas où aller chercher ce fusible de configuration...
    (il me semblait aussi qu'il fallait mettre le portB en analogique, est-ce une erreur de ma part?)
    J ai confondue avec les pic 18 , par contre il ne faut pas configurer le port A en analogique , sinon le signal est envoyé vers le can et non vers PortA.
    @+

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

    Re : Pic 16F1826, problème de prog

    Malheureusement ça n'a pas l'air d'être ça le soucis, car rien ne change...

    Merci quand même pour l'aide

    Code:
    #include <htc.h>
    #include <stdio.h>
    
    
    void main(void)
    {
    
    	OSCCON=0b00111010;	//oscillateur interne on
    	TRISB=0x00;			//PortB en sortie
    	TRISA=0xff;			//PortA en entrée
    	ANSELA=0x00;		//entrée NON analogique
    	PORTB=0;			//init port B
    
    
    while(1)
    	{
    	if (RA2==1)
    		{ 
    			RB0=1;
    			RB1=1;
    		}
    	}
    }

  7. #6
    guillaume83

    Re : Pic 16F1826, problème de prog

    Essaie juste d'alumer les leds, sans test:
    while(1)
    {
    rb0=1;
    rb1=1;
    }
    juste pour voir si les ports sont configurés correctement.
    quel logiciel utilises tu?

  8. #7
    seb8429

    Re : Pic 16F1826, problème de prog

    Ne marche pas, RB1 4,8V mais RB0 rien...

    J'utilise la dernière version de MPLAB ide (V8.86)

    Penses-tu que ça pourrait venir de mon horloge?

  9. #8
    guillaume83

    Re : Pic 16F1826, problème de prog

    Ha! aussi,
    pour lire un port on utilise portx et pour écrire sur un port on utilise latx
    (http://ww1.microchip.com/downloads/e...Doc/41391D.pdf page 117)
    @+

  10. #9
    seb8429

    Re : Pic 16F1826, problème de prog

    Oui, j'ai vu ce paragraphe mais il me semblait que regarder l'état de RB0 ou autre revenait au même que regarder PORTB.0

    Pour ce qui est du code, ça ne marche toujours pas,

    Code:
    while(1)
    {
    PORTB.0=1;
    PORTB.1=1;
    }

  11. #10
    RISC

    Re : Pic 16F1826, problème de prog

    Salut SEB,

    Je te recommande très fortement de ne PAS utiliser les PORTx mais les LATx pour les SORTIES.
    Peux-tu simplement changer ces 2 lignes :
    Code:
    LATB0=1;
    LATB1=1;
    à la place de RB0 et RB1 ?

    a+

  12. #11
    guillaume83

    Re : Pic 16F1826, problème de prog

    Juste au passage , on peut programmer des 16F en c avec mplab?

  13. #12
    seb8429

    Re : Pic 16F1826, problème de prog

    Salut Risc,

    Merci pour ton aide,
    malheureusement pareil...

    j'ai essayé ces deux syntaxes dans le doute:

    LATB0=1;
    LATB1=1;

    et

    LATB.0=1;
    LATB.1=1;

  14. #13
    seb8429

    Re : Pic 16F1826, problème de prog

    Citation Envoyé par guillaume83 Voir le message
    Juste au passage , on peut programmer des 16F en c avec mplab?
    Je pense, j'ai pu sélectionner le pic en question,
    et d'après les autres tutos que j'ai rapidement vu, beaucoup l'utilise pour des 16F.

  15. #14
    RISC

    Re : Pic 16F1826, problème de prog

    Oui...depuis 15 ans ;=)

    Il te suffit de télécharger le compilateur gratuit (version Lite) :
    * Hitech C v9.83 pour PIC10/12/16 pour MPLAB (versions avant 8.85) et MPLAB X
    ou le nouveau compilateur :
    * XC8 v1.10 pour MPLAB version supérieure à 8.85 ou MPLAB X

    Si tu travailles sous Linux ou MAC MPLAB X et les compilateurs XC sont également dispo en natif ;=)

    a+

  16. #15
    guillaume83

    Re : Pic 16F1826, problème de prog

    As tu essayé avec le simulateur de mplab?

  17. #16
    seb8429

    Re : Pic 16F1826, problème de prog

    je n'ai pas réussi à simuler le programme avec mplab, j'ai essayé les "stimulus" sur les portA mais sans succès, je n'ai pas réussi à les actionner comme il faut je pense.

  18. #17
    guillaume83

    Re : Pic 16F1826, problème de prog

    pour les stimulis , il faut utiliser les asynchrones, sélectionner la pin à actionner et l' action à effectuer (j' aime bien toggle) puis appuyer sur le carré grisé le plus à gauche de la ligne (fire). tu pourras voir les changement seulement si tu est en pause ou arrété à un breakpoint.

    ma méthode (pas parfaite) :
    - j 'ouvre une fenétre watch et rentre les variables que je veu surveiller(ici pas de variables)
    - j'ouvre la fenetre special fonction registrer
    -je met un break point une ou deux instruction avant la zonne qui m 'interesse(sur le while par ex)
    -arrivé au break point je valide le stimulis(fire)
    -je fais du pas à pas pour vérifier l'état des variables et des registres (ici porta lata portb latb)

  19. #18
    seb8429

    Re : Pic 16F1826, problème de prog

    J'ai l'impression qu'en stimulis, la simulation marche...

    Nom : stimilus.png
Affichages : 148
Taille : 103,6 Ko

  20. #19
    guillaume83

    Re : Pic 16F1826, problème de prog

    OUI ca à l'aire de bien fonctionner.
    Pour ra2 à 0 , b0 et b1 sont bien à zero?
    tu peux voir aussi que portB( 0x01) est différent de latB( 0x03).
    Bien vue aussi le else, maintenant ca devrai marcher en vrai.
    @+

  21. #20
    seb8429

    Re : Pic 16F1826, problème de prog

    OUI!! Ca marche!! j'avais pas pu injecter le programme avant je viens à peine de m'en rendre compte!!

    Je pense que j'avais du faire une erreur de syntaxe hier, car je ne comprends pas pourquoi hier ça ne marchait pas du coup...

    Enfin bref! Première partie du problème résolue!!

    Merci à tous!!

  22. #21
    seb8429

    Re : Pic 16F1826, problème de prog

    Petite question tout de même,

    est-ce possible d'améliorer la vitesse, je m'explique, lorsque mon entrée n'est plus = à 1, le µP met un peu de plus de 1 seconde à réagir et à me permuter les sorties à 0.

    J'ai essayé en mettant l'horloge au max, mais je n'ai pas vu de grandes différences...

    quelqu'un aurait une idée?

  23. #22
    guillaume83

    Re : Pic 16F1826, problème de prog

    Dans le simulateur ou en réalitée?

  24. #23
    seb8429

    Re : Pic 16F1826, problème de prog

    Citation Envoyé par guillaume83 Voir le message
    Dans le simulateur ou en réalitée?
    En réalité directement sur mon montage,
    car en fait le but de mon prototype, c'est d'actionner une entrée du pic avec un module sans fil, quand je vais appuyer sur la télécommande, ça me donnera un état haut sur le pic, du coup mon petit algorithme actionnera le ou les sorties par contre dès que je lache le bouton de la télécommande il faudrait également que les sorties se coupent... du coup ce décallage d'environ 1 à 2 seconde est assez génant... si quelqu'un à une idée? Je vais essayé de regarder le PORTA ou LATA plutôt que passer par RA2.

  25. #24
    RISC

    Re : Pic 16F1826, problème de prog

    Salut,

    Avec la valeur que tu as mise dans INTOSC, ton PIC tourne pour l'instant à Fosc = 500kHz, c'est à dire Fcycle = 125kHz ;=) (il pourrait tourner à Fosc = 32MHz)
    Tu n'as programmé aucun bit de configuration. Jette un oeil au chapitre 4 (device configuration).

    a+
    Dernière modification par RISC ; 02/09/2012 à 21h50.

  26. #25
    seb8429

    Re : Pic 16F1826, problème de prog

    Salut Risc, il me semblait qu'en configurant comme ceci, j'étais à 32MHz, mais je ne vois pas de grandes différences toujours un temps de réaction de 2sec voir +...

    OSCCON=0b11110010; //oscillateur interne on
    OSCTUNE=0b00011111;

  27. #26
    RISC

    Re : Pic 16F1826, problème de prog

    Salut,

    Rien ne sert de se précipiter...
    Oublie OSCTUNE et lit le chapitre 5 (particulièrment 5.2.2.6)
    Peux-tu faire voir ton schéma électronique ?
    Quel programmateur utilises-tu ?

    a+

  28. #27
    seb8429

    Re : Pic 16F1826, problème de prog

    Pour l'instant je n'ai pas de schéma électronique à proprement parlé, j'utilise le pic une fois programmé sur une plaque de test avec des fils volant et autres.
    J'envoie simplement le 5V sur RA2, et regarde l'état des sorties, ce qui est drôle c'est que la détection du 5V et l'activation des sorties est casi instantanée par contre dès que je retire le 5V, les sorties basculent après 2 ou 3 secondes...

    Je viens de retirer osctune de mon programme mais rien ne change...

    Pour ce qui est de mon programmateur j'utilise un PIC KIT 3

  29. #28
    RISC

    Re : Pic 16F1826, problème de prog

    Salut,

    Je te recommande de faire un circuit "sérieux" sans quoi tu vas avoir plein de PB aléatoires.
    Exemple : je suppose que ta broche RA2 est en l'air (sans résistance de pull-up). Donc quand tu "débranches" ton fil du 5V cette broche est en l'air.
    N'importe quel niveau peut être vu par le micro.
    Mets un interrupteur à la masse et une résistance de pull-up.

    D'autre part je te recommande de cabler l'interface ICSP sur ta plaque à trous comme cela tu pourras programmer ton PIC sans le bouget.

    a+

  30. #29
    seb8429

    Re : Pic 16F1826, problème de prog

    Risc, tu es un génie! C'est exactement cet état de haute impédance qui me posait des problèmes!
    je t'embête encore, aurais-tu par hasard un schéma de câblage pour programmer le pic directement sur la plaque comme tu dis.

    Citation Envoyé par RISC Voir le message
    Salut,

    Je te recommande de faire un circuit "sérieux" sans quoi tu vas avoir plein de PB aléatoires.
    Exemple : je suppose que ta broche RA2 est en l'air (sans résistance de pull-up). Donc quand tu "débranches" ton fil du 5V cette broche est en l'air.
    N'importe quel niveau peut être vu par le micro.
    Mets un interrupteur à la masse et une résistance de pull-up.

    D'autre part je te recommande de cabler l'interface ICSP sur ta plaque à trous comme cela tu pourras programmer ton PIC sans le bouget.

    a+

  31. #30
    invite03481543

    Re : Pic 16F1826, problème de prog

    Bonsoir,

    si tu veux tourner à 32MHz tu dois activer la PLL;

    Dans l'ordre tu dois:

    1/utiliser INTOSC (voir bit de config)
    2/déclarer IRCF<3:0> dans le rergistre OSCCON et y mettre 11103/mettre à 1 SPPLLEN dans OSCCON.

    @+

    Edit: j'arrive trop tard mais cela dit 32MHZ avec des fils volants ça craint...

    En faisant une petite recherche sur le site de Microchip tu trouveras sans difficulté le plan de câblage de l'ICSP.
    Dernière modification par HULK28 ; 02/09/2012 à 22h26.

Page 1 sur 3 12 DernièreDernière

Discussions similaires

  1. Prog PIC
    Par inviteae80ca6f dans le forum Électronique
    Réponses: 6
    Dernier message: 17/03/2011, 08h00
  2. Ic-prog + pic 16f84a .
    Par marc.suisse dans le forum Électronique
    Réponses: 42
    Dernier message: 01/06/2009, 09h29
  3. prog pic usb
    Par coeur noire dans le forum Électronique
    Réponses: 7
    Dernier message: 03/04/2009, 10h00
  4. PIC récéption HF problème... prog en C
    Par Shaiton dans le forum Électronique
    Réponses: 19
    Dernier message: 17/02/2007, 15h57
  5. Problème prog. PIC
    Par invite9013ee57 dans le forum Électronique
    Réponses: 2
    Dernier message: 22/01/2007, 12h29
Découvrez nos comparatifs produits sur l'informatique et les technologies.