Skip to content
Snippets Groups Projects
Commit 64142a1e authored by patacongo's avatar patacongo
Browse files

Clean up AVR timer setup

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@3692 42af7a65-404d-4744-a932-0658087f49c3
parent a8d14c92
No related branches found
No related tags found
No related merge requests found
......@@ -151,15 +151,31 @@ void up_timerinit(void)
OCR1AH = (uint8_t)((uint16_t)MATCH >> 8);
OCR1AL = (uint8_t)((uint16_t)MATCH & 0xff);
/* Setup clock source and compare match behaviour. */
/* Setup clock source and compare match behaviour.
*
* TCRR1A:
* COM1A 0:1 = 00 -> Normal port operation
* COM1B 0:1 = 00 -> Normal port operation
* COM1C 0:1 = 00 -> Normal port operation
* WGM1 0:1 = 00 -> Clear Timer on Compare (CTC) modes of operation
*/
TCCR1A = 0;
/* TCCR1B:
* ICNC1 = 0 -> Input Capture Noise Canceler disabled
* ICES1 = 0 -> Input Capture Edge Select
* WGM 2:3 = 01 -> Clear Timer on Compare (CTC) modes of operation
* CS1 0:2 = xxx ->Selected pre-scaler.
*/
TCCR1A = 0x08 | PRESCALE;
TCCR1B = (1 << WGM12) | PRESCALE;
/* Attach the timer interrupt vector */
(void)irq_attach(AT90USB_IRQ_T2COMPA, (xcpt_t)up_timerisr);
(void)irq_attach(AT90USB_IRQ_T1COMPA, (xcpt_t)up_timerisr);
/* Enable the interrupt on compare match A */
TIMSK1 |= 0x10;
TIMSK1 |= (1 << OCIE1A);
}
......@@ -151,15 +151,31 @@ void up_timerinit(void)
OCR1AH = (uint8_t)((uint16_t)MATCH >> 8);
OCR1AL = (uint8_t)((uint16_t)MATCH & 0xff);
/* Setup clock source and compare match behaviour. */
/* Setup clock source and compare match behaviour.
*
* TCRR1A:
* COM1A 0:1 = 00 -> Normal port operation
* COM1B 0:1 = 00 -> Normal port operation
* COM1C 0:1 = 00 -> Normal port operation
* WGM1 0:1 = 00 -> Clear Timer on Compare (CTC) modes of operation
*/
TCCR1A = 0;
/* TCCR1B:
* ICNC1 = 0 -> Input Capture Noise Canceler disabled
* ICES1 = 0 -> Input Capture Edge Select
* WGM 2:3 = 01 -> Clear Timer on Compare (CTC) modes of operation
* CS1 0:2 = xxx ->Selected pre-scaler.
*/
TCCR1A = 0x08 | PRESCALE;
TCCR1B = (1 << WGM12) | PRESCALE;
/* Attach the timer interrupt vector */
(void)irq_attach(AT90USB_IRQ_T2COMPA, (xcpt_t)up_timerisr);
(void)irq_attach(ATMEGA_IRQ_T1COMPA, (xcpt_t)up_timerisr);
/* Enable the interrupt on compare match A */
TIMSK1 |= 0x10;
TIMSK1 |= (1 << OCIE1A);
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment