Ясно, желаю успехов!
Добавлено спустя 51 минуту 42 секунды:Сделал следующее:
#define BlinkHalfPeriod 48 //примерно 1 моргание в секунду
if (View == 0) if (ErrorDetected) if (DimmerCounter % 2 == 0)
вместо ShowDisplayData(); поставил ShowDisplayData11Times()
Заключение:
Опрос датчика почти незаметен, можно сказать идеально. При ошибке моргание яркостью примерно раз в секунду, изменение яркости очень заметно (идеально)
p/s Включаю, сдергиваю датчик (обрыв) - Е0.2 (идеально срабатывает), при подключении датчика иногда выскакивает Е0.3 (значит реагирование на ситуацию, когда получилось считать информацию с датчика без предшествующей команды "ConvertT" тоже работает идеально), при замыкании на массу Е0.4 (тоже идеально).
Похоже получилась отличная прошивка. Если внесете такие изменения в исходник, то думаю лучшего желать и не нужно. (Ну а если есть возможность оптимизировать код, то все в Ваших руках!)
p/s2 для себя я еще немного подправил код, чтобы при ошибке EEPROM в него записывалось 3 градуса и дельта 3 (у меня будет работать на обогрев погреба, чтобы при 3 градусах включался обогрев и при 6 отключался. Возможно потом кнопками подредактирую, но если произойдет сбой EEPROM, чтобы записались именно эти значения, чтобы работа термостата была в приемлемых диапазонах). Этим я хочу сказать, что при выкладывании конечного исходника было бы полезно указать в каких строчках можно изменить данные чтобы для каждого конкретного случая подправить исходник(так сказать дополнительная перестраховка для тех, кто беспокоится о том, чтобы не возникла нештатная ситуация)