/******************************************************************************** General utilities for AVR I/O handling Copyright (C) 2006 Alexey "Gall" Galakhov This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *********************************************************************************/ #ifndef _BIT_H #define _BIT_H #ifndef BV #ifdef _BV #define BV _BV #else #define BV(bit) (1 << bit) #endif #endif #ifndef sbi #define sbi(port, bit) \ port |= BV (bit) #endif #ifndef cbi #define cbi(port, bit) \ port &= ~BV (bit) #endif #ifndef bit #define bit(port, bit, value) \ { \ if (value) \ sbi (port, bit); \ else \ cbi (port, bit); \ } #endif #endif /* _BIT_H */