PORT_INIT:
- ; port b 0-7 -> input (useless, default)
- ldi tmp1,0x00
- out DDRB,tmp1
+ ; port d 2 -> input (useless, default)
+ cbi DDRD,2
- ; switch pull-up off for inputs (useless, default)
- ldi tmp1,0x00
- out PORTB,tmp1
+ ; switch pull-up off (useless, default)
+ cbi PORTD,2
; port d pin 6 -> output
sbi DDRD,6
; port d pin 6 -> high
cbi PORTD,6
- ; port d 2 -> output (debug 1)
- sbi DDRD,2
-
; port d 3 -> output (debug 2)
sbi DDRD,3
ret
+INT0_IR_CONF_R:
+
+ ; trigger interrupt on rising edge
+ in tmp1,MCUCR
+ sbr tmp1,(1<<ISC01)
+ sbr tmp1,(1<<ISC00)
+ out MCUCR,tmp1
+
+ ret
+
+INT0_IR_CONF_F:
+
+ ; trigger interrupt on rising edge
+ in tmp1,MCUCR
+ sbr tmp1,(1<<ISC01)
+ cbr tmp1,(1<<ISC00)
+ out MCUCR,tmp1
+
+ ret
+
+INT0_IR_CONF_FR:
+
+ ; trigger interrupt on falling and rising edge
+ in tmp1,MCUCR
+ cbr tmp1,(1<<ISC01)
+ sbr tmp1,(1<<ISC00)
+ out MCUCR,tmp1
+
+ ret
+
+INT0_IR_ENABLE:
+
+ ; enable interrupt
+ in tmp1,GIMSK
+ sbr tmp1,(1<<INT0)
+ out GIMSK,tmp1
+
+ ret
+
+INT0_IR_DISABLE:
+
+ ; disable interrupt
+ in tmp1,GIMSK
+ cbr tmp1,(1<<INT0)
+ out GIMSK,tmp1
+
+ ret
+