Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Ecrire sur une entrée



  1. #1
    Gérard

    Ecrire sur une entrée

    Bonjour,
    Le port B de mon PIC comporte 7 sorties (0 --> 6) et une entrée (7).
    Quand je désire écrire B0 à B6, comment faire pour que B7 ne soit pas affecté ?
    Ex, je veux écrire 100 1111, si j'écris
    movlw 1001111b
    movwf portB
    Est-ce cohérent ?
    Que devient le bit 7 ?
    Merci d'éclairer ma lanterne.
    Gérard.

    -----


  2. Publicité
  3. #2
    Jack

    Re : Ecrire sur une entrée

    il faut utiliser des masques:

    il faut lire le port b, faire un 'ET' avec 10000000b pour mettre les 6 bits de poids faible à 0 sans affecter le bit 7, puis faire un 'OU' avec 01001111b.

    A+

  4. #3
    Gérard

    Re : Ecrire sur une entrée

    Merci de ta réponse, mais je ne comprends pas bien.
    Ma question est : que se passe-t-il quand on écrit sur une entrée ? (B7 dans mon exemple).
    Gérard.

  5. #4
    Jack

    Re : Ecrire sur une entrée

    comment faire pour que B7 ne soit pas affecté ?
    Ma réponse correspondait à cette question.

    Je comprends maintenant ce que tu demandais.

    En fait, ça ne pose aucun problème d'envoyer une donnée sur un port lorsque celui-ci est en entrée.

    Ecrire dans un port correspond réellement à écrire dans un registre.

    Si un bit du registre de direction de donnée positionne la pin correspondante en sortie, alors cette sortie reflètera l'état du bit correspondant du registre deonnées.

    Si la pin est en entrée, alors il ne peut y avoir de conflit puisque le bit du registre de données n'est plus en relation avec la patte correxpondante.

    A+

  6. #5
    Gérard

    Re : Ecrire sur une entrée

    OK pour l'écriture sur une entrée.
    Et quand je vais lire cette entrée juste après l'écriture, est-ce-que c'est la pin qui est lue ou le registre écrit précédemment ?
    Merci de ta patience,
    Gérard.

  7. A voir en vidéo sur Futura
  8. #6
    Yannux

    Re : Ecrire sur une entrée

    Salut Gérard,

    Quand tu liras ton entrée, c'est l'état de la pin qui sera lu. En effet, quand ta pin est configurée en entrée, les données lues sont celles de l'état des pins.

    Lorsque la pin est configurée en sortie, la donnée est d'abord envoyée sur une bascule D, qui la recopie en sortie uniquement si trisa = 0. Si jamais tu envois une donnée en sortie alors que la pin est configurée en entrée, la donnée envoyée ira en entrée de la bascule D, mais ne sera pas recopiée sur la sortie (qui correspond à la pin).

    Dans le datasheet, tu peux voir comment est fait le schéma des ports d'E/S du PIC, ça donne idée de ce qui se produit.

    Voilà, j'espère ne pas avoir dit trop de bêtises,

    Cordialement,

    Yann.

  9. Publicité
  10. #7
    Jack

    Re : Ecrire sur une entrée

    Merci de ta patience
    il n'y a pas de quoi
    Puisque tu es plutôt branché PIC, je te sors un extrait de la doc d'un 16F84A:

    "Reading the PORTA register reads the status of the pins
    whereas writing to it will write to the port latch".

    En clair et en Français, une lecture est le reflet de l'état de la patte, alors qu'une écriture se fait dans la bascule (le latch).
    Le schéma de la doc est assez explicite.

    A+

  11. #8
    Gérard

    Re : Ecrire sur une entrée

    Merci à tous les 2.
    Les datasheets c'est bien, mais ma maitrise de l'anglais laisse un peu à désirer, je comprends l'essentiel mais les détails m'échappent.
    Encore merci.
    Gérard.

Sur le même thème :

Discussions similaires

  1. ecrire une equation chimique
    Par maech dans le forum Chimie
    Réponses: 2
    Dernier message: 19/09/2007, 19h01
  2. Écrire une lettre à Wegener
    Par audrey31 dans le forum Géologie et Catastrophes naturelles
    Réponses: 5
    Dernier message: 28/03/2007, 14h53
  3. pic passer d' entrée en sortie sur une pin
    Par alainav1 dans le forum Électronique
    Réponses: 5
    Dernier message: 06/11/2006, 10h24
  4. Ecrire dans une EEPROM 24C16
    Par JCS dans le forum Électronique
    Réponses: 2
    Dernier message: 18/04/2006, 15h18
  5. Ecrire une équation différentielle connaissant sa solution générale
    Par Bleyblue dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 06/05/2005, 08h35