Merge pull request #5 from rhssk/high_low_macros

Additional macros for pin value manipulation
This commit is contained in:
Rihards Skuja 2017-11-25 09:26:36 +00:00 committed by GitHub
commit 6f334b21b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 6 deletions

View File

@ -1,8 +1,10 @@
#ifndef MAIN_H
#define MAIN_H
#define SET_HIGH(PORT, PIN) (PORT) |= (1 << (PIN))
#define SET_LOW(PORT, PIN) (PORT) &= ~(1 << (PIN))
#define SET(PORT, PIN) (PORT |= (1 << PIN))
#define CLR(PORT, PIN) (PORT &= (~(1 << PIN)))
#define CHK(PORT, PIN) (PORT & (1 << PIN))
#define TOG(PORT, PIN) (PORT ^= (1 << PIN))
void initIO(void);
void blinkLed(void);

View File

@ -12,7 +12,7 @@
void initIO()
{
/* Servos */
SET_HIGH(DDRB, SERVO_L);
SET(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 */
SET_HIGH(DDRD, LED_1);
SET(DDRD, LED_1);
}
void readTemp()
@ -31,9 +31,9 @@ void readTemp()
for (;;) {
d = ds18b20_gettemp();
if (d >= 21)
SET_HIGH(PORTD, LED_1);
SET(PORTD, LED_1);
else
SET_LOW(PORTD, LED_1);
CLR(PORTD, LED_1);
_delay_ms(500);
}