USBH_MIDI 项目教程
1. 项目的目录结构及介绍
USBH_MIDI 项目的目录结构如下:
USBH_MIDI/
├── examples/
│ ├── USB_MIDI_converter/
│ ├── USB_MIDI_converter_multi/
│ ├── USB_MIDI_converter_wSysEx/
│ ├── bidirectional_converter/
│ └── USB_MIDI_desc/
├── src/
│ └── usbh_midi.h
├── README.md
└── LICENSE
目录介绍
-
examples/: 包含多个示例项目,展示了如何使用 USBH_MIDI 驱动程序进行 MIDI 转换和双向通信。
- USB_MIDI_converter/: 单设备 MIDI 转换示例。
- USB_MIDI_converter_multi/: 多设备(带 USB 集线器)MIDI 转换示例。
- USB_MIDI_converter_wSysEx/: 支持 SysEx 的 MIDI 转换示例。
- bidirectional_converter/: 双向 MIDI 转换示例。
- USB_MIDI_desc/: USB-MIDI 设备描述符解析示例。
-
src/: 包含核心的 USBH_MIDI 驱动程序文件。
- usbh_midi.h: USBH_MIDI 驱动程序的头文件。
-
README.md: 项目说明文档。
-
LICENSE: 项目许可证文件(GPL-2.0)。
2. 项目的启动文件介绍
项目的启动文件主要位于 examples/
目录下。以下是一些关键的启动文件介绍:
USB_MIDI_converter/
该示例展示了如何将 USB MIDI 键盘转换为传统的串行 MIDI。启动文件为 USB_MIDI_converter.ino
。
USB_MIDI_converter_multi/
该示例展示了如何使用 USB 集线器进行多设备 MIDI 转换。启动文件为 USB_MIDI_converter_multi.ino
。
bidirectional_converter/
该示例展示了如何进行双向 MIDI 转换。启动文件为 bidirectional_converter.ino
。
3. 项目的配置文件介绍
项目的配置文件主要位于 src/
目录下的 usbh_midi.h
文件中。该文件包含了 USBH_MIDI 驱动程序的核心配置和 API 接口。
关键配置项
- RecvData(): 接收 MIDI 消息的 API 接口。
- USBH_MIDI_VERSION: 预定义的宏,表示当前驱动程序的版本。
配置示例
uint8_t RecvData(uint8_t *outBuf) {
// 接收 MIDI 消息(3 字节)
// 返回值为 MIDI 消息长度(0-3)
}
通过这些配置文件和示例,用户可以快速理解和配置 USBH_MIDI 驱动程序,实现 MIDI 设备的转换和通信。