godenliuweiji 发表于 2024-4-26 23:51

stm32f103c8t6标准库.SysTick 定时器延时程序

void delay_us(uint32_t nus)
{
uint32_t temp;
SysTick->LOAD = 72000000/1000000/8*nus;
SysTick->VAL=0X00;
SysTick->CTRL=0X01;
do
{
    temp=SysTick->CTRL;
}while((temp&0x01)&&(!(temp&(1<<16))));
SysTick->CTRL=0x00;
SysTick->VAL =0X00;
}
void delay_ms(uint16_t nms)
{
uint32_t temp;
SysTick->LOAD = 72000000/1000/8*nms;
SysTick->VAL=0X00;
SysTick->CTRL=0X01;
do
{
    temp=SysTick->CTRL;
}while((temp&0x01)&&(!(temp&(1<<16))));
SysTick->CTRL=0x00;
SysTick->VAL =0X00;
}

power3 发表于 2024-4-27 08:05

ize 发表于 2024-4-27 08:35

mester 发表于 2024-4-27 08:58

flash2005 发表于 2024-4-27 08:58

感谢分享

790 发表于 2024-4-27 09:00

zhs133125 发表于 2024-4-27 09:01

6666666

549977497 发表于 2024-4-27 09:06

海上生明月 发表于 2024-4-27 09:16

敏行 发表于 2024-4-27 09:40

页: [1] 2
查看完整版本: stm32f103c8t6标准库.SysTick 定时器延时程序