Neale Pickett
·
2026-02-11
blink.c
1#include <stdbool.h>
2#include <stdint.h>
3#include <avr/io.h>
4#include <avr/interrupt.h>
5
6// CPU frequency in Hertz
7#define F_CPU (1 * 1000000UL)
8
9void init(void) {
10 DDRB = 0xff; // All port B pins are outputs
11}
12
13void loop(void) {
14 static uint32_t count = 0;
15
16 if (count++ == 20000) {
17 PORTB ^= 0x01; // Toggle pin 0
18 count = 0;
19 }
20}
21
22int main(void) {
23 init();
24
25 for (;;) {
26 loop();
27 }
28
29 return 0;
30}