Проблема с библиотекой(IRremote) для ИК приёмника

Тема в разделе "Проводная и беспроводная связь", создана пользователем fbismark, 19 ноя 2016.

Метки:
  1. fbismark

    fbismark Нуб

    У меня в программе используется несколько библиотек 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.
    Подскажите что делать ?
     
  2. ZAZ-965

    ZAZ-965 Гуру

    @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
     
  3. fbismark

    fbismark Нуб

    я понел в чем проблема спасибо , но есть но у меня в IRremoteInt.h только 112 строк
    и я искал похожие не могу найти
     
  4. ZAZ-965

    ZAZ-965 Гуру

    На гитхабе в текущем релизе настройки вынесли в 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
     
  5. fbismark

    fbismark Нуб

    большое спасибо