const micro = @import("microzig"); // Configures the led_pin to a hardware pin const led_pin = if (micro.config.has_board) switch (micro.config.board_name) { .@"Arduino Nano" => micro.Pin("D13"), .@"mbed LPC1768" => micro.Pin("LED-1"), .@"STM32F3DISCOVERY" => micro.Pin("LD3"), .@"STM32F4DISCOVERY" => micro.Pin("LD5"), .@"STM32F429IDISCOVERY" => micro.Pin("LD4"), .@"Longan Nano" => micro.Pin("PA2"), else => @compileError("unknown board"), } else switch (micro.config.chip_name) { .@"ATmega328p" => micro.Pin("PB5"), .@"NXP LPC1768" => micro.Pin("P1.18"), .@"STM32F103x8" => micro.Pin("PC13"), .@"GD32VF103x8" => micro.Pin("PA2"), else => @compileError("unknown chip"), }; pub fn main() void { const led = micro.Gpio(led_pin, .{ .mode = .output, .initial_state = .low, }); led.init(); while (true) { busyloop(); led.toggle(); } } fn busyloop() void { const limit = 100_000; var i: u24 = 0; while (i < limit) : (i += 1) { @import("std").mem.doNotOptimizeAway(i); } }