chg: OR in registry changes when setting LOW or HIGH instead of assigning. A nicer behavior not messing with previous set bits.

This commit is contained in:
Chris 2018-06-23 06:41:51 +02:00
parent e5e990fd4f
commit f4ef31c4be

View file

@ -53,8 +53,11 @@
#define UDP_CSR_BYTES_RECEIVED(x) (((x) >> 16) & 0x7ff)
//**************************************************************
#define LOW(x) AT91C_BASE_PIOA->PIO_CODR = (x)
#define HIGH(x) AT91C_BASE_PIOA->PIO_SODR = (x)
#define LOW(x) AT91C_BASE_PIOA->PIO_CODR |= (x)
#define HIGH(x) AT91C_BASE_PIOA->PIO_SODR |= (x)
#define GETBIT(x) (AT91C_BASE_PIOA->PIO_ODSR & (x)) ? 1:0
#define SETBIT(x, y) (y) ? (HIGH(x)):(LOW(x))
#define INVBIT(x) SETBIT((x), !(GETBIT(x)))