MPLAB - probleme avec mes ports
Répondre à la discussion
Affichage des résultats 1 à 10 sur 10

MPLAB - probleme avec mes ports



  1. #1
    Mendoza

    MPLAB - probleme avec mes ports


    ------

    bonjour,

    je suis en train de suivre les cours de bigonoff sur les pic...
    j'en suis aux interruption sur 16f84...

    j'essaye de faire le telerupteur a led (changer l'etat de la led sur appui de BP)
    pas de probleme particulier ...

    ma question concerne la simulation sous mplab (MPLAB SIM)

    en fait quand j'agit sur mes ports pendant le programme, rien ne se passe dans la fenetre special function registers ou je visualise porta et portb ... j'ai essayé plusieurs intructions (par bit, movf, com, clrf ) rien ne bouge !!
    par contre quand je crée un stimulus, là aucun probleme, je vois bien l'etat des ports bouger ...


    par exemple, si je fais un stimulus juste avant la modification des ports (je mets qques bits du porta et b à 1) , j'observe bien les changements (les bits mis a 1) , je lance le programme (pas a pas) et je fais simplement clrf PORTA... et rien n'est modifié dans la fenetre de visualisation des registres (les bits restent a 1)

    ps je precise que j'ai verifié que j'etais dans la bonne bank ...


    qqun aurait il une idée sur le probleme ??

    j'ai cherché sur le net en vain ...

    merci

    -----
    Dernière modification par Mendoza ; 05/12/2005 à 16h44.

  2. #2
    romelec

    Re : MPLAB - probleme avec mes ports

    Bonsoir,

    En modifiant directement dans la fenetre SFR ca donne quoi ?
    Le port est bien configuré en sortie ?
    Car en principe les stimulus on les met sur des entrées... et sils fonctionnent c'est qu'il est surement en entrée justement.

    @++.

  3. #3
    Mendoza

    Re : MPLAB - probleme avec mes ports

    Citation Envoyé par romelec
    Bonsoir,
    En modifiant directement dans la fenetre SFR ca donne quoi ?
    salut, non je n'arrivais pas a changer quelconque bit...



    Citation Envoyé par romelec
    Le port est bien configuré en sortie ?

    euh oui en effet ...
    y'a une ligne qui a sauté dans le lot ....

    mais y'a un truc qui m'echappe quand meme...

    au reset du pic, toutes les pins du pic sont mises en entrees ...
    ce que j'ai pu constater, c'est que le clrf PORTx(a ou b) n'agit que si le port est configuré en sortie ...
    dans ce cas là, a quoi peut bien servir de faire un clrf PORTx a l'init, alors que ces port sont en entrees et que le clrf n'agit donc pas

    merci

    @++

  4. #4
    Mendoza

    Re : MPLAB - probleme avec mes ports

    alors voilà, je m'explique...

    selon Bigonoff:
    en initialisation, on efface les valeurs de Ports A et B avec clrf PORTx
    cela permet lorsque l'on mettra eventuellement une pin en sortie que celle ci n'envoie rien ...( en tout cas pas 5V)
    ok pour le principe ...

    le probleme, c'est qu'à l'init, donc juste apres le reset, les PORTx sont en entrée par defaut... et apparement le clrf PORTx ne semble pas fonctionner sur les pins en entrees ...

    je viens de tester: je mets des pins de PORTA configurées en sortie au niveau haut ... je fait un reset, les ports sont donc reconfigurés par defaut en entrees (et les pins au niveau haut avant le reset le sont toujours) , j'arrive a l'init, je fais un clrf des PORTx, mais les ports configurés en entrees ne sont pas affectés par cette instruction... et je me retrouve avec le registre PORTA avec des bits a 1...

    pour l'instant je n'ai pas de pic ni programmeur, donc je ne peux pas tester en reel , mais est ce un probleme d'affichage du MPLAB ? est ce que reellement ces inits de PORTx ne servent a rien ? est ce que j'ai zappé un truc ??

    merci de votre aide

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

    Re : MPLAB - probleme avec mes ports

    salut,

    en fait il y a 2 registres PORTA (ou autre): un pour la lecture et un pour l'écriture.
    Donc quand on lit on va lire dans un premier registre, l'état des pattes (toutes les pattes).
    Et quand on écrit dans l'autre registre on va modifier les niveaux des pattes configurées en sorties.
    Bien entendu cette gestion des 2 registres est effectué par le PIC et c'est entièrement transparent pour nous.

    Finalement, le clrf PORTx met bien toutes les sorties à 0. (on pourrait bien sur mettre une autre valeur avec un movlw + movwf, comme j'ai déjà eu à faire je crois)

    PS: j'espère que je n'ai pas dit de bétises... ca a l'air d'être bon mais j'ai comme un doute

    PS2: c'est super ce nouveau mode d'édition !

  7. #6
    Mendoza

    Re : MPLAB - probleme avec mes ports

    salut,

    merci pour ta reponse, meme si elle me convainc pas

    en fait, je n'ai pas de pic, je travaille actuellement uniquement sur MPLAB...bref

    je crois que c'est un bug d'affichage ...
    en fait quand je fait clrf portx, j'ai bien le flag Z qui se met a 1, ce qui veut donc dire que les ports ont bien ete remis a zero, meme si visuellement, dans le "SFR" j'ai des bits de ports qui restent a 1 ...

    a moins que cet affichage soit normal et dans ce cas là , un specialiste est invité à expliquer le pourquoi du comment

    merci de t'etre penché sur mon probleme

    @++

  8. #7
    Mendoza

    Re : MPLAB - probleme avec mes ports

    bon ok, c'est bon ...

    en fait j'avais fait un mauvais copié collé, et en fait j'agissais sur portb au lieu de porta ...

    donc je viens de retester le prgramme et effectivement, en faisant un clrf PORTx en initialisation, au moment meme ou dans le programme on decide de mettre une pin en sortie, celle ci se met automatiquement à zero ...

    et tout s'eclaire ....

  9. #8
    abracadabra75

    Re : MPLAB - probleme avec mes ports

    Salut.
    Rassure-toi: erreur classique de programmation, surtout en assembleur: on pense 'X' et on écrit 'Y'.
    Et bonjour l' analyse...
    Il n'y a que dans le dictionnaire où 'réussite' vient avant 'travail'.

  10. #9
    romelec

    Re : MPLAB - probleme avec mes ports

    salut,

    les fameuses inversions... relais K4 connecté sur la sortie 5, et K5 sur la 1. pour commander K5 on met la sortie 5 à 1 ... et 2h de perdues !!

    pour les ports, je vais tenter une autre explication (cf.image):
    • Quand on lit sur un port, le µC va lire le Data bus ... en activant le bit RDport ... donc la valeur lue sera l'état de la patte, qu'elle soit en entrée ou en sortie.
    • Quand on écrit sur un port, le µC va forcer la valeur du Data bus ... et en activant le bit WRport cette valeur va se retrouver en sortie (donc la lecture d'une patte configurée en sortie, court-circuitée vers la masse donnera toujours 0, même si on a écrit 1 dans le port)

    Je suis sur que c'est encore moins clair...
    Images attachées Images attachées  

  11. #10
    Mendoza

    Re : MPLAB - probleme avec mes ports

    Citation Envoyé par romelec
    Je suis sur que c'est encore moins clair...
    salut,

    ah ben si , c'est tres clair merci

Discussions similaires

  1. Problème avec l'installation de mes Ram
    Par Sleipnir1984 dans le forum Matériel - Hardware
    Réponses: 8
    Dernier message: 04/12/2007, 20h21
  2. Un de mes ports USB ne reconnait plus ma souris !
    Par invite191f8f85 dans le forum Matériel - Hardware
    Réponses: 7
    Dernier message: 29/11/2007, 12h03
  3. Problème avec MPlab et Hitech PICC18
    Par invite36ee2dcb dans le forum Électronique
    Réponses: 3
    Dernier message: 07/03/2007, 20h15
  4. problèmes avec mes ports USB
    Par inviteae72c16f dans le forum Matériel - Hardware
    Réponses: 2
    Dernier message: 26/01/2007, 19h43
  5. Problème avec ports usb
    Par invite3b6bf497 dans le forum Matériel - Hardware
    Réponses: 5
    Dernier message: 17/09/2006, 21h03
Découvrez nos comparatifs produits sur l'informatique et les technologies.