#include <avr/io.h>
#include <stdlib.h>
#include <string.h>
#include <util/delay.h>
#ifndef _BV
#define _BV(bit) (1<<(bit))
#endif
#ifndef sbi
#define sbi(reg,bit) reg |= (_BV(bit))
#endif
#ifndef cbi
#define cbi(reg,bit) reg &= ~(_BV(bit))
#endif
#ifndef tbi
#define tbi(reg,bit) reg ^= (_BV(bit))
#endif
void blinkLEDs() {
PORTD = 0xff;
_delay_ms(500);
PORTD = 0x00;
_delay_ms(500);
}
int main() {
//DDRD=0xff;
//DDRD |= (1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);
sbi(DDRD, PD0);
sbi(DDRD, PD1);
sbi(DDRD, PD2);
sbi(DDRD, PD3);
sbi(DDRD, PD4);
sbi(DDRD, PD5);
sbi(DDRD, PD6);
sbi(DDRD, PD7);
_delay_ms(500);
while(1) {
blinkLEDs();
}
/*while (1) {
for (uint8_t i = 0; i < 8; i++)
tbi(PORTD, i);
_delay_ms(500);
}*/
/*while (1) {
PORTD |= (1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);
_delay_ms(500);
PORTD ^= (1<<PD0)|(1<<PD1)|(1<<PD2)|(1<<PD3)|(1<<PD4)|(1<<PD5)|(1<<PD6)|(1<<PD7);
_delay_ms(500);
}*/
/*while (1) {
PORTD = 0xff;
_delay_ms(500);
PORTD = 0x00;
_delay_ms(500);
}*/
}