Эта ошибка связана с ссылкой .Два фрагмента библиотечного кода оба объявили что-то с одинаковым именем (в данном случае это таймер).
Итак, компиляция прошла успешно, и теперь компоновщик берет скомпилированный вывод и упаковывает его в исполняемый файл.Каждый раз, когда вы видите сообщение об ошибке типа error: ld returned ...
, знайте, что это проблема со связью, а не проблема синтаксиса.Все, что ld
является компоновщиком («ld» - это имя программы компоновщика).
Как описано здесь:
https://forum.arduino.cc/index.php?topic=120955.msg2613823#msg2613823
Редактирование заголовочного файла IRRemote.h и измените, какое таймерное прерывание использует библиотека:
Измените выбор:
#define IR_USE_TIMER1 // tx = pin 9
// #define IR_USE_TIMER2 // tx = pin 3
например:
// #define IR_USE_TIMER1 // tx = pin 9
#define IR_USE_TIMER2 // tx = pin 3