Files
lezyne-rear-light-firmware/main.c
2025-08-20 13:39:24 +02:00

40 lines
964 B
C

#include <avr/io.h>
#include <util/delay.h>
#define PA1_SET_MASK 0x02
#define PA2_SET_MASK 0x04
#define PA3_SET_MASK 0x08
#define PA6_SET_MASK 0x40
#define PA7_SET_MASK 0x80
int main(void)
{
VPORTA.DIR = 0x0;
// Configure PA1 as output (Pin 4 on ATTINY202-SSN)
VPORTA.DIR |= PA1_SET_MASK;
// Configure PA2 as output (Pin 5 on ATTINY202-SSN)
VPORTA.DIR |= PA2_SET_MASK;
// Configure PA3 as output (Pin 7 on ATTINY202-SSN)
VPORTA.DIR |= PA3_SET_MASK;
// Configure PA6 as output (Pin 2 on ATTINY202-SSN)
VPORTA.DIR |= PA6_SET_MASK;
// Configure PA7 as output (Pin 3 on ATTINY202-SSN)
VPORTA.DIR |= PA7_SET_MASK;
while (1)
{
VPORTA.OUT ^= PA1_SET_MASK; // toggle PA1
VPORTA.OUT ^= PA2_SET_MASK; // toggle PA2
VPORTA.OUT ^= PA3_SET_MASK; // toggle PA3
VPORTA.OUT ^= PA6_SET_MASK; // toggle PA6
VPORTA.OUT ^= PA7_SET_MASK; // toggle PA7
_delay_ms(500);
}
}