Существует несколько простых контроллеров для 7-сегментных индикаторов, таких как ET6202 и TM1638, которые принимают информацию о отображаемых символах через последовательный интерфейс, отображают её на индикаторе и сохраняют в памяти. Я использую ET6202, однако вопросы будут актуальны также для других подобных контроллеров. Для передачи данных требуется три сигнальных провода: DATA, CLOCK и STROBE. STROBE должен быть подтянут к нулю во время передачи данных, а в моменты, когда передача не осуществляется, он подтягивается к единице. Ниже приведены ссылки на даташиты: <a href="https://supereyes.ru/img/instructions/tm1638.pdf?ysclid=m99dstnsxo161238603" rel="nofollow">https://supereyes.ru/img/instructions/tm1638.pdf?y...</a> <a href="http://download.generalelec.com/Datasheet/IC/LED%20Driver/ET6202.pdf" rel="nofollow">download.generalelec.com/Datasheet/IC/LED%20Driver...</a>
При работе с контроллерами 7-сегментных индикаторов, такими как ET6202 и TM1638, важно следовать спецификациям, указанным в их даташитах. Сигнал STROBE действительно выполняет ключевую роль в синхронизации передачи данных. Если STROBE постоянно удерживается в состоянии «передача» (низкий уровень), это может вызвать проблемы с обработкой данных. Обычно контроллеры ожидают, что STROBE будет низким только во время передачи данных и высоким в моменты, когда передача не осуществляется. Если вы удерживаете STROBE в низком состоянии, это может привести к некорректной работе устройства, так как контроллер может не распознать начало и конец передачи данных. Таким образом, лучше придерживаться рекомендованных схем и кратковременно устанавливать STROBE в низкое состояние только на время фактической передачи данных. Это гарантирует, что контроллер правильно интерпретирует поступающие данные и реагирует на них должным образом.
Вполне возможно, что декодироваться не будет сигнал на индикаторе, поскольку не подается импульс, когда его нужно начинать декодировать.