DigisparkIRLib
- Войдите на сайт для отправки комментариев
Чт, 07/07/2016 - 14:44
использовал Pro Mini 5v с библиотекой IRremote, все компилилось хорошо
взял digispark с библиотекой DigisparkIRLib, удалил IRremote, чтобы не конфликтовали
открыл скетч из примеров, пытаюсь скомпилить, получаю
Arduino: 1.6.9 (Windows XP), Board: "Digispark Pro (Default 16 Mhz)" irtest-ardu-TXdigispark:5: error: 'IRsend' does not name a type IRsend My_Sender; ^ D:\TXdigispark\irtest-ardu-TXdigispark.ino: In function 'void loop()': irtest-ardu-TXdigispark:55: error: 'My_Sender' was not declared in this scope My_Sender.send(RC5,id, 12); ^ exit status 1 'IRsend' does not name a type This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.
В инете везде пишут, чтонадо RobotIRremote удалить, но он у меня удален уже давно, когда поставил IRremote.
С чем еще может конфликтовать?
С названием Вашего файла.
название скетча? пересохранился в test1, та же проблема.
Во-первых, давайте нормальный скетч. Мы же не знаем, что у Вас там написано.
Во-вторых, давайте полную копипасту сообщений компилятора.
В-третьих, указывайте на источник библиотеки - их с одинаковыми именами как грязи.
>> Во-первых, давайте нормальный скетч. Мы же не знаем, что у Вас там написано.
>> Во-вторых, давайте полную копипасту сообщений компилятора.
>> В-третьих, указывайте на источник библиотеки - их с одинаковыми именами как грязи.
https://github.com/digistump/DigistumpArduino/tree/master/digistump-avr/...
Строка 50 библиотеки (по той ссылке, что Вы дали) выглядит так:
Уберите комментарий. Пусть будет
Думаю, что эту проблему это решит.
Уже лучше, но теперь отругалось на все остальное.
Строка 50 библиотеки (по той ссылке, что Вы дали) выглядит так:
Уберите комментарий. Пусть будет
Возник вопрос немного не по теме:
А если не редактировать библиотеку,
а вставить в скетч:
Лучше бы Вы это как код вставили, я бы мог на номера строк ссылаться.
Но в целом понятно. У Вас куча (огромная) ругани на таймер/счётчик 2. Вот посмотрите на сообщения. Все слова типа WGM21, TCCR2A, TCCR2B, OCR2A, TCNT2, OCIE2A, TIMSK2, WGM2x, OCR2B и т.п. это всё про таймер/счётчик 2
Видимо, библиотека его активно использует. Только вот беда - Digispark сделан на контроллере ATtiny85. А у этого контроллера попросту нет таймера/счётчика 2. Нет и взять негде.
По идее эта ситуация отрабатывается в файле IRLibTimer.h Вашей библиотеки. Но почему-то не отработала.
В связи с этим Вам необходимо убедиться, что в настройках IDE у Вас действительно стоит ATtiny85, а не что-нибудь другое. И вообще, что все настройки правильные. А то сейчас ощущение, что в части настроек у Вас правильно, а в другой стоит какая-нибудь ATmega328
А если не редактировать библиотеку,
а вставить в скетч:
Пожалуйста, должно нормально работать.
Все скомпилилось и залилось ок.
Изменил выбор платы с Digispark pro (Default 16 MHz) на Digispark (Default 16.5 MHz)
Все скомпилилось и залилось ок.
Изменил выбор платы с Digispark pro (Default 16 MHz) на Digispark (Default 16.5 MHz)
Значит Digispark pro НЕ на ATtiny85, потому у Вас и лезли заходы на второй таймер.
Ну, поздравляю с Победой!
видимо, да. хотя дела все по инструкции, и вроде бы везде тини85 должно быть, различия только в плате.
там кстати поковырялся еще в библиотеке, можно на другой таймер вешать в случае, если выбранный используется для millis()
пожалуй, продолжу тему, а то не пашет нормально.
часть кода передатчика (на Digispark, юзаем IRLib.h)
Часть кода приемника (на Pro Mini, юзаем IRRemote.h)
отправляю 1 все время, на приемнике приходит такое