Closed GoogleCodeExporter closed 9 years ago
How about this baud rate calculation? It uses double speed mode everywhere,
except for 57600 baud on the 16 MHz boards. This ensures compatibility with
the 8U2 firmware on the Uno and Mega 2560 (which, in turn, was intended to
allow people to swap their 328 from a Duemilanove to an Uno).
bool use_u2x = true;
#if F_CPU == 16000000UL
// hardcoded exception for compatibility with the bootloader shipped
// with the Duemilanove and previous boards and the firmware on the 8U2
// on the Uno and Mega 2560.
if (baud == 57600) {
use_u2x = false;
}
#endif
Original comment by dmel...@gmail.com
on 12 Nov 2010 at 4:15
https://github.com/arduino/Arduino/commit/66755f9bced2009612052800ef7f1a0b9afde3
c5
Original comment by dmel...@gmail.com
on 12 Nov 2010 at 4:32
With Arduino IDE 022, which definately contains the above ^^ fix. The problem
still exists.
Test program:
void setup() {
Serial.begin(57600);
}
void loop() {
while ( Serial.available( ) > 0 ) {
byte serialByte = Serial.read();
Serial.print(serialByte);
}
}
Like others have experienced - change the speed up to 115200 and everythings
fine. I seriously doubt this is fixed yet.
Dont get me wrong - the change did seem to do "something". Setting use_u2x =
false gave like a 30% error rate or about 1 in 3 characters. Compared to a
higher 50% error rate by leaving use_u2x = true.
Perhaps its a case to dig deeper into the 8u2 firmware, and make more
significant changes.
Original comment by dreamc...@gmail.com
on 28 Feb 2011 at 11:23
What operating system are you on? I just tested with Mac OS X 10.6 (and
Arduino 0022) and the communication was flawless.
Original comment by dmel...@gmail.com
on 28 Feb 2011 at 1:20
Tried this earlier today on Mac OS-X 10.6.6 (Build 10J567). With a brand new
official Arduino UNO bought from Farnell.com 2 weeks ago. Arduino 022 IDE.
Heres a run from the serial monitor just now:
aababcab,öabcVöab,Vÿab,Vÿ
The text input was:
a
ab
abc
abcd
abcde
abcde
abcde
(The above program, Serial monitor at 57600 baud, no line ending).
Original comment by dreamc...@gmail.com
on 28 Feb 2011 at 3:48
That was on an Apple Mac Mini (2007-8). The hardware profiler says:
USB Bus:
Host Controller Location: Built-in USB
Host Controller Driver: AppleUSBUHCI
PCI Device ID: 0x27c8
PCI Revision ID: 0x0002
PCI Vendor ID: 0x8086
Bus Number: 0x1d
Arduino Uno:
Product ID: 0x0001
Vendor ID: 0x2341
Version: 0.00
Serial Number: 64938323131351113171
Speed: Up to 12 Mb/sec
Manufacturer: Arduino (www.arduino.cc)
Location ID: 0x1d100000
Current Available (mA): 500
Current Required (mA): 100
Original comment by dreamc...@gmail.com
on 28 Feb 2011 at 3:51
Perhaps these results could be explained if our Uno boards had different
firmware(s) programmed onto them?
Original comment by dreamc...@gmail.com
on 28 Feb 2011 at 4:01
Apologies - its my mistake. There was some old firmware in my Sketches/hardware
folder. Clearly that was overriding the stock 022 IDE. Removed the folder and
the 57600 baud now working.
Thanks for confirming this.
Original comment by dreamc...@gmail.com
on 28 Feb 2011 at 10:02
Original issue reported on code.google.com by
wes...@gmail.com
on 9 Nov 2010 at 12:49