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

Arduino Discussion :

[Teensy 3.2] Emission réception 433 Mhz


Sujet :

Arduino

  1. #1
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut [Teensy 3.2] Emission réception 433 Mhz
    Bonjour,

    Je cherche a programmer un teensy 3.2 avec 2 antennes RF1100SE afin de pouvoir émettre et recevoir un code. J'ai pour cela utilisé le code de la librairie RCSwitch.

    Emission:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    /*
      Example for different sending methods
      
      http://code.google.com/p/rc-switch/
      
    */
     
    #include <RCSwitch.h>
     
    RCSwitch mySwitch = RCSwitch();
     
    void setup() {
     
      Serial.begin(9600);
     
      // Transmitter is connected to Arduino Pin #10  
      mySwitch.enableTransmit(11);
     
      // Optional set pulse length.
      // mySwitch.setPulseLength(320);
     
      // Optional set protocol (default is 1, will work for most outlets)
      // mySwitch.setProtocol(2);
     
      // Optional set number of transmission repetitions.
      // mySwitch.setRepeatTransmit(15);
     
    }
     
    void loop() {
     
      /* See Example: TypeA_WithDIPSwitches */
      mySwitch.switchOn("11111", "00010");
      delay(1000);
      mySwitch.switchOn("11111", "00010");
      delay(1000);
     
      /* Same switch as above, but using decimal code */
      mySwitch.send(5393, 24);
      delay(1000);  
      mySwitch.send(5396, 24);
      delay(1000);  
     
      /* Same switch as above, but using binary code */
      mySwitch.send("000000000001010100010001");
      delay(1000);  
      mySwitch.send("000000000001010100010100");
      delay(1000);
     
      /* Same switch as above, but tri-state code */ 
      mySwitch.sendTriState("00000FFF0F0F");
      delay(1000);  
      mySwitch.sendTriState("00000FFF0FF0");
      delay(1000);
     
      delay(20000);
    }
    Réception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    /*
      Simple example for receiving
      
      http://code.google.com/p/rc-switch/
    */
     
    #include <RCSwitch.h>
     
    RCSwitch mySwitch = RCSwitch();
     
    void setup() {
      Serial.begin(9600);
      mySwitch.enableReceive(0);  // Receiver on inerrupt 0 => that is pin #2
    }
     
    void loop() {
      if (mySwitch.available()) {
     
        int value = mySwitch.getReceivedValue();
     
        if (value == 0) {
          Serial.print("Unknown encoding");
        } else {
          Serial.print("Received ");
          Serial.print( mySwitch.getReceivedValue() );
          Serial.print(" / ");
          Serial.print( mySwitch.getReceivedBitlength() );
          Serial.print("bit ");
          Serial.print("Protocol: ");
          Serial.println( mySwitch.getReceivedProtocol() );
        }
     
        mySwitch.resetAvailable();
      }
    }
    Quand je mets le code de l'émission et que je relie le pin 11 du teensy 3.2 sur l'entrée en ligne du PC, je vois bien la séquence dans Audacity.

    Par contre, quand je mets le code de la réception, que je relie le pin 12 au PC et que j'envoie le code de la télécommande, il n'y a rien.

    Le code de réception précise le pin 2 d'un Arduino Uno. Est-ce que je me trompe de pin sur le Teensy (pin 12 = DIN) ou bien fais-je une autre erreur ?

    Merci de m'aider.

  2. #2
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    En continuant mes recherches, je suis tombé sur ceci: http://forum.snootlab.com/viewtopic.php?f=46&t=820

    Il fait exactement ce que je fait. Mais, je suis en train de me dire que ce n'est pas le code qui pose problème mais l'antenne qui ne capte pas.

    Quelqu'un aurait-il un idée pour que l'antenne capte enfin le signal svp ?

  3. #3
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Salut,
    Tu as les docs de :
    - teensy 3.2
    - antennes RF1100SE

    ????
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  4. #4
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    Oui. Voici:

    Teensy 3.2:
    Front:
    Nom : teensy32_front_pinout.png
Affichages : 1615
Taille : 187,1 Ko

    Back:
    Nom : teensy32_back_pinout.png
Affichages : 1543
Taille : 119,7 Ko

    (Source: https://www.pjrc.com/teensy/teensy31.html)

    RF1100SE: https://github.com/matthewbednarski/...01-rf1100se.md

  5. #5
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Tu peux me montrer ton câblage entre les 2 cartes (teensy et l'émetteur RF1100.

    Je suppose que tu as le même couple pour la réception ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  6. #6
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Le Teensy est branché sur le port USB du PC.

    Ensuite:

    RF1100SE->Teensy
    1--------->3.3V
    3--------->11
    5--------->12
    7--------->10
    9--------->GND

    Mais même quand je ne fait qu'alimenter le RF1100SE et relier le port 5 au PC (via l'entrée en ligne) et que j'envoie le code de la télécommande, il n'y a rien d'affiché dans Audacity.

  7. #7
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Ok par contre rassure moi tu as bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Pc -> Teensy -> RF1100                       RF1100 <- Teensy
    Dans ton câblage il manque un fil extrêmement important, c'est l'horloge SCK entre Teensy et le RF1100 sinon le bus SPI ne peut pas fonctionner.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  8. #8
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour Vincent,

    Merci pour la réponse. Non, je n'avais pas fait ce branchement. Je viens de tester mais sans résultat.

    J'ai essayé un autre récepteur:
    Nom : 710kGjtwPYL._SL600_2.jpg
Affichages : 1506
Taille : 39,5 Ko

    Je fais les connexions suivantes:

    Teensy -> recepteur
    3.3V------->VCC
    GND------->GND
    12--------->data (1 ou 2) et Audacity (entrée en ligne du PC)

    Mais je ne vois aucune réception dans Audacity.

  9. #9
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Je viens de regarder la datasheet de ton RF1100SE, si j'ai lu la bonne doc alors dessus tu as un émetteur de chez Texas Instruments http://www.ti.com.cn/cn/lit/ds/symlink/cc1101.pdf
    Ce composant s'interface bien en SPI donc il faut bien 4 fils entre Teensy et l'émetteur.

    Teensy vers RF1100

    DOUT -> MOSI (Master Out Slave In)
    DIN -> MISO (Master In Slave Out)
    SCK -> CLK (Clock de synchro)
    CS -> CS (Chip Select)

    Maintenant il y a une énorme chose a prendre en considération : le réglage du RF1100 au travers de ces nombreux registres.
    Et je n'ai pas l'impression que la bibliothèque RCswitch est faite pour ça. Si j'ai raison alors c'est normal que ça ne fonctionne pas.

    2 solutions :
    - Soit coder toi même, en bas niveau, le réglage du RF1100.
    - Soit trouver une bibliothèque pour Teensy qui le fait.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  10. #10
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour Vincent,

    Je commençais à me douter de cela à cause de ceci: http://labalec.fr/erwan/?p=497

    Mais par contre, je me demande pourquoi je ne capte pas de signal avec la deuxième antenne branchée à Audacity. Même si le code du Teensy n'est pas là, le signal devrait quand même être perçu, non ?

  11. #11
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Je ne comprends pas bien ce que tu veux dire par là :
    je me demande pourquoi je ne capte pas de signal avec la deuxième antenne branchée à Audacity. Même si le code du Teensy n'est pas là, le signal devrait quand même être perçu, non ?
    C'est quoi la deuxième antenne ? C'est le récepteur que tu as essayé XD-RF-5V ?

    Si c'est le cas alors non, tu ne capteras rien (à moins que tu trouves chez toi une télécommande radio qui émet sur 433Mhz) car ce module a une sortie logique au niveau de DATA. Il y a tres tres tres probablement un amplificateur câblé en comparateur sur ton récepteur (LM358 ?), il compare ce qui arrive sur l'antenne, dans ton cas rien ou au mieux du bruit, et un niveau de tension déterminé. Si ce qui arrive sur l'antenne dépasse le niveau de tension alors le comparateur te sort un 1 logique (soit 5V si tu as alimenté ton module en 5V) sinon il te sort 0V.

    A tout hasard, tu as l'émetteur associé ?



    ps : Le lien que tu donnes à l'air complet pour faire un test avec le RF1100 ? Non ? Je n'utilise pas Arduino
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  12. #12
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    C'est quoi la deuxième antenne ? C'est le récepteur que tu as essayé XD-RF-5V ?
    Oui, c'est tout à fait ça.

    Si c'est le cas alors non, tu ne capteras rien (à moins que tu trouves chez toi une télécommande radio qui émet sur 433Mhz) car ce module a une sortie logique au niveau de DATA. Il y a tres tres tres probablement un amplificateur câblé en comparateur sur ton récepteur (LM358 ?), il compare ce qui arrive sur l'antenne, dans ton cas rien ou au mieux du bruit, et un niveau de tension déterminé. Si ce qui arrive sur l'antenne dépasse le niveau de tension alors le comparateur te sort un 1 logique (soit 5V si tu as alimenté ton module en 5V) sinon il te sort 0V.
    OK. Je ne savais pas du tout. Merci pour l'explication.

    A tout hasard, tu as l'émetteur associé ?
    Oui:
    Nom : 710kGjtwPYL._SL1200_3.jpg
Affichages : 1487
Taille : 42,4 Ko

    ps : Le lien que tu donnes à l'air complet pour faire un test avec le RF1100 ? Non ? Je n'utilise pas Arduino
    Je teste ça cet après-midi et je ferai un retour sur le forum.

    En tout cas, un grand merci à toi.

  13. #13
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    D'accord,
    Pour faire un essai, tu câbles le récepteur :
    Vcc = 3.3V
    Gnd = 0V
    DATA connecté à Audacity

    Ps: si tu as 2 résistances de même valeur fait un pont diviseur pour réduire DATA par deux car ça fait déjà beaucoup 3.3V pour une entrée ligne.


    Puis tu câbles l'émetteur :
    Vcc = 5V
    Gnd = 0V
    Et la tu mets un fil sur DATA et avec l'autre bout du fil tu touches un coup Vcc (1) et un coup Gnd (0) ainsi de suite.

    Normalement tu devrais voir dans Audacity, les 1 et les 0.


    Pour les antennes, tu mets 2 simples fils volant de 20cm de long et ça ira très bien.
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  14. #14
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    ps : Le lien que tu donnes à l'air complet pour faire un test avec le RF1100 ? Non ? Je n'utilise pas Arduino
    Je teste ça cet après-midi et je ferai un retour sur le forum.
    Test non concluant pour le moment car j'ai des erreurs de compilation:

    http://www.developpez.net/forums/d15...amp-librairie/

  15. #15
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Bonjour,

    La librairie panstamp fonctionne avec Arduino 1.0.6 et un Arduino Uno.

    Mais pas avec un Teensy 3.2. Le fichier cc1101.h n'est pas adapté pour cette carte.

    Quelqu'un aurait-il la librairie adaptée pour Teensy svp ?

    Merci d'avance.

  16. #16
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 189
    Points : 11 571
    Points
    11 571
    Par défaut
    Citation Envoyé par Chris@Xerox Voir le message
    Mais pas avec un Teensy 3.2. Le fichier cc1101.h n'est pas adapté pour cette carte.
    Et qu'est ce qui te fait dire ça ?
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  17. #17
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Quand je compile avec une carte Arduino Uno je n'ai aucune erreur.

    Par contre, quand la carte est la Teensy 3.2 j'obtiens des erreurs de compilation:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp: In function 'bool rcOscCalibrate()':
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:42:23: error: 'OSCCAL' was not declared in this scope
       uint8_t oldOsccal = OSCCAL;
                           ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:45:23: error: 'TCCR1A' was not declared in this scope
       uint8_t oldTCCR1A = TCCR1A;
                           ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:46:23: error: 'TCCR1B' was not declared in this scope
       uint8_t oldTCCR1B = TCCR1B;
                           ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:52:3: error: 'TIMSK1' was not declared in this scope
       TIMSK1 = 0;
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:53:3: error: 'TIMSK2' was not declared in this scope
       TIMSK2 = 0;
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:56:3: error: 'ASSR' was not declared in this scope
       ASSR = (1 << AS2);
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:56:16: error: 'AS2' was not declared in this scope
       ASSR = (1 << AS2);
                    ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:62:3: error: 'TCCR2A' was not declared in this scope
       TCCR2A = 0x00;
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:65:3: error: 'TCCR2B' was not declared in this scope
       TCCR2B = (1 << CS20);
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:65:18: error: 'CS20' was not declared in this scope
       TCCR2B = (1 << CS20);
                      ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:68:18: error: 'CS10' was not declared in this scope
       TCCR1B = (1 << CS10);
                      ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:69:3: error: 'TIFR1' was not declared in this scope
       TIFR1 |= (1 << TOV1);          // Clear timer 1 overflow flag   
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:69:18: error: 'TOV1' was not declared in this scope
       TIFR1 |= (1 << TOV1);          // Clear timer 1 overflow flag   
                      ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:70:3: error: 'TCNT1' was not declared in this scope
       TCNT1 = 0;                     // Reset Timer 1 count
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:75:5: error: 'TIFR2' was not declared in this scope
         TIFR2 |= (1 << TOV2);          // Clear timer 2 overflow flag   
         ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:75:20: error: 'TOV2' was not declared in this scope
         TIFR2 |= (1 << TOV2);          // Clear timer 2 overflow flag   
                        ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:76:5: error: 'TCNT2' was not declared in this scope
         TCNT2 = 0;                     // Reset Timer 2 count
         ^
    In file included from c:\program files (x86)\arduino\hardware\teensy\cores\teensy3\avr_emulation.h:35:0,
                     from C:\Program Files (x86)\Arduino\hardware\teensy\cores\teensy3/avr/io.h:23,
                     from C:\Program Files (x86)\Arduino\libraries\EEPROM/EEPROM.h:27,
                     from C:\Users\CS\Documents\Arduino\libraries\panstamp\calibration.h:28,
                     from C:\Users\CS\Documents\Arduino\libraries\panstamp\calibration.cpp:25:
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:79:24: error: 'TCN2UB' was not declared in this scope
         while (ASSR & (_BV(TCN2UB) | _BV(TCR2AUB) | _BV(TCR2BUB)))
                            ^
    c:\program files (x86)\arduino\hardware\teensy\cores\teensy3\core_pins.h:45:22: note: in definition of macro '_BV'
     #define _BV(n)  (1<<(n))
                          ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:79:38: error: 'TCR2AUB' was not declared in this scope
         while (ASSR & (_BV(TCN2UB) | _BV(TCR2AUB) | _BV(TCR2BUB)))
                                          ^
    c:\program files (x86)\arduino\hardware\teensy\cores\teensy3\core_pins.h:45:22: note: in definition of macro '_BV'
     #define _BV(n)  (1<<(n))
                          ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:79:53: error: 'TCR2BUB' was not declared in this scope
         while (ASSR & (_BV(TCN2UB) | _BV(TCR2AUB) | _BV(TCR2BUB)))
                                                         ^
    c:\program files (x86)\arduino\hardware\teensy\cores\teensy3\core_pins.h:45:22: note: in definition of macro '_BV'
     #define _BV(n)  (1<<(n))
                          ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:114:3: error: 'TIFR2' was not declared in this scope
       TIFR2 |= (1 << TOV2);            // Clear timer 2 overflow flag   
       ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:114:18: error: 'TOV2' was not declared in this scope
       TIFR2 |= (1 << TOV2);            // Clear timer 2 overflow flag   
                      ^
    C:\Users\Chris\Documents\Arduino\libraries\panstamp\calibration.cpp:115:3: error: 'TCNT2' was not declared in this scope
       TCNT2 = 0;                       // Reset Timer 2 count
       ^
    Mais en effet, ce n'est peut-être pas le fichier cc1101.h mais les autres fichiers de la librairie panstamp.

  18. #18
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Pour être complet...

    Dans un premier temps, j'avais ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    sketch_apr21b.ino: In function 'void setup()':
    sketch_apr21b:47: error: 'CFREQ_433' was not declared in this scope
    In file included from sketch_apr21b.ino:2:0:
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h:306:10: error: 'byte CC1101::readReg(byte, byte)' is private
         byte readReg(byte regAddr, byte regType);
              ^
    sketch_apr21b:52: error: within this context
    In file included from sketch_apr21b.ino:2:0:
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h:306:10: error: 'byte CC1101::readReg(byte, byte)' is private
         byte readReg(byte regAddr, byte regType);
              ^
    sketch_apr21b:54: error: within this context
    In file included from sketch_apr21b.ino:2:0:
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h:306:10: error: 'byte CC1101::readReg(byte, byte)' is private
         byte readReg(byte regAddr, byte regType);
              ^
    sketch_apr21b:56: error: within this context
    In file included from sketch_apr21b.ino:2:0:
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h: In function 'void ReadLQI()':
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h:306:10: error: 'byte CC1101::readReg(byte, byte)' is private
         byte readReg(byte regAddr, byte regType);
              ^
    sketch_apr21b:67: error: within this context
    In file included from sketch_apr21b.ino:2:0:
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h: In function 'void ReadRSSI()':
    C:\Users\Chris\Documents\Arduino\libraries\panstamp/cc1101.h:306:10: error: 'byte CC1101::readReg(byte, byte)' is private
         byte readReg(byte regAddr, byte regType);
              ^
    sketch_apr21b:78: error: within this context
    Après avoir déclaré 'CFREQ_433' et déplacé 'byte readReg(byte, byte)' en fonction publique (tout cela dans cc1101.h), j'obtiens les erreurs de mon précédent post.

  19. #19
    Membre habitué
    Homme Profil pro
    Informaticien
    Inscrit en
    Août 2007
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien
    Secteur : Service public

    Informations forums :
    Inscription : Août 2007
    Messages : 176
    Points : 158
    Points
    158
    Par défaut
    Et si j'utilise Arduino 1.6.8 au lieu du 1.0.6 avec la librairie panstamp d'un autre site que celui que j'indique, j'ai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp: In function 'bool rcOscCalibrate()':
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:42:23: error: 'OSCCAL' was not declared in this scope
     
       uint8_t oldOsccal = OSCCAL;
     
                           ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:45:23: error: 'TCCR1A' was not declared in this scope
     
       uint8_t oldTCCR1A = TCCR1A;
     
                           ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:46:23: error: 'TCCR1B' was not declared in this scope
     
       uint8_t oldTCCR1B = TCCR1B;
     
                           ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:52:3: error: 'TIMSK1' was not declared in this scope
     
       TIMSK1 = 0;
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:53:3: error: 'TIMSK2' was not declared in this scope
     
       TIMSK2 = 0;
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:56:3: error: 'ASSR' was not declared in this scope
     
       ASSR = (1 << AS2);
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:56:16: error: 'AS2' was not declared in this scope
     
       ASSR = (1 << AS2);
     
                    ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:62:3: error: 'TCCR2A' was not declared in this scope
     
       TCCR2A = 0x00;
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:65:3: error: 'TCCR2B' was not declared in this scope
     
       TCCR2B = (1 << CS20);
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:65:18: error: 'CS20' was not declared in this scope
     
       TCCR2B = (1 << CS20);
     
                      ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:68:18: error: 'CS10' was not declared in this scope
     
       TCCR1B = (1 << CS10);
     
                      ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:69:3: error: 'TIFR1' was not declared in this scope
     
       TIFR1 |= (1 << TOV1);          // Clear timer 1 overflow flag   
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:69:18: error: 'TOV1' was not declared in this scope
     
       TIFR1 |= (1 << TOV1);          // Clear timer 1 overflow flag   
     
                      ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:70:3: error: 'TCNT1' was not declared in this scope
     
       TCNT1 = 0;                     // Reset Timer 1 count
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:75:5: error: 'TIFR2' was not declared in this scope
     
         TIFR2 |= (1 << TOV2);          // Clear timer 2 overflow flag   
     
         ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:75:20: error: 'TOV2' was not declared in this scope
     
         TIFR2 |= (1 << TOV2);          // Clear timer 2 overflow flag   
     
                        ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:76:5: error: 'TCNT2' was not declared in this scope
     
         TCNT2 = 0;                     // Reset Timer 2 count
     
         ^
     
    In file included from c:\program files (x86)\arduino\hardware\teensy\avr\cores\teensy3\avr_emulation.h:35:0,
     
                     from C:\Program Files (x86)\Arduino\hardware\teensy\avr\cores\teensy3/avr/io.h:23,
     
                     from C:\Program Files (x86)\Arduino\hardware\teensy\avr\libraries\EEPROM/EEPROM.h:27,
     
                     from C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.h:28,
     
                     from C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:25:
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:79:24: error: 'TCN2UB' was not declared in this scope
     
         while (ASSR & (_BV(TCN2UB) | _BV(TCR2AUB) | _BV(TCR2BUB)))
     
                            ^
     
    c:\program files (x86)\arduino\hardware\teensy\avr\cores\teensy3\core_pins.h:47:22: note: in definition of macro '_BV'
     
     #define _BV(n)  (1<<(n))
     
                          ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:79:38: error: 'TCR2AUB' was not declared in this scope
     
         while (ASSR & (_BV(TCN2UB) | _BV(TCR2AUB) | _BV(TCR2BUB)))
     
                                          ^
     
    c:\program files (x86)\arduino\hardware\teensy\avr\cores\teensy3\core_pins.h:47:22: note: in definition of macro '_BV'
     
     #define _BV(n)  (1<<(n))
     
                          ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:79:53: error: 'TCR2BUB' was not declared in this scope
     
         while (ASSR & (_BV(TCN2UB) | _BV(TCR2AUB) | _BV(TCR2BUB)))
     
                                                         ^
     
    c:\program files (x86)\arduino\hardware\teensy\avr\cores\teensy3\core_pins.h:47:22: note: in definition of macro '_BV'
     
     #define _BV(n)  (1<<(n))
     
                          ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:114:3: error: 'TIFR2' was not declared in this scope
     
       TIFR2 |= (1 << TOV2);            // Clear timer 2 overflow flag   
     
       ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:114:18: error: 'TOV2' was not declared in this scope
     
       TIFR2 |= (1 << TOV2);            // Clear timer 2 overflow flag   
     
                      ^
     
    C:\Program Files (x86)\Arduino\libraries\panstamp\calibration.cpp:115:3: error: 'TCNT2' was not declared in this scope
     
       TCNT2 = 0;                       // Reset Timer 2 count
     
       ^
     
    Error compiling for board Teensy 3.2 / 3.1.

  20. #20
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 080
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 080
    Points : 30 789
    Points
    30 789
    Par défaut
    Tout cela ressemble fortement à l'oubli d'un include...
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

Discussions similaires

  1. Emission et réception par Diode infrarouge ou diode laser
    Par Math2012 dans le forum Embarqué
    Réponses: 1
    Dernier message: 21/05/2014, 19h52
  2. [PIC 16F688] Emission-réception infrarouge
    Par Gagura dans le forum MPLAB
    Réponses: 1
    Dernier message: 24/02/2011, 19h36
  3. emission réception radioFM
    Par masana dans le forum Signal
    Réponses: 4
    Dernier message: 15/04/2008, 23h00
  4. Réponses: 1
    Dernier message: 05/03/2006, 23h06
  5. Emission / Réception par port série
    Par odSen dans le forum C
    Réponses: 28
    Dernier message: 06/01/2006, 18h45

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