diff options
author | Cristian Maglie <c.maglie@bug.st> | 2012-03-07 16:21:04 +0100 |
---|---|---|
committer | Cristian Maglie <c.maglie@bug.st> | 2012-03-07 16:21:04 +0100 |
commit | b407337677f8b6964a69939e0fb5a371dfb0d3e4 (patch) | |
tree | 5f85b35863c1d84ce1ab91a93cc6d1fda30c4d54 /cores | |
parent | 15660068717c4721c60c9caefc1a8eaff702cc24 (diff) |
Fix for some strange behaviours during board reset
Diffstat (limited to 'cores')
-rw-r--r-- | cores/arduino/USBCore.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cores/arduino/USBCore.cpp b/cores/arduino/USBCore.cpp index 7924078..c360d26 100644 --- a/cores/arduino/USBCore.cpp +++ b/cores/arduino/USBCore.cpp @@ -637,6 +637,12 @@ void USB_::attach() PLLCSR = 0x12; // Need 16 MHz xtal while (!(PLLCSR & (1<<PLOCK))) // wait for lock pll ; + + // Some tests on specific versions of macosx (10.7.3), reported some + // strange behaviuors when the board is reset using the serial + // port touch at 1200 bps. This delay fixes this behaviour. + delay(1); + USBCON = ((1<<USBE)|(1<<OTGPADE)); // start USB clock UDIEN = (1<<EORSTE)|(1<<SOFE); // Enable interrupts for EOR (End of Reset) and SOF (start of frame) UDCON = 0; // enable attach resistor @@ -659,4 +665,4 @@ void USB_::poll() { } -#endif /* if defined(USBCON) */
\ No newline at end of file +#endif /* if defined(USBCON) */ |