Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
1074: Added blinky example for stm32f0 r=lulf a=imrank03

Hi, I have added **blinky** example for `stm32f0` and tested with Nucleo board `STM32F091RC`.

- Can I add more example for stm32f0?

Co-authored-by: @imrank03 <immu0396@gmail.com>
  • Loading branch information
bors[bot] and imrank03 authored Dec 2, 2022
2 parents 9f85411 + 5aad212 commit f109e73
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 2 deletions.
2 changes: 1 addition & 1 deletion examples/stm32f0/.cargo/config.toml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[target.thumbv6m-none-eabi]
runner = 'probe-run --chip STM32F030F4Px'
runner = 'probe-run --chip STM32F091RCTX'

[build]
target = "thumbv6m-none-eabi"
Expand Down
2 changes: 1 addition & 1 deletion examples/stm32f0/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,5 @@ panic-probe = "0.3"
embassy-sync = { version = "0.1.0", path = "../../embassy-sync", features = ["defmt"] }
embassy-executor = { version = "0.1.0", path = "../../embassy-executor", features = ["defmt", "integrated-timers"] }
embassy-time = { version = "0.1.0", path = "../../embassy-time", features = ["defmt", "defmt-timestamp-uptime", "tick-hz-32_768"] }
embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "memory-x", "stm32f030f4", "time-driver-any"] }
embassy-stm32 = { version = "0.1.0", path = "../../embassy-stm32", features = ["nightly", "defmt", "memory-x", "stm32f091rc", "time-driver-any"] }

28 changes: 28 additions & 0 deletions examples/stm32f0/src/bin/blinky.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#![no_std]
#![no_main]
#![feature(type_alias_impl_trait)]

use defmt::*;
use embassy_executor::Spawner;
use embassy_stm32::gpio::{Level, Output, Speed};
use embassy_time::{Duration, Timer};
use {defmt_rtt as _, panic_probe as _};

// main is itself an async function.
#[embassy_executor::main]
async fn main(_spawner: Spawner) {
let p = embassy_stm32::init(Default::default());
info!("Hello World!");
//PA5 is the onboard LED on the Nucleo F091RC
let mut led = Output::new(p.PA5, Level::High, Speed::Low);

loop {
info!("high");
led.set_high();
Timer::after(Duration::from_millis(300)).await;

info!("low");
led.set_low();
Timer::after(Duration::from_millis(300)).await;
}
}

0 comments on commit f109e73

Please sign in to comment.