73a1186cd390647cd50dd775eb43a2fbeecf5eea
[dmxpainter.git] / src / mcu.h
1 #pragma once
2
3 #include <inttypes.h>
4
5 #include <avr/io.h>
6 #include <avr/interrupt.h>
7
8 #include "pins.h"
9
10 #include "mcu_config.h"\r
11 \r
12 #define nop() asm volatile ("nop")
13
14 #define mcu_isr(name) ISR(name ## _vect) { INT_ ## name (); } int main(void)
15
16 #ifdef __AVR_ATmega8__
17 #include "mcu_atmega8.h"
18 #include "mcu_atmega8_pins.h"
19 #else
20 #error Unknown MCU
21 #endif
22 \r
23 \r
24 \r
25 #define mcu_init() pin_out(PIN_DEBUG)\r
26 volatile uint8_t gg_mcu_debug;\r
27 #define mcu_debug() do { if ((gg_mcu_debug = ~gg_mcu_debug)) { pin_on(PIN_DEBUG); } else { pin_off(PIN_DEBUG); } } while (0)\r