diff --git a/include/main.h b/include/main.h index ecff1db..12e11f4 100644 --- a/include/main.h +++ b/include/main.h @@ -1,6 +1,9 @@ #ifndef MAIN_H #define MAIN_H +#define SET_HIGH(PORT, PIN) (PORT) |= (1 << (PIN)) +#define SET_LOW(PORT, PIN) (PORT) &= ~(1 << (PIN)) + void initIO(void); void blinkLed(void); void readTemp(void); diff --git a/src/main.c b/src/main.c index 5d2b087..dbb9ddd 100644 --- a/src/main.c +++ b/src/main.c @@ -13,7 +13,7 @@ void initIO() { /* Servos */ - DDRB |= (1 << SERVO_L); + SET_HIGH(DDRB, SERVO_L); /* Phase Correct PWM, 9-bit; Inverting mode */ TCCR1A |= 1 << WGM11 | 1 << COM1A1 | 1 << COM1A0; /* "Clear Timer on Compare match" mode; Prescaler = 1 */ @@ -21,7 +21,7 @@ void initIO() ICR1 = 19999; // F_CPU / 50Hz - 1 /* LED */ - DDRD |= (1 << LED_1); + SET_HIGH(DDRD, LED_1); } void readTemp() @@ -32,9 +32,9 @@ void readTemp() for (;;) { d = ds18b20_gettemp(); if (d >= 21) - PORTD |= (1 << LED_1); + SET_HIGH(PORTD, LED_1); else - PORTD &= ~(1 << LED_1); + SET_LOW(PORTD, LED_1); _delay_ms(500); }