author | Tero Marttila <terom@paivola.fi> |
Wed, 08 Oct 2014 23:19:03 +0300 | |
changeset 9 | 49643ef9d3d2 |
parent 8 | 61eba9d55764 |
permissions | -rw-r--r-- |
#include "stdlib.h" //#include "switch.h" #include <avr/io.h> #include <avr/interrupt.h> byte switch_mask; byte switch_status; byte switch_state; ISR(PCINT0_vect) { switch_status = 1; switch_state = PINB; } ISR(PCINT1_vect) { switch_status = 1; switch_state = PINC; } ISR(PCINT2_vect) { switch_status = 1; switch_state = PIND; } byte switch_read (byte *sp) { if (!switch_status) return 0; switch_status = 0; *sp = ~switch_state & switch_mask; return 1; }