У меня в программе используется несколько библиотек IRremote и MsTimer2 , но при проверке возникает ошибка libraries\IRremote\IRremote.cpp.o: In function `__vector_9': C:\Users\паша\Documents\Arduino\libraries\IRremote/IRremote.cpp:265: multiple definition of `__vector_9' libraries\MsTimer2\MsTimer2.cpp.o:C:\Users\паша\Documents\Arduino\libraries\MsTimer2/MsTimer2.cpp:147: first defined here collect2.exe: error: ld returned 1 exit status exit status 1 Ошибка компиляции для платы Arduino/Genuino Uno. Подскажите что делать ?
@fbismark, у вас библиотеки IRremote и MsTimer2 используют один и тот же таймер. Решение - переключить IRremote на использование первого таймера - т.е. в файле IRremoteInt.h изменить строки 205-209 (закомментировать IR_USE_TIMER2 и раскомментировать IR_USE_TIMER1) Код (C++): // Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc #else #define IR_USE_TIMER1 // tx = pin 9 //#define IR_USE_TIMER2 // tx = pin 3 #endif
я понел в чем проблема спасибо , но есть но у меня в IRremoteInt.h только 112 строк и я искал похожие не могу найти
На гитхабе в текущем релизе настройки вынесли в boarddefs.h Код (C++): // Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc // ATmega48, ATmega88, ATmega168, ATmega328 #else #define IR_USE_TIMER1 // tx = pin 9 //#define IR_USE_TIMER2 // tx = pin 3 #endif