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

syntaxe C arduino



  1. #1
    cubitus_54

    syntaxe C arduino


    ------

    Bonjour,

    J'ai un doute sur l’interprétation du SI de ces quelques lignes :

    Code:
    {
    uchar temp;
    
    temp = Read_MFRC522(TxControlReg);
    if (!(temp & 0x03))
    {
    SetBitMask(TxControlReg, 0x03);
    }
    }
    Si (NON (temp ET 0x03)) = 1
    alors SetBitMask(TxControlReg, 0x03);
    Finsi

    Est que mon interprétation est OK ?

    Merci

    -----

  2. Publicité
  3. #2
    Yoruk

    Re : syntaxe C arduino

    Euhhh.... Oui je pense.
    La robotique, c'est fantastique !

  4. #3
    dagrub

    Re : syntaxe C arduino

    Oui sauf que le & est un opérateur ET bit à bit !

  5. #4
    cubitus_54

    Re : syntaxe C arduino

    OK merci pour la confirmation

  6. #5
    AiMaxTht

    Re : syntaxe C arduino

    Lorsque l'on veut tester une opération ET logique sur une variable, cela équivaut à vérifier si l'un des bits ou tous les bits requis sont actifs. Il faut toujours résonner bit par bit:
    - BIT0 (1) et BIT1 (2) => 0x03.
    - BIT0 (1) et BIT2 (4) => 0x05.
    - BIT0 (1), BIT2 (4) et BIT3 (8) => 0x0D ... etc ...

    if((Variable & 0x05) == 0) => si le BIT0 et le BIT2 ne sont pas actif.
    if((Variable & 0x05) != 0) => si le BIT0 ou le BIT2 est actif.
    if((Variable & 0x05) == 0x01) => si le BIT0 est actif.
    if((Variable & 0x05) == 0x04) => si le BIT2 est actif.
    if((Variable & 0x05) == 0x05) => si le BIT0 et le BIT2 sont actif.

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

    Re : syntaxe C arduino

    Pour la condition j'ai bien compris l'explication.

    j'ai encore un tout petit doute sur le "alors", "sinon"

    if (!(temp & 0x03))
    {
    SetBitMask(TxControlReg, 0x03);
    }


    Comment serait écrit

    Alors
    sinon
    finsi

    sinon
    finsi (si ca existe)

  9. Publicité
  10. #7
    dagrub

    Re : syntaxe C arduino

    bhé le alors, c'est ce qui est entre { } dans l'exemple que tu site. Le sinon, c'est ELSE suivi d'une instruction ou d'un bloc d'instruction entre {}. ex :

    if (!(temp & 0x03)) // Condition
    {
    SetBitMask(TxControlReg, 0x03); // code a executer si la condition est remplie (Alors)
    }
    else // sinon
    {
    ... // code a executer si la condition n'est pas remplie
    }

    la fin est implicite. Note que les { } ne sont pas obligatoire si tu as une seule instruction a executer :

    if (!(temp & 0x03)) // Condition
    SetBitMask(TxControlReg, 0x03);
    else
    printf("refusé");

  11. #8
    AiMaxTht

    Re : syntaxe C arduino

    Dans ARDUINO ou plus généralement, il n'y a que SI (if) et SINON (else).
    Il existe plusieurs niveaux de langage de programmation. La plus basse correspond au niveau du microprocesseur utilisé et la plus haute au langage humain. Pour ce dernier niveau, on peut incorporer les ALORS et FINSI (...), le langage est libre tant que quelqu'un qui n'y connait rien comprend. Au niveau du langage de programmation (ARDUINO, C++, BASIC...) on les remplace car ce niveau de langage s'adresse à un publique connaisseur. Dans notre cas, une paire d'accolades remplace ces mots. Attention, si vous ouvrez une accolade, il faut aussi la fermer comme les crochets et les parenthèses.
    On pourrait aussi remplacer le point-virgule par FIN D'OPERATION.

  12. #9
    cubitus_54

    Re : syntaxe C arduino

    OK

    Merci à vous pour toutes ces précisions

Sur le même thème :

Discussions similaires

  1. Arduino anti rebond avec arduino
    Par sari12 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/10/2014, 17h04
  2. Communication arduino-arduino avec module Xbee
    Par TPESI22012 dans le forum Électronique
    Réponses: 2
    Dernier message: 23/12/2013, 17h24
  3. Syntaxe particulière en C
    Par Dlzlogic dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 13/03/2013, 14h40
  4. Syntaxe scicoslab
    Par takezo_s dans le forum Programmation et langages, Algorithmique
    Réponses: 2
    Dernier message: 13/04/2012, 13h37
  5. Syntaxe
    Par brunop dans le forum Chimie
    Réponses: 1
    Dernier message: 17/01/2006, 15h33