Nützliche Definitionen

Bit Manipulationen

 
#define BIT(x) (1 << (x)) // Bit index to bit mask
#define SET(x) |=  BIT(x) // Bit setting
#define CLR(x) &= ~BIT(x) // Bit clearing
#define INV(x) ^=  BIT(x) // Bit inversion
 
// Setzen oder loeschen des angegebenen Bits im angegebenen Byte
#define SETTO(value, bit, to) value = ((to) ? value | BIT(bit) : value & ~BIT(bit)) 
 
// Ueberpruefen ob angegebenes Bit im angegebenen Byte gesetzt ist
#define ISSET(value, bit) ((value) & (BIT(bit)))
 
// avrlibc deprecated macros
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |=  _BV(bit)) // Setze Bit in Byte
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) // Lösche Bit in Byte
 
#define MAX(a, b) ((a) > (b)) ? (a):(b) //Ermittlung Maximalwert von a und b

Digi i/o board (Study Board)

#define LED1 PORTC, 3
#define LED2 PORTC, 4
#define LED3 PORTC, 5
 
#define S1 PORTC, 0
#define S2 PORTC, 1
#define S3 PORTC, 2
de/examples/define.txt · Last modified: 2020/07/20 09:00 by 127.0.0.1
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0