more work on m644p.
This commit is contained in:
@@ -103,13 +103,11 @@ systemSetupTimer0: ; setup timer for IRQ every 100ms
|
||||
ldi r16, 1
|
||||
sts baseTimerModuleReloadValue, r16
|
||||
sts baseTimerModuleTickCounter, r16
|
||||
.endif
|
||||
|
||||
;
|
||||
; Settings for clock 8Mhz
|
||||
; use timer0 with OCR0=78 (irq every 9.984 millisecs), baseTimerModuleReloadValue 10
|
||||
;
|
||||
.if clock == 8000000
|
||||
.elif clock == 8000000
|
||||
; CMP interrupt about every 10ms
|
||||
ldi r16, 78-1
|
||||
outr OCR0A, r16
|
||||
@@ -117,6 +115,24 @@ systemSetupTimer0: ; setup timer for IRQ every 100ms
|
||||
ldi r16, 10
|
||||
sts baseTimerModuleReloadValue, r16
|
||||
sts baseTimerModuleTickCounter, r16
|
||||
.elif clock == 10000000
|
||||
; CMP-A interrupt about every 10ms
|
||||
ldi r16, 98-1 ; (10,000,000/1024)/10 = 97.65625
|
||||
outr OCR0A, r16
|
||||
|
||||
ldi r16, 10
|
||||
sts baseTimerModuleReloadValue, r16
|
||||
sts baseTimerModuleTickCounter, r16
|
||||
.elif clock == 20000000
|
||||
; CMP-A interrupt about every 5ms
|
||||
ldi r16, 98-1
|
||||
outr OCR0A, r16
|
||||
|
||||
ldi r16, 20
|
||||
sts baseTimerModuleReloadValue, r16
|
||||
sts baseTimerModuleTickCounter, r16
|
||||
.else
|
||||
.error "Unhandled clock frequency"
|
||||
.endif
|
||||
|
||||
ldi r16, (1<<OCF0A) ; clear pending interrupts
|
||||
|
||||
Reference in New Issue
Block a user