author | Tero Marttila <terom@paivola.fi> |
Thu, 25 Sep 2014 00:55:47 +0300 | |
changeset 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; }