При попытках освоить скетч для модуля сердечного ритма XD-58 столкнулся с ошибками компиляции, связанными с операцией ISR(TIMER…). Желание понять особенности использования таймеров в ардуино привело к попыткам работы с библиотекой GyverTimers.
До этого таймеры явно встречались мне только в скетчах с ЦАП, где они использовались только с библиотекой driver/dac.h и все работало.
Тесты библиотеки GyverTimers.h “Демо - все возможности библиотеки” и “Простой пример с прерываниями” привели к ошибке “error: expected constructor, destructor, or type conversion before ‘(’ token”
в строке ISR(TIMER1_A) {}
Сейчас вас пошлют на …
к гайверу …
Может не стоит учиться по нерабочей библиотеке?
Вы кто по професси-то, бухгалтер или судья? Чего язык такой казенный?
Для начала написали бы, что за плата у вас? Судя по ошибкам, такое впечатление что на ЕСП32 запускаете, а таймеры от АВР
Кстати, чем закончилась попытка сделать из I2s модуля звуковую карту?
А этот вектор гивер сам выдумал ?
Что то я такого не нашел ни в даташите ни в avr/interrupts.h
А особенности работы с таймерами надо в даташите смотреть а не у криворукого блоггера.
ага…
#define TIMER0_A TIMER0_COMPA_vect
#define TIMER0_B TIMER0_COMPB_vect
#define TIMER1_A TIMER1_COMPA_vect
#define TIMER1_B TIMER1_COMPB_vect
#define TIMER2_A TIMER2_COMPA_vect
#define TIMER2_B TIMER2_COMPB_vect
#if defined(__AVR_ATmega2560__)
#define TIMER1_C TIMER1_COMPC_vect
#define TIMER3_A TIMER3_COMPA_vect
#define TIMER3_B TIMER3_COMPB_vect
#define TIMER3_C TIMER3_COMPC_vect
#define TIMER4_A TIMER4_COMPA_vect
#define TIMER4_B TIMER4_COMPB_vect
#define TIMER4_C TIMER4_COMPC_vect
#define TIMER5_A TIMER5_COMPA_vect
#define TIMER5_B TIMER5_COMPB_vect
#define TIMER5_C TIMER5_COMPC_vect
он их изобрел… гыыыыыыы
Однако вопрос к ТС остался.
Судя по фразе:
он работает явно не на атмеге328
По профессии - пенсионер. Плата ESP32 wroom-32. Звуковая плата не получилась.
GyverTimers только для Уно, Нано и Меги
Но я пробовал компилировать с платой UNO, тоже не прошло. Плата китайский клон у меня есть, но их два варианта, возможно, у меня не подходящий
без кода не о чем говорить
клоны бывают разные
Коды указаны, как задаваемые примеры при описании библиотеки.
А какой смысл в переписывании iom328p.h ?
Если Вы хотите, чтобы разговор был предметным - вставляйте код сюда. И сообщение об ошибке ПОЛНОСТЬЮ.
Код приложен к библиотеке и множить сущности не к чему. Кроме того, когда я компилирую, то реальная плата, клон она или не клон, не участвует, поэтому проблема в библиотеке, а не у меня. Я просто с вашей помощью показал, что с библиотекой или приложенными к ней примерами не все в порядке.
А у гайвера есть код без вопросов ???
Ваш бы ответ превратить в совет!
Ну наверное для продающихся хорошо датчиков уже есть готовые базовые проекты, их взять за основу. Не? Это стандартная практика - посмотреть (попробовать), что другие наваяли, потом модернизировать под свои желания, потом свой вариант сделать и т.д.
То есть смысл был исключительно в том, чтобы проинформировать нас, что Гайвер плохой прогер?
Спасибо за ваш труд.
Хотя…
Вот не пожалел пару минут, скачал GyverTimers и запустил указанные примеры.
Демо - все возможности библиотеки” - all_functions.ino
и
“простой пример с прерываниями” - simple.ino
Плата Уно - компилируются без проблем.
Так что пока вы, @ВладФ , показали лишь что либо вы брехун. либо криворукий