my code
#![allow(warnings)]
#![no_std]
#![no_main]
#![feature(type_alias_impl_trait)]
#![feature(impl_trait_in_assoc_type)]
use defmt::*;
use embassy_executor::Spawner;
use embassy_stm32::adc::{Adc, AdcChannel as _, AnyAdcChannel, SampleTime};
use embassy_stm32::gpio::{AnyPin, Level, Output, Speed};
use embassy_stm32::rcc::mux::Adcsel;
use embassy_stm32::rcc::{Hse, HseMode};
use embassy_stm32::time::Hertz;
use embassy_stm32::{gpio, pac, Config};
use embassy_sync::blocking_mutex::raw::ThreadModeRawMutex;
use embassy_time::{Duration, Ticker, Timer};
use stm32_metapac::Interrupt::RCC;
use {defmt_rtt as _, panic_probe as _};
use embassy_stm32::peripherals::RCC as PeripheralRCC;
use embassy_stm32::rcc::{Clocks, RccPeripheral};
use embassy_sync::mutex::Mutex;
static mut DMA_BUF: [u16; 2] = [0; 2];
#[embassy_executor::main]
async fn main(_spawner: Spawner) {
let mut read_buffer = unsafe { &mut DMA_BUF[..] };
let mut config = Config::default();
config.rcc.hsi = true;
config.rcc.mux.adcsel = Adcsel::SYS;
let p = embassy_stm32::init(config);
let pc7 = p.PC7;
let mut led1 = Output::new(pc7, Level::Low, Speed::Low);
info!("Hello World!");
_spawner.spawn(blink(led1)).unwrap();
}
#[embassy_executor::task]
pub async fn blink(mut led: gpio::Output<'static>) {
let mut ticker = Ticker::every(Duration::from_micros(200));
loop {
led.toggle();
ticker.next().await;
}
}
200 microseconds data chart
100 microseconds data chart
What are the troubleshooting directions for such a situation?