放主函数下即可调用
void delay_us(uint32_t nus)
{
uint32_t fac_us = 0;
uint32_t temp;
uint8_t SYSCLK;
SYSCLK = HAL_RCC_GetHCLKFreq() / 1000 / 1000;
fac_us = SYSCLK / 8;
SysTick->LOAD = nus * fac_us;
SysTick->VAL = 0;
SysTick->CTRL = 1;
do
{
temp = SysTick->CTRL;
} while (temp & 1 && !(temp & (1 << 16)));
SysTick->CTRL = 0;
SysTick->VAL = 0;
}
void delay_ms(uint32_t nms)
{
for (uint32_t num = 0; num < nms; num++)
{
delay_us(1000);
}
}```