STM32/STM8技术论坛
直播中

yuhuidx

12年用户 157经验值
擅长:可编程逻辑 电源/新能源 嵌入式技术 模拟技术 EDA/IC设计 控制/MCU
私信 关注
[资料]

STM32 程序 delay 编程

void delay_us(u32 nus)
{
u32 temp;
Systick->LOAD = 1*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(u16 nms)
{
u32 temp;
SysTick->LOAD = 1000*nms;
SysTick->VAL=0X00;//清空计数器
SysTick->CTRL=0X01;//使能,减到零是无动作,采用外部时钟源
do
{
  temp=SysTick->CTRL;//读取当前倒计数值
}while((temp&0x01)&&(!(temp&(1<<16))));//等待时间到达
    SysTick->CTRL=0x00; //关闭计数器
    SysTick->VAL =0X00; //清空计数器
}

更多回帖

发帖
×
20
完善资料,
赚取积分