This repository has been archived on 2025-01-09. You can view files and clone it, but cannot push or open issues or pull requests.
cooler-controller/Board/lib/utils/iohelp.h

23 lines
630 B
C

//
// Created by kirillius on 20.04.2020.
//
#ifndef AVR_IOHELP_H
#define AVR_IOHELP_H
//Пример: pinmode_input(DDRB, PORTB1);
#define pinmode_input(DDREGISTER, PINNAME) (DDREGISTER &= ~(1<<PINNAME))
#define pinmode_output(DDREGISTER, PINNAME) (DDREGISTER |= (1<<PINNAME))
//Пример: pinstateset(PORTB, PORTB1, true);
#define pinstateset(PORTREGISTER, PINNAME, STATE) do{ if(STATE){ PORTREGISTER |= (1<<PINNAME); }else{ PORTREGISTER &= ~(1<<PINNAME); } }while(0)
//Пример: int state = pinstateget(PINB, PORTB1);
#define pinstateget(PINREGISTER, PINNAME) (PINREGISTER & (1<<PINNAME))
#endif //AVR_IOHELP_H