diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2010-11-08 03:41:48 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2010-11-08 03:41:48 +0000 |
commit | 0ce2950d811b8dc11e46602e7490d795d8ddfb5d (patch) | |
tree | 3f070d28b9fe15ef998300769c256477669d5848 /Projects | |
parent | bac860b173c938bda02be4d2b1e6c72d21380a38 (diff) | |
download | lufa-0ce2950d811b8dc11e46602e7490d795d8ddfb5d.tar.gz lufa-0ce2950d811b8dc11e46602e7490d795d8ddfb5d.tar.bz2 lufa-0ce2950d811b8dc11e46602e7490d795d8ddfb5d.zip |
Added board hardware driver support for the Adafruit U4 breakout board.
Fixed calculation of timer register reload values derived from F_CPU; must subtract one from the division result for the compare value to be correct.
Change AVRISP-MKII rescue clock speed to 4MHz to ensure that a 125KHz ISP speed works regardless of the target's fuses (i.e. DIV8 set).
Diffstat (limited to 'Projects')
-rw-r--r-- | Projects/AVRISP-MKII/AVRISP-MKII.txt | 6 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c | 4 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/V2Protocol.c | 2 | ||||
-rw-r--r-- | Projects/TempDataLogger/TempDataLogger.c | 2 | ||||
-rw-r--r-- | Projects/Webserver/Lib/uip/clock.c | 2 |
5 files changed, 8 insertions, 8 deletions
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.txt b/Projects/AVRISP-MKII/AVRISP-MKII.txt index 534af5639..d569e7e3e 100644 --- a/Projects/AVRISP-MKII/AVRISP-MKII.txt +++ b/Projects/AVRISP-MKII/AVRISP-MKII.txt @@ -105,9 +105,9 @@ * </tr> * </table> * - * In addition, the AVR's OCR1A pin will generate a .5MHz clock, to act as an external rescue device clock - * if the fuses have been mis-set. To use the recovery clock, connect the OCR1A pin of the USB AVR to the target - * AVR's XTAL1 pin, and set the ISP programming speed to 125KHz (note: other ISP speeds will not work correctly). + * In addition, the AVR's OCR1A pin will generate a 4MHz clock, to act as an external rescue device clock if the + * fuses have been mis-set. To use the recovery clock, connect the OCR1A pin of the USB AVR to the target AVR's + * XTAL1 pin, and set the ISP programming speed to 125KHz (note: other ISP speeds will not work correctly). * * <b><sup>1</sup></b> <i>Optional, see \ref SSec_Options section - for USB AVRs with ADC modules only</i> \n * <b><sup>2</sup></b> <i>See AUX line related tokens in the \ref SSec_Options section</i> diff --git a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c index fe2f50d07..f4e9e3d3a 100644 --- a/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c +++ b/Projects/AVRISP-MKII/Lib/ISP/ISPTarget.c @@ -196,10 +196,10 @@ void ISPTarget_ConfigureRescueClock(void) DDRB |= (1 << 5); #endif - /* Start Timer 1 to generate a .5MHz clock on the OCR1A pin */ + /* Start Timer 1 to generate a 4MHz clock on the OCR1A pin */ TIMSK1 = 0; TCNT1 = 0; - OCR1A = (F_CPU / 2 / 500000UL); + OCR1A = ((F_CPU / 2 / 4000000UL) - 1); TCCR1A = (1 << COM1A0); TCCR1B = ((1 << WGM12) | (1 << CS10)); } diff --git a/Projects/AVRISP-MKII/Lib/V2Protocol.c b/Projects/AVRISP-MKII/Lib/V2Protocol.c index e2c658673..618dedb43 100644 --- a/Projects/AVRISP-MKII/Lib/V2Protocol.c +++ b/Projects/AVRISP-MKII/Lib/V2Protocol.c @@ -61,7 +61,7 @@ void V2Protocol_Init(void) #endif /* Timeout timer initialization (10ms period) */ - OCR0A = ((F_CPU / 1024) / 100); + OCR0A = (((F_CPU / 1024) / 100) - 1); TCCR0A = (1 << WGM01); TIMSK0 = (1 << OCIE0A); diff --git a/Projects/TempDataLogger/TempDataLogger.c b/Projects/TempDataLogger/TempDataLogger.c index c572a3870..c3cfd65f9 100644 --- a/Projects/TempDataLogger/TempDataLogger.c +++ b/Projects/TempDataLogger/TempDataLogger.c @@ -208,7 +208,7 @@ void SetupHardware(void) TWI_Init(); /* 500ms logging interval timer configuration */ - OCR1A = ((F_CPU / 1024) / 2); + OCR1A = (((F_CPU / 1024) / 2) - 1); TCCR1B = (1 << WGM12) | (1 << CS12) | (1 << CS10); TIMSK1 = (1 << OCIE1A); diff --git a/Projects/Webserver/Lib/uip/clock.c b/Projects/Webserver/Lib/uip/clock.c index 86322966e..0906e6125 100644 --- a/Projects/Webserver/Lib/uip/clock.c +++ b/Projects/Webserver/Lib/uip/clock.c @@ -19,7 +19,7 @@ ISR(TIMER1_COMPA_vect) //Initialise the clock void clock_init() { - OCR1A = ((F_CPU / 1024) / 100); + OCR1A = (((F_CPU / 1024) / 100) - 1); TCCR1B = ((1 << WGM12) | (1 << CS12) | (1 << CS10)); TIMSK1 = (1 << OCIE1A); } |