Go Down

Topic: Serial/MIDI declaration question (Read 611 times) previous topic - next topic

Tommy T

Hi guys,
I am working on project which in its default form communicates with a PC over the serial link to transfer speed data.

I am currently trying to add a function where it can switch and instead output the data in MIDI format through a different connector depending on a button state (but still using pins 0 and 1 to save input/outputs).

In my current program I set the serial (Serial.begin (9600)) in the void setup, my question is can I later declare the serial port to work as midi (Serial.begin(31250)) or can the serial port only be initialised once at one speed?

Many thanks in advance
Tom

Tommy T

48 views and no ideas? Come on people don't let me down  :)

dwan

It may sound stupid, but did you try? You wouldn't break anything trying to Serial.begin() twice.

Tommy T

Hey thanks for the reply, yeah I have tried it and it will compile however I don't currently have access to the midi receiving hardware so cannot tell if it is working correctly, was hoping someone may know.

I guess I will have to wait for then, thanks anyway though

mikalhart

Tommy, there is no problem with calling Serial.begin multiple times at multiple speeds.  To test, I made a little sketch that prints data at two different speeds:

Code: [Select]
void setup()
{
 Serial.begin(9600);
 Serial.println("Hello at 9600");
 delay(5000);
 Serial.begin(115200);
 Serial.println("Hello at 115200");
}
void loop(){}


When I set my serial monitor to 9600 I got reasonable text then garbage.  At 115K it was the other way around.

I think your only concern is whether 31250 works as a baud rate.

Good luck!

Mikal

Go Up
 


Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

Arduino
via Egeo 16
Torino, 10131
Italy