Fix instructions for better compat for callback from main
This commit is contained in:
+3
-3
@@ -37,9 +37,9 @@ loop:
|
||||
|
||||
;rcall midi_send ; Send MIDI ping
|
||||
|
||||
rcall blink_led
|
||||
in r16, TIFR0 ; Check timer0 status
|
||||
sbrc r16, OCF0A ; Skip stop_blink if clear
|
||||
; if midi clock then also do: rcall start_blink
|
||||
in r16, TIFR0 ; Read Interrupt Flag Register
|
||||
sbrs r16, OCF0A ; If timer status OCF0A=1 skip jump
|
||||
rcall stop_blink
|
||||
|
||||
|
||||
|
||||
+10
-9
@@ -1,26 +1,27 @@
|
||||
#define __SFR_OFFSET 0
|
||||
#include <avr/io.h>
|
||||
|
||||
blink_led:
|
||||
clr r16 ; Clear register
|
||||
out TCNT0, r16 ; Reset Counter to 0
|
||||
start_blink:
|
||||
sbi PORTB, PB0 ; Set LED on
|
||||
|
||||
ldi r16, (1<<OCF0A)
|
||||
ldi r16, (1 << OCF0A) ; Clear timer status flag
|
||||
out TIFR0, r16 ; Clear timer0 status
|
||||
|
||||
clr r16 ; Clear register
|
||||
out TCNT0, r16 ; Reset Counter to 0
|
||||
|
||||
ldi r16, (1 << CS02) | (1 << CS00) ; Load prescaler value (00000101 = prescaler 1024)
|
||||
out TCCR0B, r16 ; Enable clock source
|
||||
|
||||
ret
|
||||
|
||||
blink_delay:
|
||||
in r16, TIFR0 ; Read Interrupt Flag Register
|
||||
sbrs r16, OCF0A ; If OCF0A = 1 skip jump
|
||||
rjmp wait_loop ; Else loopback
|
||||
stop_blink:
|
||||
cbi PORTB, PB0 ; Set LED off
|
||||
|
||||
clr r16 ; Cleanup register
|
||||
out TCCR0B, r16 ; Stop timer0 by clearing prescaler
|
||||
|
||||
cbi PORTB, PB0 ; Set LED off
|
||||
ldi r16, (1 << OCF0A)
|
||||
out TIFR0, r16 ; Clear timer status flag
|
||||
|
||||
ret
|
||||
|
||||
Reference in New Issue
Block a user