MIDI蓝牙LE,SYSEX消息不完整

时间:2016-12-16 10:20:06

标签: bluetooth-lowenergy midi coremidi

使用MIDI蓝牙LE框架,我通过蓝牙发送此MIDI SYSEX消息:

  

“F0H 26H 79H 0EH 7FH F7H”

我通过蓝牙接收:

  

“F0H 26H 79H 0EH 7FH”(缺少SYSEX结束)

我必须以编程方式添加结束字节,但我不知道,何时结束发生。这是框架中的错误吗?

1 个答案:

答案 0 :(得分:0)

回叫方法出错。现在它可以与Yamaha MD-BT01一起使用。

捕获MIDI In数据并将其填入环形缓冲区以供以后处理:

static void MyMIDIReadProc(const MIDIPacketList *pktlist, void *refCon, void *connRefCon) {
for (unsigned int i = 0; i < pktlist->numPackets; i++) {
    if (i == 0) packet2 = pktlist->packet[0];
    nBytes2 = packet2.length;
    iByte2 = 0;
    while (iByte2 < nBytes2) {
        inputByte2 = packet2.data[iByte2];
        inppoint2++;
        if (inppoint2 >= bufsize2){
            inppoint2 = 0;
        }
        inputBuffer2[inppoint2] = inputByte2;
        iByte2 ++;
    }
    packet2 = *MIDIPacketNext(&packet2);
}

}