Вообще обычно есть время установки сигнала. Для тех, что я использовал вроде 2мкСек, точно не помню. Т.е. вероятно девайс не успевает за Arduino.
Проблема думаю с частотой. Девайс 8МГц, ардуино 16Мгц. Если 16-16 то все. Подключал NodeMCU 80Мгц, чтобы читал из 16МГц уже работает не корректно. Т.е. надо как-то понизить частоту на считывающие пины без перепайки кварца и перепрошивки ардуины. Прошу помочь
Можно по подробнее схему. Не совсем понятно что делайте. ЖКИ - это дисплей. Тогда причем 8 MHz. У них по дата щиту есть время установки сигнала после подачи команды, надо смотреть для конкретного дисплея.
В каком порядке вы пишете в ЖКИ? У меня так: - Установить E - Установить RW - Вывести данные - Задержка - Сброс D7 - Сброс E - Задержка В этом случае можно читать через время равное половине "задержки" после установки RW. Все должно надежно работать У меня примерно так: Код (C++): void lcd_applay(uint8_t rs, uint8_t rw, uint8_t data) { 38 PORT_OTHER |= _BV(PIN_E); 39 if (rs) PORT_OTHER |= _BV(PIN_RS); 40 else PORT_OTHER &= ~(_BV(PIN_RS)); 41 if (rw) PORT_OTHER |= _BV(PIN_RW); 42 else PORT_OTHER &= ~(_BV(PIN_RW)); 43 PORT_DATA = data ; 44 _delay_ms(1); 45 PORT_DATA &= ~(_BV(PIN7)); 46 PORT_OTHER &= ~(_BV(PIN_E)); 47 _delay_ms(1); 48 }