Цитата Сообщение от fromzero2infinity Посмотреть сообщение
Поменял.... пока так же....
логично. в доке нигде не сказано что вектор надо писать при включенных прерываниях, да и здравый слысл подсказывает что разрешать прерывания при неустановленном векторе - как-то неправильно.

Пока поэтапно тестировал сигналы, обнаружил, что клава шлет селф-тест последовательности при подаче питания. Присмотрелся - да.. вроде ~INT по ~STB + фронту... Какой-то короткий, но все же получается есть. Масштаб = 10uS, значит ~INT примерно 2 uS.
~INT снимается по подтверждению прерывания процессором, длительность зависит в т.ч. от тактовой частоты. с виду нормально.

Генерится только при первом ~STB, потом хоть выспись - жми 100 раз - ничего на ~INT.
а вот это похоже на то что PIO зависает в состоянии "under service" - то есть "мое прерывание обрабатывают но еще не обработали". выход из этого состояния - по команде RETI на шине данных.
можно засинхронизироваться от ~INT и посмотреть что на IEO происходит.

Что,похоже свидетельствует о програмной ошибке.
а возможно и нет. CLK куда зацеплен? если отличается от CLK процессора - возможны нюансы. а еще возможно влияют длинные провода на которых все собрано или контакт где-то не очень...