Приветствую
Дано (лет 10 назад) делал на ST7789 экране проект - систему управление старым холодильником + датчики открытия дверей, датчики температуры, часы...
собственно часы стали весьма актуальными и часто ими пользуемся...
Но возникла проблема - иногда экран зависает (просто перестает обновляться, но при этом ардуинка работает) - причина в помехах по питания
К сожалению их устранить не представляется возможным (сложно по причине, что запрятано в недрах холодильника и разбирать пол холодоса не хочется)
Сбои возникает редко и в случайные моменты времени (может в один день раз 5 сработать а может месяца 3 без единого зависания... скорее всего в момент пуска/остановки компрессора холодильника и пролетает сбой из за сильного скачка нагрузки)
Но вот вижу в библиотеке дисплея есть функции перезапуска и проверки
enableDisplay
resetDisplay
библиотека Arduino_ST7789_Fast
Собственно вопрос - если дисплей завис - то отработают эти функции? или они также будут проигнорированы и поможет только физический рестарт?
//пс пока в коде стоит рестарт ардуинки раз в сутки, это помогает восстановить связь с дисплеем при зависании, но хочется сразу при зависании перезапустить
ST7789 зависания
- AlanDrakes
- Прорезались зубы
- Сообщения: 236
- Зарегистрирован: Пн июл 04, 2016 16:51:22
- Откуда: Россия, Омск
Re: ST7789 зависания
Сброс желательно делать по пину /Reset, если таковой заведён.
Если нет - дёргать питание.
Софтовый сброс (через команду управления) может не пройти, раз уж отрисовка не работает.
https://github.com/cbm80amiga/Arduino_S ... 9_Fast.cpp
И это софтовый сброс.
Если нет - дёргать питание.
Софтовый сброс (через команду управления) может не пройти, раз уж отрисовка не работает.
https://github.com/cbm80amiga/Arduino_S ... 9_Fast.cpp
Код: Выделить всё
void Arduino_ST7789::resetDisplay()
{
writeCmd(ST7789_SWRESET);
delay(5);
}
Re: ST7789 зависания
[uquote="AlanDrakes",url="/forum/viewtopic.php?p=4781199#p4781199"]Сброс желательно делать по пину /Reset, если таковой заведён.
Если нет - дёргать питание.
Софтовый сброс (через команду управления) может не пройти, раз уж отрисовка не работает.
И это софтовый сброс.[/uquote]
ясно
значит вариант, проверять доступность дисплея и при отсутствии ответа - перезагружать ардуинку целиком программно...
Если нет - дёргать питание.
Софтовый сброс (через команду управления) может не пройти, раз уж отрисовка не работает.
И это софтовый сброс.[/uquote]
ясно
значит вариант, проверять доступность дисплея и при отсутствии ответа - перезагружать ардуинку целиком программно...
Re: ST7789 зависания
[uquote="ELITE",url="/forum/viewtopic.php?p=4781416#p4781416"]перезагружать ардуинку целиком программно...[/uquote]Абдурину то зачем перегружать? Вроде сами же писали, что не она виснет, а дисплей.
Дёрнуть RESET (раз он есть) и провести полный re-init дисплея. И всё.
PS: Хотя правильнее конечно - искать и устранять баг.
Дёрнуть RESET (раз он есть) и провести полный re-init дисплея. И всё.
PS: Хотя правильнее конечно - искать и устранять баг.
- kelvin
- Нашел транзистор. Понюхал.
- Сообщения: 161
- Зарегистрирован: Вс дек 19, 2010 14:37:45
- Контактная информация:
Re: ST7789 зависания
Народ, напишите код для подключения ST7789, // у меня ST7789V3 280*240
сегодня полдня мучался - нихрена не выходит. ничего не выводит.
куплено два экрана... Есть идея... очень нужен
ссылка на github (выше) не работает\недоступно
сегодня полдня мучался - нихрена не выходит. ничего не выводит.
куплено два экрана... Есть идея... очень нужен
ссылка на github (выше) не работает\недоступно