Go Down

Topic: ¿Por qué no compila? (Read 1 time) previous topic - next topic

PascuaL

Mar 16, 2012, 11:11 pm Last Edit: Mar 16, 2012, 11:53 pm by a9965 Reason: 1
Radiofrecuencia y servomotores mezclados.He trabajado con los dos por separado y funciona perfecto, pero cuando los uno, no funciona.
La función es mediante radiofrecuencia, mover servos a determinadas posiciones.Por problemas de compatibilidad entre librerias.¿Qué hago?
GRACIAS!
Code: [Select]

#include <VirtualWire.h>

#include <Servo.h>

Servo myservo;  

int pos = 0;    



int pinRx = 4;

void setup(){
  myservo.attach(9);  


 Serial.begin(9600);

 vw_set_rx_pin(pinRx);
 vw_setup(2000);
 vw_rx_start();
//setup


}

void loop(){

 uint8_t mensaje[VW_MAX_MESSAGE_LEN];
 uint8_t longitud = VW_MAX_MESSAGE_LEN;

 if (vw_get_message( mensaje , &longitud ) ){    
   Serial.print("Recibido -> ");
   Serial.println( mensaje[0] );
   
   if( mensaje[0] == 'A' ){
     myservo.write(pos);            
   delay(15);  
 
     
             
   }else if( mensaje[0] == 'R' ){
               
   }else if( mensaje[0] == 'V' ){
     
}else if( mensaje[0] == 'N' ){
       
 
 }
}
}

curro92

Hola,
si no compila, te dará algún error. ¿Podrías indicarnos?


PascuaL

VirtualWire\VirtualWire.cpp.o: In function `__vector_11':
C:\Users\Santi\Desktop\arduino-1.0\libraries\VirtualWire/VirtualWire.cpp:416: multiple definition of `__vector_11'
Servo\Servo.cpp.o:C:\Users\Santi\Desktop\arduino-1.0\libraries\Servo/Servo.cpp:103: first defined here




Gracias!

curro92

Hola,
en Google hay bastantes menciones a ese conflicto de esas dos librerías. Busca en Google trozos del mensaje de error como multiple definition of  __vector_11
Parece que el problema está en que las dos usan el mismo timer.
En algún sitio he visto que presentan como alternativa usar "SoftwareServo.zip"
http://www.arduino.cc/playground/ComponentLib/Servo
Mi conocimiento de los timer es escaso, seguro que hay gente que conoce más profundamente el problema.


PascuaL

Si he estado mirando. La solución esta en usar la librería timerServo2. Pero no encuentro su sintaxis ni información acerca de ésta en Arduino.

¿Alguien sabe ésto?

Un saludo y gracias por su atención!

Go Up