IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Embarqué Discussion :

Valeur d'un registre


Sujet :

Embarqué

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Avril 2011
    Messages : 16
    Points : 13
    Points
    13
    Par défaut Valeur d'un registre
    Bonjour,

    Je commence à programmer sur un stm32. Quand je veut mettre un bit du registre à 1, j'effectue l'opération suivante : un ou exclusif entre le registre apb2ebr, et le numéro de bit.

    Mais quelle est la valeur du registre apb2enr lors de cette opération ?

    RCC->APB2ENR|= (1<<4);

    Merci

  2. #2
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    |= c'est un 'ou'
    ^= c'est un 'ou exclusif'

    Première réponse (RTFM) : va voir la datasheet !!
    Par exemple :
    APB2 peripheral clock enable register (RCC_APB2ENR)
    Address: 0x18
    Reset value: 0x0000 0000
    Access: word, half-word and byte access
    Bon maintenant, un peu moins sanguin.

    Il est important de se référer à la datasheet du µ, car le comportement d'un registre ne va pas être standard. Certains ont une valeur déterminée après un reset (apparemment c'est le cas du tien) : à 0 ou à autre chose. D'autres registres ont une valeur indéterminée après un reset. Il faut alors lors de la première écriture initialiser tout ce qui doit l'être (on fait un = et non pas un |=). Certains registre ne sont qu'en écriture et donc les lire n'a pas de sens. Certains registres peuvent être influencés par ce qu'on écrit dans d'autres registres ou par l'état du micro (par exemple celui contenant la cause du reset), etc...

    Lorsqu'on travaille directement sur le µ, il est indispensable de consulter régulièrement la datasheet et si besoin les applications notes.

Discussions similaires

  1. Modification valeur Base de Registres
    Par Br21_b dans le forum VBScript
    Réponses: 1
    Dernier message: 05/01/2009, 14h23
  2. Lire et créer une valeur dans le registre
    Par bilal_inf dans le forum Langage
    Réponses: 3
    Dernier message: 11/05/2007, 18h11
  3. problème d'entré de valeur dans le registre
    Par fabandskate dans le forum VB.NET
    Réponses: 4
    Dernier message: 25/04/2007, 23h37
  4. Réponses: 5
    Dernier message: 03/10/2005, 18h01
  5. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo