Спасибо от RK9AMX
Раз для термодатчика не нашлось работы, то предлагаю его исключить из схемы. Освободится порт для кнопки. У меня кнопка на D0 не работает. Да и для UART такое подключение кнопки не подойдет.
В общем, дописал в программу 1.0.8 (последняя из выложенных в этой теме) функцию для проверки работоспособности идеи с настройкой от ПК. Нужно это проверить. У себя на столе проверял, работает, но вдруг что...
Из программы все функции по термодатчику не выпиливал, отключил только инициализацию и процедуру измерения. Кнопка перенесена на порт D6. Работает следующим образом. При включении с нажатой кнопкой на дисплее отображается информация, что она нажата. Если в течение 3 сек. она остаётся нажата, то включается режим конфигурации. Если опустить кнопку раньше или вообще не нажимать, то включается обычный режим программы. Пока режим конфигурации тестовый. В COM-порт отправляются 2 посылки. Информация дублируется на дисплее. Нужно проконторолировать получение посылок в мониторе COM-порта Arduino IDE. Открыть монитор можно из главного меню или сочетанием клавиш ctrl+shift+M.
В общем, кратенько:
- запускаем монитор порта;
- нажимаем и удерживаем кнопку S1;
- включаем питание контроллера или нажимаем кнопку RESET;
- по истечении ~3 сек. отпускаем кнопку;
- контролируем данные в мониторе и на LCD.
Почти убедили, давайте продолжим в другой теме, здесь это оффтоп
Не забывайте, что на плате эти порты стоят не по порядку - сначала D1 (TX1), а затем D0 (RX0).
Работает и у меня. Есть некоторые замечания. Конфигурация кнопки 6 - pinMode(6, INPUT) работает с внешним подтягивающим резистором. Переделал на внутренний подтягивающий резистор pinMode(6, INPUT_PULLUP). Затем обратил внимание, что это та же самая кнопка, которая используется библиотекой sav_button.h, которая кстати, точно так же делает инициализацию. Поэтому эту строку можно вообще не писать. Что собственно я и проверил. На индикаторе все отображается, в мониторе порта тоже.
Второй момент. Лучше не использовать стандартный обмен по Serial, а применить ускоренный и облегченный вариант https://alexgyver.ru/gyveruart/
Тем более ядро AlexGyver давно установлено и показало лучшую скорость и сжатие компилятора. Если нет ядра, можно использовать библиотеку GyverUART v1.6
Добавлено через 13 минут(ы):
Проверил работу GyverUART на 115200, никаких проблем.
Добавлено через 6 минут(ы):
Проверил ради интереса на скорости 1000000 бод, работает:
Последний раз редактировалось Integral; 17.01.2020 в 15:44.
Спасибо от RK9AMX
Чем "Serial" хуже? A с другими иногда может наблюдаться в будущем несовместимость (или необходимость переписания кода).
Сергей, спасибо за проверку и обстоятельный ответ!
Да, спасибо, забыл убрать, когда библиотечную функцию кнопки использовал.
Память остаётся свободна на более чем 50%. Возможно пока нет большого смысла в сторонних библиотеках. Да и скорость тут особо не важна. Буду использовать "стандартную" 9600 (один байт передается 1мс). Считать/записать пару десятков байт разницы особой не будет.
Всем привет! читаю читаю и не как не могу понять как загрузить программу в ардуинку !где про это написано?
Добавлено через 59 минут(ы):
Вопрос снят все нашел!
Последний раз редактировалось ua3uhp; 17.01.2020 в 20:14.
Подскажите тип индикатора
wh2004d
ua3uhp,А,на каком контроллере.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)