diff options
author | David Lamparter <equinox@diac24.net> | 2012-09-22 23:02:15 +0200 |
---|---|---|
committer | David Lamparter <equinox@diac24.net> | 2012-09-22 23:02:15 +0200 |
commit | 6966eb287f160c68c597105e60b191806a63b9ba (patch) | |
tree | 1f91368d1dd2dc5009322a7a7910e5da49d08773 /lightctrl.c | |
parent | 415ca2037b3cefc64ee59279950fe85fa679e3cd (diff) |
can: handle interrupt asynchronously
Diffstat (limited to 'lightctrl.c')
-rw-r--r-- | lightctrl.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/lightctrl.c b/lightctrl.c index 2a82ad3..e901714 100644 --- a/lightctrl.c +++ b/lightctrl.c @@ -223,15 +223,12 @@ int main(void) while (1) { wdt_reset(); - if (canint) { - canint = false; - can_int(); - if (can_rx_addr.b[0]) { - can_rx_exec(); - can_rx_addr.u = 0; - } + if (can_rx_avail()) { + can_rx_exec(); + can_rx_pop(); } + _delay_ms(5); do_tick(); |