From cef7bb0def119a97444d087123e5948b882eda57 Mon Sep 17 00:00:00 2001 From: Rihards Skuja Date: Fri, 24 Nov 2017 22:58:52 +0200 Subject: [PATCH] Introduce macros for setting pin to low or high --- include/main.h | 3 +++ src/main.c | 8 ++++---- 2 files changed, 7 insertions(+), 4 deletions(-) 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 307fe21..2ba7f6a 100644 --- a/src/main.c +++ b/src/main.c @@ -12,7 +12,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 */ @@ -20,7 +20,7 @@ void initIO() ICR1 = 19999; // F_CPU / 50Hz - 1 /* LED */ - DDRD |= (1 << LED_1); + SET_HIGH(DDRD, LED_1); } void readTemp() @@ -31,9 +31,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); }