嵌入式编程经验之延迟函数

2019-07-13 02:51发布

嵌入式编程经验之延迟函数 通常有两种方法来实现延迟函数,第一种用for循环实现,另一方法就是用定时器实现。 for循环实现的延迟函数常用于不精确的延迟,大概的意思。 定时器方式延迟能够实现精确的延迟。 for循环实现延迟 void delay1ms(int time) { unsigned int i; while(time--) for(i=0; i<124; i++);//124不同的系统对应的值不同 } 定时器方式实现延迟
用一timer当做系统时间,它通常都设定为10ms中断一次,然后里面加一counterdelay用的参数,例如在timer中断函式放入(两种方式:递增式和递减式)。 递增式: void time10ms_isr(void)
{
time10ms++;
}

void delay10ms(int time) { time10ms = 0; while (time10ms < time); } 递减式: void time10ms_isr(void)
{
if(time10mstime10ms--;
}
void delay10ms(int time) { time10ms = time; while (time10ms); } 延迟应用 int main() { delay10ms(100);//10010ms相当于延迟1s }