IR + fonction Tone()

Support pour le kit de communication infra rouge (IR)

IR + fonction Tone()

Message non lude Gorlok » Mar 6 Nov 2012 09:57

bonjour à tous,
dans le but de me faire un réveil que j'utilise avec un télécommande IR j'ai voulu utiliser la fonction tone() mais voila se que j'ai lors de la compilation :

core.a(Tone.cpp.o): In function `__vector_7':
F:\Arduino\arduino-1.0.1\hardware\arduino\cores\arduino/Tone.cpp:523: multiple definition of `__vector_7'
IRremote\IRremote.cpp.o:F:\Arduino\arduino-1.0.1\libraries\IRremote/IRremote.cpp:311: first defined here

es-ce que quelqu'un pourrait m'expliquer pourquoi ?

merci d'avance :)
Gorlok
 
Messages: 3
Inscription: Mar 6 Nov 2012 09:55

Re: IR + fonction Tone()

Message non lude Philippe_ph » Mar 6 Nov 2012 11:35

Bonjour,

Je ne sais pas si je te serai d'une grande aide car je viens juste de récupérer l'IDE arduino. J'ai trouvé le fichier Tone.cpp mais pas IRremote.cpp, je suppose donc que c'est une bibliothèque que tu as installée ou un fichier que tu as écrit. Le message d'erreur dit qu'il trouve plusieurs définitions pour __vector_7. C'est peut-être du à un problème d'include. D'où vient le fichier IRremote.cpp ?

Philippe.
Philippe_ph
 
Messages: 4
Inscription: Mer 31 Oct 2012 09:12

Re: IR + fonction Tone()

Message non lude Gorlok » Mar 6 Nov 2012 11:47

bonjour,
IRremote.cpp est un librairie que j'ai telecharger sur internet (celle qu'ils donnent sur le site officiel).
Gorlok
 
Messages: 3
Inscription: Mar 6 Nov 2012 09:55

Re: IR + fonction Tone()

Message non lude SesechXP » Mar 6 Nov 2012 13:56

Salut,

C'est parce que les bibliothèques Tone et IRremote utilisent toutes les deux le timer 2.

Pour régler le problème, il faut modifier la bibliothèque IRremote pour qu'elle utilise le timer 1. Tu ne précises pas la carte Arduino que tu utilises, mais dans le cas d'une Uno :
- Ouvrir le fichier IRremoteInt.h de la bibliothèque IRremote ;
- Allez aux lignes 64 à 68 et changer :
Code: Tout sélectionner
// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
  //#define IR_USE_TIMER1   // tx = pin 9
  #define IR_USE_TIMER2     // tx = pin 3
#endif

par
Code: Tout sélectionner
// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, etc
#else
  #define IR_USE_TIMER1   // tx = pin 9
  //#define IR_USE_TIMER2     // tx = pin 3
#endif


Attention ! Il faut changer la broche TX et passer de la 3 à la 9 :!:

++
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: IR + fonction Tone()

Message non lude Gorlok » Mar 6 Nov 2012 16:42

C'est bon :D merci beaucoup pour ton aide !
Gorlok
 
Messages: 3
Inscription: Mar 6 Nov 2012 09:55

Re: IR + fonction Tone()

Message non lude Stéphane » Mar 6 Nov 2012 17:40

Arf, je me suis fait prendre de court par SesechXP !
Sa méthode est bonne pour résoudre ce conflit, du coup, bravo pour la solution :)
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40

Re: IR + fonction Tone()

Message non lude SesechXP » Mar 6 Nov 2012 17:45

Au plaisir ;)
SesechXP
 
Messages: 228
Inscription: Sam 28 Mai 2011 09:09
Localisation: 35

Re: IR + fonction Tone()

Message non lude Stéphane » Mar 6 Nov 2012 18:24

Humpf, je prendrai ma revanche !

"Soon..." :)
Avatar de l’utilisateur
Stéphane
 
Messages: 179
Inscription: Lun 2 Mai 2011 09:40


Retourner vers Kit Communication IR

Qui est en ligne

Utilisateurs parcourant ce forum: Google [Bot] et 1 invité

cron