Arduino's Network...

Hi!!!

How are you?

Im working in a project that involves the usage of several arduinos to control several leds stripes, and a arduino mega that will be giving orders to the other arduinos, but the catch is that for obtaining the correct visual effect with the led stripes, it requires to be at least more than 0.7 mbits per connection...

Is it possible to have aprox 1mbps connections in each serial port that the arduino mega has??

something like this:

Serial1.begin(1000000); Serial2.begin(1000000); Serial3.begin(1000000);

If its possible, how can i measure that its real 1mbit??

I make a test, with the mega and a diecimila, but i'm not really sure if its at that speed...

Mega Code:

void setup() {

Serial.begin(230400); Serial1.begin(1000001); }

void loop() {

while (Serial1.available() > 0) { Serial.print("Speed: "); Serial.println(Serial1.read(),DEC); }

}

Diecimila code:

char input[20];

void setup() {

Serial.begin(1000001); }

void loop() {

int i = 0; while (Serial.available() > 0) { input = Serial.read(); * i++;* * }* * Serial.write(0x80);* * }* --------------------------------------------------------------------------- When i use the hyperterminal on windows, and use the usb with the mega, the max baud rate i can use is 230400, but if i use the next baud rate on the hyperterminal (460800), and change it in the mega also, i just get characters like this: ¸?“°¥¥¤??±'¸?³°¥¥¤º?±²¸?“°¥¥¤? ±²?±¤? '²¸?“°¥¥¤º ''¸?³°¥¥¤??'²??³°¥¥¤??±²¸ ?“°¥¥¤? ''??³°¥¥¤??''??³°¥¥¤? ''??“°¥¥¤º?''??³°¥¥¤? ±²¸?³°¥¥¤º?''¸?³°¥¥¤? * '²¸?³°¥¥¤? ±'¸?³°¥¥¤? ''??“°¥¥¤º?''??³°¥¥¤? ±²¸?“°¥¥¤??'²¸?³°¥¥¤? ''¸?³°* ¥¥¤º ''??³°¥¥¤º?''??“°¥¥¤? ±²??“°¥¥°º '²??³°¥¥¤??±'??“°¥¥¤??'²¸?³°¥¥¤??±'¸ ?³°¥¥¤? '²¸?³°¥¥¤??''¸?“°¥¥¤? ''??³°¥¥¤? ''¸?³°¥¥¤??±¤? ''¸?³°¥¥¤º ±'¸?³° ¥¥¤??±'¸?“°¥¥¤º?±²??“°¥¥¤? ''¸?³°¥¥¤? ''??³°¥¥¤º?''¸?“°¥¥¤??±'¸?³°¥¥¤??±¥¤ ? ''??³°¥¥¤º''??“°¥¥¤º?°º '²¸?“°¥¥¤??'²??“°¥¥¤º?''??³°¥¥¤º ''??³°¥¥¤º?'²? ?“°¥¥¤º ''??“°¥¥¤º?''¸?³°¥¥¤? ''??³°¥¥¤??±²¸?“°¥¥¤º?±'??“°¥¥¤º ''¸?³±¤º?' '??³°¥¥¤? ''??³°¥¥¤º?''¸?³°¥¥¤? ''??³°¥¥¤? ±²??“°¥¥¤? ''¸?³°¥¥¤??±'??“°¥¥ ¤º?''??³°¥¥¤º?±²??³°¥¥¤º?±'??³°¥¥¤??±'°? '²??“°¥¥¤??'²¸?“°¥¥¤??''??“°¥¥¤?? ''??³°¥¥¤? ''??³°¥¥¤??''??³°¥¥¤??±'??³°¥¥¤??±²??“°¥¥¤º?±¤? ±²??³°¥¥¤??''¸ ?“°¥¥¤º '²¸?³°¥¥¤º?±²??“°¥¥¤º?''??³°¥¥¤? ''¸?³°¥¥¤? ±'¸?³°¥¥¤º?'²??“°¥¥¤º So, in my conclusion, the max baud rate, with the standard library, arduino 0018, is 230400?? is there a way to obtain more?? Thanks!! Cheers!!

The Arduino core will support any baudrate supported by the target board's microcontroller. For the AtMega1280 (Mega) and AtMega328 (Duemlillanove) this limit is 2Mbit when using a 16MHz clock.

Keep in mind that when specifying integer constants requiring more than 16 bits you should always add the "l" (for signed long) or "ul" (for unsigned long) suffix.

The serial protocols supported by the most popular Arduino mcu's have the following absolute max limits (16MHz clock):

SPI - 8MHz on output (master), 4Mhz on input (slave) I2C - approximately 800kHz USART - 2MHz