логично. в доке нигде не сказано что вектор надо писать при включенных прерываниях, да и здравый слысл подсказывает что разрешать прерывания при неустановленном векторе - как-то неправильно.
~INT снимается по подтверждению прерывания процессором, длительность зависит в т.ч. от тактовой частоты. с виду нормально.Пока поэтапно тестировал сигналы, обнаружил, что клава шлет селф-тест последовательности при подаче питания. Присмотрелся - да.. вроде ~INT по ~STB + фронту... Какой-то короткий, но все же получается есть. Масштаб = 10uS, значит ~INT примерно 2 uS.
а вот это похоже на то что PIO зависает в состоянии "under service" - то есть "мое прерывание обрабатывают но еще не обработали". выход из этого состояния - по команде RETI на шине данных.Генерится только при первом ~STB, потом хоть выспись - жми 100 раз - ничего на ~INT.
можно засинхронизироваться от ~INT и посмотреть что на IEO происходит.
а возможно и нет. CLK куда зацеплен? если отличается от CLK процессора - возможны нюансы. а еще возможно влияют длинные провода на которых все собрано или контакт где-то не очень...Что,похоже свидетельствует о програмной ошибке.
![]()





Ответить с цитированием