AVR-Blink/main.c

59 lines
969 B
C
Raw Normal View History

2023-11-19 12:25:21 +03:00
#include "defs.h"
2023-11-02 21:53:55 +03:00
int main(void) {
2023-11-19 12:25:21 +03:00
uint8_t val = 0;
#ifdef DDRA
DDRA = PORTA_MASK;
#endif
#ifdef DDRB
DDRB = PORTB_MASK;
#endif
#ifdef DDRC
DDRC = PORTC_MASK;
#endif
#ifdef DDRD
DDRD = PORTD_MASK;
#endif
#ifdef DDRE
DDRE = PORTE_MASK;
#endif
#ifdef DDRF
DDRF = PORTF_MASK;
#endif
#ifdef DDRG
DDRG = PORTG_MASK;
#endif
#ifdef DDRH
DDRH = PORTH_MASK;
2023-11-02 21:53:55 +03:00
#endif
for (;;) {
2023-11-19 12:25:21 +03:00
for (uint8_t i = 0; i < PORTN_MAX; ++i) {
val ^= _BV(i);
#ifdef DDRA
PORTA = val&PORTA_MASK;
#endif
#ifdef DDRB
PORTB = val&PORTB_MASK;
#endif
#ifdef DDRC
PORTC = val&PORTC_MASK;
#endif
#ifdef DDRD
PORTD = val&PORTD_MASK;
#endif
#ifdef DDRE
PORTE = val&PORTE_MASK;
#endif
#ifdef DDRF
PORTF = val&PORTF_MASK;
#endif
#ifdef DDRG
PORTG = val&PORTG_MASK;
#endif
#ifdef DDRH
PORTH = val&PORTH_MASK;
2023-11-02 21:53:55 +03:00
#endif
2023-11-19 12:25:21 +03:00
_delay_ms(41);
2023-11-02 21:53:55 +03:00
}
}
}