Это очень сложно. Последовательный порт можно запрограммировать на определенных скоростях передачи, которые обычно варьируются от 300 бод (или около того) до 115200 (230400 и 460800 на более поздних машинах). Однако большинство скоростей кратны: 300, 600, 1200, 2400, 4800 и т.д. MIDI, однако, составляет 31250 бод, что сложно программировать, поскольку отсутствует «гармоническое» отношение. Поскольку это исправлено в ПК (и отличается от Atari), это представляет серьезную проблему.
Другая проблема заключается в том, что MIDI представляет собой цепь с токовой петлей (с оптопарами), в то время как RS232 работает с напряжениями. Вам нужно будет сделать внешний интерфейс, чтобы сделать совместимым.
Затем, последним препятствием является программное обеспечение: управление UART является относительно простым, и существует множество примеров (см. «Инструкции по последовательному программированию»). Проблема здесь заключается в том, что вы, вероятно, хотите представить какой-то стандартный интерфейс для музыкальных программ, управляющих MIDI. Таким образом, вашему драйверу придется управлять стороной UART и представить правильный интерфейс для программного обеспечения.
Большинство современных MIDI-интерфейсов также представляют синхронизацию с MIDI-кодом для пользовательской программы, что является дополнительной проблемой.
Таким образом, гораздо проще купить дешевый интерфейс USB-MIDI!