Уважаемые пользователи! Наш сайт и форум содержится на средства полученные от рекламы. Если вы хотите и дальше продолжать общаться, скачивать, и т.п. пожалуйста отключите блокировку рекламы для нашего сайта/форума. Можно и покликать по рекламным ссылкам, так будут больше выплаты. Спасибо за понимание!

Проблема с прерыванием и скоростным счетчиком на esp и решение

проблема с прерыванием и ее решение

Контроллеры на основе ESP8266
Ответить
DrGebb
Рядовой
Сообщения: 7
Зарегистрирован: 07.11.2019{, 11:43}
Репутация: 0
Имя: Глеб

Проблема с прерыванием и скоростным счетчиком на esp и решение

#1

Сообщение DrGebb » 09.11.2019{, 17:21}

Сразу к делу. Штатный скоростной счетчик не работает корректно с есп. Есп после прошивки - постоянно уходит в ребут. Нужно всего лишь добавить ICACHE_RAM_ATTR перед декларированием функции, которая будет вызываться в прерывании. Что это и зачем это надо можно прочить <здесь>
СпойлерПоказать
Изображение
После этих манипуляций - все работает как надо.

Есть еще баг, который касается непосредственно flprog. При установке галки в чекбоксе "аппаратный таймер"
СпойлерПоказать
Изображение
. При компиляции создается функция setupSpeedCounterTimer(); --- она объявляется, вызывается и используется, все хорошо.

НО когда мы НЕ ставим галку в чекбоксе "аппаратный таймер" -- то эта функция setupSpeedCounterTimer(); -- просто вызывается, будучи не задекларированной - компилятор сообщает об ошибке. Я так понял, что без "аппаратного таймера" - это функция вообще не нужна, и присутствие ее в коде - это ошибка. Изображение

Надеюсь автор программы увидит это сообщение и исправить эти ошибки.

edyapd
Лейтенант
Сообщения: 609
Зарегистрирован: 20.09.2019{, 11:38}
Репутация: 43
Имя: Эдуард

Проблема с прерыванием и скоростным счетчиком на esp и решение

#2

Сообщение edyapd » 09.11.2019{, 17:47}

DrGebb, у вас даже не написано к какой версии программы это относится.
Если это последняя версия 6.1.1, то вам СЮДА
И ещё, про прерывания, зависит от версии ESP установленной в Arduino IDE. Например с 2.4 всё нормально, проблемы начались с 2.5

DrGebb
Рядовой
Сообщения: 7
Зарегистрирован: 07.11.2019{, 11:43}
Репутация: 0
Имя: Глеб

Проблема с прерыванием и скоростным счетчиком на esp и решение

#3

Сообщение DrGebb » 09.11.2019{, 18:03}

edyapd, да версия flprog 6.1.1, да 5.3 тоже самое. А версия есп в Arduino IDE 2.5.2

Аватара пользователя
Max
Лейтенант
Сообщения: 689
Зарегистрирован: 06.09.2015{, 13:12}
Репутация: 5
Откуда: Тюмень-Баку
Имя: Максим

Проблема с прерыванием и скоростным счетчиком на esp и решение

#4

Сообщение Max » 11.03.2020{, 21:04}

У кого работает на ESP8226 скоростной счетчик?

У меня вообще не компилируется.
(pr22:76: error: 'setupSpeedCounterTimer' was not declared in this scope

setupSpeedCounterTimer();)

Как решается эта проблема? И, вообще, есть ли решение?

DrGebb
Рядовой
Сообщения: 7
Зарегистрирован: 07.11.2019{, 11:43}
Репутация: 0
Имя: Глеб

Проблема с прерыванием и скоростным счетчиком на esp и решение

#5

Сообщение DrGebb » 11.03.2020{, 22:28}

DrGebb писал(а):
09.11.2019{, 17:21}
При компиляции создается функция setupSpeedCounterTimer(); --- она объявляется, вызывается и используется, все хорошо.

НО когда мы НЕ ставим галку в чекбоксе "аппаратный таймер" -- то эта функция setupSpeedCounterTimer(); -- просто вызывается, будучи не задекларированной - компилятор сообщает об ошибке. Я так понял, что без "аппаратного таймера" - это функция вообще не нужна, и присутствие ее в коде - это ошибка.

Надеюсь автор программы увидит это сообщение и исправить эти ошибки.

Ответить

Вернуться в «ESP8266»