diff --git a/stmicro-stm32/build.zig b/stmicro-stm32/build.zig index 26bbda7..471a727 100644 --- a/stmicro-stm32/build.zig +++ b/stmicro-stm32/build.zig @@ -2,7 +2,7 @@ const std = @import("std"); const stm32 = @import("stm32"); const available_examples = [_]Example{ - // TODO: .{ .name = "stm32f103x8", .target = stm32.chips.stm32f103x8, .file = "src/blinky.zig" }, + .{ .name = "stm32f103x8", .target = stm32.chips.stm32f103x8, .file = "src/blinky.zig" }, // TODO: .{ .name = "stm32f303vc", .target = stm32.chips.stm32f303vc, .file = "src/blinky.zig" }, // TODO: .{ .name = "stm32f407vg", .target = stm32.chips.stm32f407vg, .file = "src/blinky.zig" }, // TODO: .{ .name = "stm32f429zit6u", .target = stm32.chips.stm32f429zit6u, .file = "src/blinky.zig" }, diff --git a/stmicro-stm32/build.zig.zon b/stmicro-stm32/build.zig.zon index e54d44f..b6063ea 100644 --- a/stmicro-stm32/build.zig.zon +++ b/stmicro-stm32/build.zig.zon @@ -7,8 +7,8 @@ .hash = "1220af58bdaa721b8189f3a7adfda660517dd354463463388e96d69fe4ceccf80b92", }, .stm32 = .{ - .url = "https://github.com/ZigEmbeddedGroup/stmicro-stm32/archive/cb2893707efa6aa289fa72f02959ad5f2d9db2a1.tar.gz", - .hash = "12208cab5f60ef97cac4165ad694f3ba0c7b28f279538c1539b74f7c152f34fe306d", + .url = "https://github.com/ZigEmbeddedGroup/stmicro-stm32/archive/237890d49ee795110a63df2c45bdd6f6a0029a72.tar.gz", + .hash = "1220960897777f9713fa1055ffdf1fbad1518b2f62bd2f2ae39b887821dbf0781df0", }, }, } diff --git a/stmicro-stm32/src/blinky.zig b/stmicro-stm32/src/blinky.zig new file mode 100644 index 0000000..1fad430 --- /dev/null +++ b/stmicro-stm32/src/blinky.zig @@ -0,0 +1,22 @@ +const std = @import("std"); +const microzig = @import("microzig"); +const stm32 = microzig.hal; + +const pin_config = stm32.pins.GlobalConfiguration{ + .GPIOC = .{ + .PIN13 = .{ .name = "led", .mode = .{ .output = .general_purpose_push_pull } }, + }, +}; + +pub fn main() !void { + const pins = pin_config.apply(); + + while (true) { + var i: u32 = 0; + while (i < 800_000) { + asm volatile ("nop"); + i += 1; + } + pins.led.toggle(); + } +}