From 8de31cbb78f98eb4d3c5b7232e85337b15f294e5 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Mon, 12 Jul 2010 07:11:50 +0000 Subject: Reduce prescaler of the flush timer in the USBtoSerial demo, so that buffer overruns will not occur regardless of hardware and baud rate settings. --- Projects/USBtoSerial/USBtoSerial.c | 4 ++-- Projects/XPLAINBridge/Lib/SoftUART.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Projects/USBtoSerial/USBtoSerial.c b/Projects/USBtoSerial/USBtoSerial.c index 918986883..145047cbc 100644 --- a/Projects/USBtoSerial/USBtoSerial.c +++ b/Projects/USBtoSerial/USBtoSerial.c @@ -124,8 +124,8 @@ void SetupHardware(void) LEDs_Init(); USB_Init(); - /* Configure the UART flush timer - run at Fcpu/1024 for maximum interval before overflow */ - TCCR0B = ((1 << CS02) | (1 << CS00)); + /* Start the flush timer so that overflows occur rapidly to push received bytes to the USB interface */ + TCCR0B = (1 << CS02); } /** Event handler for the library USB Connection event. */ diff --git a/Projects/XPLAINBridge/Lib/SoftUART.c b/Projects/XPLAINBridge/Lib/SoftUART.c index 90c23b71d..4ec8dcdc8 100644 --- a/Projects/XPLAINBridge/Lib/SoftUART.c +++ b/Projects/XPLAINBridge/Lib/SoftUART.c @@ -124,7 +124,7 @@ ISR(TIMER1_COMPA_vect, ISR_BLOCK) } /** ISR to manage the transmission of bits via the software UART. */ -ISR(TIMER3_COMPA_vect, ISR_NOBLOCK) +ISR(TIMER3_COMPA_vect, ISR_BLOCK) { /* Check if transmission has finished */ if (TX_BitsRemaining) -- cgit v1.2.3