TODOPIC

Otros Microcontroladores / Dispositivos programables => Arduino => Mensaje iniciado por: johenrod en 14 de Agosto de 2023, 13:34:14

Título: problema al compilar 2 librerias
Publicado por: johenrod en 14 de Agosto de 2023, 13:34:14
cordial saludo,
estoy tratando de hacer un control de velocidad con un modulo de cruce por cero y me trabaja bien pero quiero agregarle una libreria para medir las "rpm" y me sale error al compilar en arduino uno, si compilo en tarjeta mega compila bien, sera que ambas librerias comparten algo?
Gracias de antemano.

sale este error
Citar
libraries\FreqCount\FreqCount.cpp.o (symbol from plugin): In function `FreqCountClass::begin(unsigned int)':
(.text+0x0): multiple definition of `__vector_7'
libraries\RBDDimmer-master\avr\RBDmcuAVR.cpp.o (symbol from plugin):(.text+0x0): first defined here
collect2.exe: error: ld returned 1 exit status
exit status 1
Error compilando para la tarjeta Arduino Uno.

Código: C
  1. #include <RBDdimmer.h>//
  2. #include <FreqCount.h>
  3.  
  4.  
  5. void setup() {
  6.  
  7.   FreqCount.begin(9600);
  8.  
  9. }
  10.  
  11. void loop()
  12. {
  13.     if (FreqCount.available())
  14.     {
  15.       unsigned long count=FreqCount.read();
  16.     }
  17.    
  18.  
  19. }
Título: Re:problema al compilar 2 librerias
Publicado por: Eduardo2 en 14 de Agosto de 2023, 17:07:23
Cuando compilás para Mega, RBDDimmer te usa la interrupción  _TIMER4_COMPA_VECTOR, pero cuando es para Nano o Uno la _TIMER2_COMPA_VECTOR que también la usa FreqCount.

Probá editar RBDmcuAVR.h  cambiando  #define DIMMER_TIMER 2  por el timer 0 o 1 .   Pero como NO son todos iguales NI controlé si los programas te dejan alguno libre, puede que no funcione.
Título: Re:problema al compilar 2 librerias
Publicado por: johenrod en 17 de Agosto de 2023, 13:35:29
Cuando compilás para Mega, RBDDimmer te usa la interrupción  _TIMER4_COMPA_VECTOR, pero cuando es para Nano o Uno la _TIMER2_COMPA_VECTOR que también la usa FreqCount.

Probá editar RBDmcuAVR.h  cambiando  #define DIMMER_TIMER 2  por el timer 0 o 1 .   Pero como NO son todos iguales NI controlé si los programas te dejan alguno libre, puede que no funcione.

Gracias "Eduardo2" por tu respuesta, imaginaba que algo asi pasaba voy a mirar como se abre la libreria y tratar de hacer los cambios que me sugieres.