|
#define | LOBYTE(x) (uint8_t)((uint16_t)x) |
|
#define | HIBYTE(x) (uint8_t)(((uint16_t)x)>>8) |
|
#define | MAKE_WORD(hi, lo) ((hi*0x100)+lo) |
|
#define | enable_interrupts() sei() |
|
#define | disable_interrupts() cli() |
|
#define | _PPCAT(a, b) a##b |
|
#define | _PPCAT3(a, b, c) a##b##c |
|
#define | activate_output_bit(NAME) _PPCAT(NAME,_DDR)|=_BV(_PPCAT(NAME,_BIT)) |
|
#define | deactivate_output_bit(NAME) _PPCAT(NAME,_DDR)&=~(unsigned char)_BV(_PPCAT(NAME,_BIT)) |
|
#define | set_output_bit(NAME) _PPCAT(NAME,_PORT)|=_BV(_PPCAT(NAME,_BIT)) |
|
#define | clear_output_bit(NAME) _PPCAT(NAME,_PORT)&=~(unsigned char)_BV(_PPCAT(NAME,_BIT)) |
|
#define | toggle_output_bit(NAME) _PPCAT(NAME,_PORT)^=_BV(_PPCAT(NAME,_BIT)) |
|
#define | set_output_bitval(NAME, VAL) _PPCAT(NAME,_PORT)=(_PPCAT(NAME,_PORT)&~(unsigned char)_BV(_PPCAT(NAME,_BIT)))|((VAL)?_BV(_PPCAT(NAME,_BIT)):0) |
|
#define | get_input_bit(NAME) (_PPCAT(NAME,_PIN)&_BV(_PPCAT(NAME,_BIT))) |
|
#define | get_output_bit(NAME) (_PPCAT(NAME,_PORT)&_BV(_PPCAT(NAME,_BIT))) |
|
#define | activate_output_groupbit(NAME, BIT) _PPCAT(NAME,_DDR)|=_BV(_PPCAT3(NAME,_BIT_,BIT)) |
|
#define | deactivate_output_groupbit(NAME, BIT) _PPCAT(NAME,_DDR)&=~(unsigned char)_BV(_PPCAT3(NAME,_BIT_,BIT)) |
|
#define | set_output_groupbit(NAME, BIT) _PPCAT(NAME,_PORT)|=_BV(_PPCAT3(NAME,_BIT_,BIT)) |
|
#define | clear_output_groupbit(NAME, BIT) _PPCAT(NAME,_PORT)&=~(unsigned char)_BV(_PPCAT3(NAME,_BIT_,BIT)) |
|
#define | toggle_output_groupbit(NAME, BIT) _PPCAT(NAME,_PORT)^=_BV(_PPCAT3(NAME,_BIT_,BIT)) |
|
#define | set_output_groupbitval(NAME, BIT, VAL) _PPCAT(NAME,_PORT)=(_PPCAT(NAME,_PORT)&~(unsigned char)_BV(_PPCAT3(NAME,_BIT_,BIT)))|((VAL)?_BV(_PPCAT3(NAME,_BIT_,BIT)):0) |
|
#define | get_input_groupbit(NAME, BIT) (_PPCAT(NAME,_PIN)&_BV(_PPCAT3(NAME,_BIT_,BIT))) |
|
#define | get_output_groupbit(NAME, BIT) (_PPCAT(NAME,_PORT)&_BV(_PPCAT3(NAME,_BIT_,BIT))) |
|
#define | activate_output_group(NAME) _PPCAT(NAME,_DDR)|=_PPCAT(NAME,_MASK) |
|
#define | deactivate_output_group(NAME) _PPCAT(NAME,_DDR)&=~(unsigned char)_PPCAT(NAME,_MASK) |
|
#define | set_output_group(NAME) _PPCAT(NAME,_PORT)|=_PPCAT(NAME,_MASK) |
|
#define | clear_output_group(NAME) _PPCAT(NAME,_PORT)&=~(unsigned char)_PPCAT(NAME,_MASK) |
|
#define | ATOMIC_C90_BEGIN() {uint8_t _sreg_bak__ = SREG; cli(); { |
|
#define | ATOMIC_C90_END() } SREG = _sreg_bak__;} |
|
Zuordnung der physikalischen Pins zu symbolischen Namen.