[Programmation] configuration timer AVR
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

configuration timer AVR



  1. #1
    flyingrock

    configuration timer AVR


    ------

    Bonsoir,

    Pouvez-vous m'expliquer cette ligne, surtout (1<<CS10), je ne comprends pas cette notion de décalage vers la gauche.
    Pour moi il s'agit tout simplement de mettre le bit 1(CS10) du registre TCCR1B à 1, pourquoi ne pas écrire TCCR1.b1=1 ?

    Code:
    TCCR1B |= (1<<CS10); //Set Timer Clock without prescaler
    https://www.electronicsblog.net//wp-...ads/timer0.png

    Merci.

    Francis.

    -----

  2. #2
    Seb.26

    Re : configuration timer AVR

    C'est en effet l'idée, mais ça évite les erreurs ... par exemple : ton exemple (TCCR1.b1=1) ne mets pas le bon bit à 1 ... ... erreur d’inattention tu vas me dire ... comme 90% des bugs ...

    Mais c'est une notation un peu obscure à mon gout ... un bon vieux "#define CS10 TCCR1.b0" me plait plus ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  3. #3
    flyingrock

    Re : configuration timer AVR

    ... erreur d’inattention tu vas me dire ... comme 90% des bugs ...
    Pourtant je me suis relu

    Donc c'était bien ça, merci.

    Francis.

  4. #4
    Seb.26

    Re : configuration timer AVR



    D'ailleurs, avec leur notation, on aide pas le compilo à savoir que l'on souhaite adresser un seul bit, un compilo "idiot" pourrait (sans qu'on lui en veuille) lire les 8b de TCCR1, faire le OU puis ré-écrire les 8b de TCCR1 ...

    Je ne vois pas en quoi cette notation est intéressante comparée à un #define du bit ... si quelqu'un a un avis ??!
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

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

    Re : configuration timer AVR

    Citation Envoyé par Seb.26 Voir le message
    Je ne vois pas en quoi cette notation est intéressante comparée à un #define du bit ... si quelqu'un a un avis ??!
    Pour modifier plusieurs bits à la fois en un coup.

  7. #6
    Seb.26

    Re : configuration timer AVR

    je pensais à quand il n'y a qu'un seul bit comme dans l'exemple ...
    << L'histoire nous apprend que l'on apprend rien de l'histoire. >>

  8. #7
    bobflux

    Re : configuration timer AVR

    En fait, si je vérifie l'exemple, je me rends compte qu'il est faux, puisque les bits 0 à 2 contrôlent la source d'horloge. Si on ne change que le bit 0, on ne sait pas ce que valent les autres.

    Il faudrait écrire:

    Code:
    TCCR1B = (TCCR1B & ~7) | 1;
    Lors d'une init, le plus simple est encore d'initialiser le registre en entier: ça prend moins de code et au moins on est sûr de la valeur sans avoir à relire les defaults dans la datasheet.

    La syntaxe suivante est plus lisible si on a plusieurs bits :
    Code:
    TCCR1B = 1  // Bit 0..2 : clock source = clkIO / no prescaler
              | (1<<7)   // ICCR si on le veut par exemple
    Sinon, en define, si on veut couper les cheveux en 8 et rentrer des tonnes de define

    Code:
    TCCR1B = (TCCR1B & ~TCCR1B_CCSMASK) | TCCR1B_CS_NO_PRESCALE;

  9. #8
    flyingrock

    Re : configuration timer AVR

    Bonjour,

    En fait, si je vérifie l'exemple, je me rends compte qu'il est faux, puisque les bits 0 à 2 contrôlent la source d'horloge. Si on ne change que le bit 0, on ne sait pas ce que valent les autres.
    Probablement qu' à la mise sous tension ces 3 bits sont à 0 par défaut.

    @+

Discussions similaires

  1. Priorité entre configuration R et configuration S
    Par invited7ff0b95 dans le forum Chimie
    Réponses: 2
    Dernier message: 02/10/2014, 20h52
  2. Configuration du Timer 1 du 16F877
    Par inviteda9370fc dans le forum Électronique
    Réponses: 3
    Dernier message: 20/10/2013, 18h14
  3. Réponses: 14
    Dernier message: 06/10/2013, 18h11
  4. Programmation en C avec Timer 0 et Timer 1
    Par invite6844fe5f dans le forum Électronique
    Réponses: 43
    Dernier message: 20/04/2010, 14h27
  5. [Pic18F2620]Configuration du Timer
    Par invitef0dd4a99 dans le forum Électronique
    Réponses: 0
    Dernier message: 03/05/2005, 20h00
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...