Всех с прошедшими праздниками !
Дождался расширителя пинов для своей отладочной платы и очень расстроился - несмотря на мои подробнейшие инструкции, прислали не с тем разъемом
Думал на выходных спаять и подключить "родную" клавиатуру, но не судьба. Зато начал осваивать новые технологии - "софтовый" процессор NIOS II от Altera.
Сгенерил простую систему (естественно, рядом с Орионом) - процессор, немного памяти и восемь 8-битных (если совсем точно, то два 32-битных) регистров. В регистры должны записываться биты, имитирующие нажатые клавиши. Регистры подключены к мультиплексору. Далее небольшая обвязка, чтобы при записи в порт А скана очередного столбца клавиатуры выбирался соответствующий канал мультиплексора, и чтобы при чтении из порта В читался выход мультиплексора. Все это заработало сразу - впрочем, никаких хитростей тут нет.
Далее подключаем к этому контроллеру клавиатуру (хоть PS/2, хоть USB), и пишем программу, которая будет принимать скан-коды и выставлять/сбрасывать нужные биты в регистрах. Тоже вроде все просто, но есть несколько моментов:
1. Никогда в жизни не работал на аппаратном уровне с портами PS/2 или, тем более, USB
2. Никогда в жизни не писал ни на чем, кроме ассемблера, а тут нужно писать на С.
Так что пока снова беру паузу на изучение вышеупомянутого
P.S. Но даже сейчас уже слегка работает - первая в моей жизни программа на С читает состояние кнопки на отладочной плате и выставляет соответствующим образом один из битов одного из регистров. В результате могу теперь печатать букву D
