MIDI program change causing reset

I am sending program control changes to a MIDI device, but its seems that perhaps the data is too quick or causes confusion, because it cause the MIDI device to reset when the program data changes rapidly. It is OK with continuous controller messages but not with program change messages. I have tried two different devices, same brand though.

Being that the baud rate is set by the microcontroller, I don't see how it could be too quick though. The routine is being called every 10mS.

What else could be causing it.

If you really mean PC message then you're asking some unnamed "MIDI device" to reconfigure it's program/patch memory at a rate of 100 times a second. I can't say I'm surprised that might confuse some devices. Have you tried slowing down the rate to see what the "device"can cope with?

I doubt if it has anything to do with the baud rate, it's more likely to be simply the amount of processing required internally to perform a Program Change.


yes, about 50mS is OK. I guess I'll set it at 100mS and hope that suits everything

why is it a problem though, i don't understand. If, MIDI transfer rate is 38500 bits per second (about 4800 bytes per second), 1/4800 = about 0.2mS. and I am sending two bytes (program change code C0 and the 8 bit data, every 10mS, why does it cause a problem?

Standard MIDI transfer rate is 31250 bps. If you're using 38500 then I guess that may be contributing to the confusion but I'd still be more interested in what processing your "MIDI device" is doing when it receives and interprets the PC command. Whatever it is it's not likely to be optimised for people who want to change its program/preset 100 times a second, i.e. possibly twice in a single cycle of a 50Hz note.


yeah sorry 31250.

I see. The MIDI device is a guitar multi effects pedal. PC is the same as stepping on the footswitch, which I guess might be designed for 3 - 4 times a second max.