avr/led2.c

28 lines
444 B
C
Raw Normal View History

2021-05-15 16:20:06 +00:00
#include <avr/io.h>
#include <util/delay.h>
#include <limits.h>
#define DELAY 50
#define BITS sizeof(PORTB) * CHAR_BIT - 1
int main(void) {
int i;
DDRB = 0xff;
PORTB = 1;
for (;;) {
for (i = 0; i < BITS; i++) {
_delay_ms(DELAY);
PORTB = PORTB << 1;
}
for (i = BITS; i > 0; i--) {
_delay_ms(DELAY);
PORTB = PORTB >> 1;
}
}
return 0;
}