diff options
author | Dario Nieuwenhuis <dirbaio@dirbaio.net> | 2022-05-30 00:36:30 +0200 |
---|---|---|
committer | Dario Nieuwenhuis <dirbaio@dirbaio.net> | 2022-06-07 03:29:00 +0200 |
commit | 3e4bead32161604c08e2dcae1acea695db851f34 (patch) | |
tree | 41b0334cad6fef5a54e28789ec0320f21000b2ac /examples/stm32l5/src/bin/rng.rs | |
parent | 0aa73f58e2f71f4578ff23f79f3b1a2c9d6d9098 (diff) | |
download | embassy-3e4bead32161604c08e2dcae1acea695db851f34.zip |
stm32: add USB driver.
Diffstat (limited to 'examples/stm32l5/src/bin/rng.rs')
-rw-r--r-- | examples/stm32l5/src/bin/rng.rs | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/stm32l5/src/bin/rng.rs b/examples/stm32l5/src/bin/rng.rs new file mode 100644 index 00000000..5f75c1ff --- /dev/null +++ b/examples/stm32l5/src/bin/rng.rs @@ -0,0 +1,34 @@ +#![no_std] +#![no_main] +#![feature(type_alias_impl_trait)] + +use defmt::*; +use defmt_rtt as _; // global logger +use embassy::executor::Spawner; +use embassy_stm32::rcc::{ClockSrc, PLLClkDiv, PLLMul, PLLSource, PLLSrcDiv}; +use embassy_stm32::rng::Rng; +use embassy_stm32::{Config, Peripherals}; +use panic_probe as _; + +fn config() -> Config { + let mut config = Config::default(); + config.rcc.mux = ClockSrc::PLL( + PLLSource::HSI16, + PLLClkDiv::Div2, + PLLSrcDiv::Div1, + PLLMul::Mul8, + Some(PLLClkDiv::Div2), + ); + config +} + +#[embassy::main(config = "config()")] +async fn main(_spawner: Spawner, p: Peripherals) { + info!("Hello World!"); + + let mut rng = Rng::new(p.RNG); + + let mut buf = [0u8; 16]; + unwrap!(rng.async_fill_bytes(&mut buf).await); + info!("random bytes: {:02x}", buf); +} |