Problème de programmation en C
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Problème de programmation en C



  1. #1
    invitedf89d6af

    Problème de programmation en C


    ------

    Bonjour à tous,

    Dans le cadre d'un exercice, j'utilise un kit Infineon 515C-L sur le programme keil.

    Je ne sais pas comment faire pour changer l'état de un seul bit sans toucher aux autres.
    Je sais que sur AVR Studio 4 par exemple: ça se note " PORTB &=~ (1 << PB1) " ce qui met le bit 1 du port B à 0 sans changer l'état des autres bits de ce port.

    Est-ce que quelqu'un sait comment retranscrire cette fonction sur keil si j'utilise le Port 4 ?????

    Merci d'avance

    -----

  2. #2
    invitedf89d6af

    Re : Problème de programmation en C

    Je précise que le programme est " keil uVision 4"

  3. #3
    remy01

    Re : Problème de programmation en C

    Salut,
    avec un ET
    PORTB = PORTB & 0xEF; // mise à zéro bit 4
    A+ ....Rémy.

  4. #4
    invitedf89d6af

    Re : Problème de programmation en C

    Mais ce que j'aimerais savoir, c'est si il existe un façon de coder pour que j'aille seulement un seul bit qui change de l'état 1 ou de l'état 0.

    par exemple, si j'ai un port de 8 bits ( un clock sur le bit 0 et une entrée quelconque sur le bit 1) --> je veux que le bit 0 passe de 1 à 0 périodiquement sans que mon entrée ne change.

    A+

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

    Re : Problème de programmation en C

    Tu fais alors un OU EXCLUSIF :
    PORTB = PORTB ^ 0x01 ; // seul le bit zéro change de valeur.
    A+ ....Rémy.

  7. #6
    invite5637435c

    Re : Problème de programmation en C

    Bonjour,

    oui il faut faire un masque.

    Pour cela tu fais un OU EXCLUSIF avec le bit que tu veux changer.

    Par exemple tu as 10001000 et tu veux changer uniquement le bit 0 que tu veux passer à 1.

    10001000 ^ 1 = 10001001

    PS : je suis arrivé trop tard... je conseille à exkizit194 de suivre mon exposé sur le C (C PARTY) cette partie va être très prochainement abordée

  8. #7
    invite29971eb1

    Re : Problème de programmation en C

    Citation Envoyé par Exkizit194 Voir le message
    Mais ce que j'aimerais savoir, c'est si il existe un façon de coder pour que j'aille seulement un seul bit qui change de l'état 1 ou de l'état 0.

    par exemple, si j'ai un port de 8 bits ( un clock sur le bit 0 et une entrée quelconque sur le bit 1) --> je veux que le bit 0 passe de 1 à 0 périodiquement sans que mon entrée ne change.
    Regarde ce que tu écrivais sur AVR et comprends cette ligne, tu verras qu'il n'y a qu'à faire la même chose sur ton Infineon. Parfois, voire même tout le temps, il est plus utile de comprendre ce que l'on écrit que de recopier bêtement.

    Ici, tu es dans un cas typique de read-modify-write, c'est même expliqué dans la doc de ta carte. Pour les noms des registres, il faut aller fouiller dans la datasheet du micro.

  9. #8
    invitedf89d6af

    Re : Problème de programmation en C

    Je n'arrive à rien... tant pi

    Je vais opter pour la programmation sur un ATMEGA8 et le programme AVR studio 4. Comme ça, ma formule sera utilisable.

    Merci quand meme

    A+

  10. #9
    invite5637435c

    Re : Problème de programmation en C

    Je ne vois pas bien ce que ça va changer sur un ATMEGA, un masque reste un masque quelque soit le µC...

Discussions similaires

  1. Problème programmation
    Par invite280b64f7 dans le forum Électronique
    Réponses: 10
    Dernier message: 19/07/2012, 13h25
  2. problème de programmation
    Par invitec93fa417 dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 12/12/2010, 09h36
  3. probleme programmation C
    Par invitebceb089b dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 13/11/2010, 13h17
  4. Probleme de Programmation CN
    Par invitec07cc70f dans le forum Technologies
    Réponses: 2
    Dernier message: 10/02/2007, 16h54
  5. probleme de programmation
    Par invitefbbbadb6 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 01/10/2006, 16h28
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...