早期開發板僅單一 USB 介面,SideShow 通訊與 MF 偵錯皆需 USB,驅動程式衝突導致無法同時偵錯與測試 USB 功能。USB 雙介面 (Composite Device) 讓單一實體裝置呈現兩個邏輯介面 (如 Debug + Mass Storage / HID / Application),解決驅動共存與線上偵錯難題。
using System; using Microsoft.SPOT; using System.Threading; using Microsoft.SPOT.Hardware;
namespace USBDeviceTest {
public class Program {
public static void Main() {
byte[] buf = new byte[1024];
YFInterop.MFNative.Usb_Open(0); // 開啟介面 1 (端點 3/4)
while (true) {
int sz = YFInterop.MFNative.Usb_Available();
if (sz > 0 && YFInterop.MFNative.Usb_Read(buf, 0, sz) == sz) {
string dbg = sz + ":";
for (int i=0;i
Debug.Print。架構支援任意擴充至 3、4 個或更多介面,依產品需求組合 Debug、Mass Storage、HID、Vendor-defined 等功能。