[help] stm32l431rc blink Abnormal delay time

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?