Есть контакт — 2

Сегодня я добился нормального обмена данными между платой клавиатуры и центральным модулем. Всё работает на реальных платах, не на макетке.

Класс драйвера SPI-клавиатуры я писал «вслепую», т.е. без поэтапной отладки на реальном железе. Поэтому неудивительно, что взлетело не сразу, т.к. были ошибки в коде (забыл проинициализовать соответствующие пины CS, а также в одном месте неправильно определял размер сообщения).

Но сейчас — работает. Как Мастер может по своей инициативе отправить команду в модуль клавиатуры, так и клавиатура может запросить у Мастера SPI-обмен и отправить мастеру своё сообщение.

Рис. 1

Но вся эта красота по неизвестной мне (пока) причине не даёт инициализироваться SD карте (на которой записаны MIDI-файлы для автоаккомпанемента).

Буду выяснять, что там не так с точки зрения SD-карты.

P.S. Заменил SD-карту на другую — оказалось что всё работает. Видимо та, первая — при смерти; неустойчиво работает (в нескольких запусках при одинаковых условиях — разный результат).

Есть контакт — 2: 3 комментария

    1. С моей точки зрения более интересен другой вопрос: а что там вообще мастер собрался командовать клавиатуре? Она что, без команды не сможет докладывать о клавиатурных событиях?

      🙂

Добавить комментарий