Блок Телеграм не дружит с штатным блоком дисплея HD44780

Ошибка при компиляции: lvalue required as left operand of assignment

Ответить
Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Блок Телеграм не дружит с штатным блоком дисплея HD44780

#1

Сообщение Serg_Grn » 14.02.2021{, 17:21}

Добрый день.
В проекте нет ничего кроме двух блоков - штатного для дисплея HD44780 и блока для Телеграм.
Блок для Телеграм сделан на основе библиотеки UniversalTelegramBot.h и сам по себе, и в комбинации с кучей других блоков и библиотек, работает безукоризненно.
Но тут, видимо, какой-то конфликт двух библиотек возникает или что... Ошибка при компиляции: lvalue required as left operand of assignment.
Моих знаний недостаточно чтоб разобраться самому :smile37:
Проект прикладываю.
Спасибо!
1.flp
(2.01 МБ) 34 скачивания
Отправлено спустя 1 минуту 16 секунд:
Похоже я решил проблему, но в чём она заключается так и не понял :D Кто понимает, пролейте свет :)
Я переименовал переменную En в блоке телеграм, на которую ругался компилятор, и компиляция прошла успешно. :smile37:
Последний раз редактировалось Serg_Grn 14.02.2021{, 23:56}, всего редактировалось 1 раз.

ecoins
Полковник
Сообщения: 2924
Зарегистрирован: 12.02.2016{, 11:40}
Репутация: 453
Откуда: Шатура
Имя: Энвер

Блок Телеграм не дружит с штатным блоком дисплея HD44780

#2

Сообщение ecoins » 14.02.2021{, 18:08}

Serg_Grn писал(а):
14.02.2021{, 17:34}
Похоже я решил проблему, но в чём она заключается так и не понял Кто понимает, пролейте свет
Я переименовал переменную En в блоке телеграм, на которую ругался компилятор, и компиляция прошла успешно.
В штатной библиотеке легкомысленно используется
#define En (и не только). Возникает конфликт.
-----
Это системная проблема библиотек Arduino - имена макроопределений (а они глобальные) применяются разработчиками свободно, какие-то соглашения по их использованию отсутствуют.
В свое время мы столкнулись именно с этой проблемой с этой библиотекой и потому в своих библиотеках в макроопределениях применяем собственный префикс RT_HW_ в надежде, что он никем использован не будет :no:

Serg_Grn
Лейтенант
Сообщения: 333
Зарегистрирован: 11.02.2018{, 13:07}
Репутация: 36
Имя: Сергей

Блок Телеграм не дружит с штатным блоком дисплея HD44780

#3

Сообщение Serg_Grn » 14.02.2021{, 18:18}

ecoins, спасибо за пояснение! :)

Ответить

Вернуться в «Помогите, а то я "нимагу"»