I have understood that this asyncronous protocol requires a status byte that always starts with a 1 to be able to tell what the start is of the next package and what to do with the data bytes.

When utilizing running status, the status byte can be omitted to save time. How then can the protocol tell what the start is of the data byte?


1 Answer 1


In the MIDI protocol, "running status" is only permitted on messages that have a fixed length. Therefore, the receiver can keep track of the message boundaries by counting the data bytes.

  • \$\begingroup\$ OK, nice. So how does it keep track that a byte has been recieved? \$\endgroup\$
    – hacke
    Dec 1, 2012 at 12:46
  • \$\begingroup\$ Every byte is bracketed by start and stop bits (standard UART protocol). \$\endgroup\$
    – Dave Tweed
    Dec 1, 2012 at 12:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.