Заменил-таки в своем частотомере индикатор и немного дописал прошивку. Сильно переделывать прибор не стал, потому что если тронуть - так и то, и это надо менять. Много всего можно улучшить и доделать. Но зачем, если и так все устраивает? А самое страшное, это будет уже другой прибор. Вот индикатор всегда хотелось покрасивей. Найти маленький 1601 так и не удалось, но зато чудом достались 1602 нужного размера. Это тоже неплохо, только нужно чем-то заполнить вторую строку. Сделал измеритель уровня. Не стал заморачиваться, поставил обычный диодный детектор на Д2Е. Показывает неизвестно что, поэтому выводить цифры не стал, вывел только шкалу. Функцию свою выполняет - дырку на индикаторе загораживает.
Еще добавил ввод опорной частоты из меню. Доработка связана исключительно с тем, что проект пошел в массы. Этой проблемы я даже не предвидел - у меня опорный генератр на 12.8 МГц, внес в исходник константу, и все. Но когда начали прибор повторять, оказалось, что у всех разные генераторы. Пришлось много раз перекомпилировать прошивку, сейчас насчитывается 36 вариантов для разных частот и разных индикаторов. Делать какие-то обновления программы в таких условиях сильно накладно, пришлось бы все эти варианты компилировать заново. Теперь этого не потребуется.
Очень интересно вносить дополнения в программу, которая занимает почти всю память МК. Для каждой мелочи приходится по ходу расчищать место. Ползаешь глазами туда-сюда по тексту и ищешь места, которые можно написать короче по коду. При этом идет постоянная борьба экономии и эстетики. Некоторые места могли бы дать выигрыш по памяти, но текст тогда смотрелся бы некрасиво. От таких изменений отказывался. Вообще, когда у компилятора стоит максимальный уровень оптимизации, не всегда можно предсказать, короче или длиннее получится код в результате модификации исходника. Тем не менее, все получилось, даже остался какой-то запас - занято 7936 байт из 8192. В предыдущей версии с меньшим функционалом было занято примерно столько же.