• Welcome to LusoRobótica - Robótica em Português.
 

Wave shield+ Rf : problemas

Started by Constantino, 05 de February de 2012, 15:16

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Constantino

 Boa tarde à todos. Estou utilizando o Wave shield com o arduino Mega. Sozinho não existe problemas, mas quando tento utilizar o wave shield junto com a biblioteca VirtualWire acontece um erro !
Por favor ajudem, já não sei o que fazer! []s.

Segue o erro :

AF_Wave\wave.cpp.o: In function `__vector_17':
C:\Arquivos de programas\arduino-0022\libraries\AF_Wave/wave.cpp:35: multiple definition of `__vector_17'
VirtualWire\VirtualWire.cpp.o:C:\Arquivos de programas\arduino-0022\libraries\VirtualWire/VirtualWire.cpp:414: first defined here

senso

Essas duas bibliotecas usam um periférico em comum, que é o SPI, e como as duas tentam definir a interrupção de dados recebidos do SPI, dá um conflito a tentar compilar pois tens duas funções distintas para essa mesma fonte de interrupção, podes modificar uma das bibliotecas para usar SPI por polling do registo de dados e assim passa a funcionar.
Avr fanboy

Constantino

Obrigado senso. Podes me dar alguma ideia de como faço isso ?

[]s;

senso

Não estou dentro das bibliotecas do Arduino, mas se calhar a primeira opção é ir ao forum do Arduino, com sorte alguem o ajuda quanto a isso ou já tem umas bibliotecas modificadas.
Mas muito muito basicamente as duas bibliotecas terão uma função declara assim:
ISR(...)
Dentro dos () estará SPI_qualquercoisa_vect, numa das bibliotecas terá de remover essa função que é a interrupção e tudo o que mexer com envio/recepção de dados terá de ser feito com as funções SPI.write/read/etc do Arduino, mas isso é praticamente re-escrever a biblioteca.
Avr fanboy

Constantino