delay(unsigned int i) while(i--)
时间: 2023-06-03 20:01:59 浏览: 55
这不是一个问题,它是一个函数。delay(unsigned int i) 函数会让程序暂停一段时间,i 表示需要暂停的时间长度。while (i--) 是一个递减循环,i 的值会逐渐减小直到为 0,然后循环停止。
相关问题
void delay_nus(unsigned int i) { i=i/10; while(--i); }
这是一个简单的延时函数,它用于延时一定的时间。延时的时间由参数i决定,这里假设i是以微秒为单位的延时时间。
函数首先将i除以10,这是因为在很多应用中,微秒级的延时太短了,需要将其缩小一些。然后进入一个while循环,在循环中将i递减,直到i为0为止。
这个延时函数并不是很准确,因为循环的执行时间是不确定的,取决于具体的硬件和编译器优化等因素。如果需要更准确的延时,可以使用硬件定时器或操作系统提供的延时函数。
void Delay(unsigned int xms) { unsigned char i, j; while(xms--) { i = 2; j = 239; do { while (--j); } while (--i); } }
这是一个延时函数的实现,用于在单片机上进行延时操作。函数的参数是延时的时间,单位是毫秒。具体实现如下:
```c
void Delay(unsigned int xms)
{
unsigned char i, j;
while(xms--)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
}
}
```
函数通过嵌套循环实现延时,每次循环减小计数器的值,直到计数器为0时结束循环,从而实现一段时间的延时。请注意,这种延时方式不精确,且与单片机的时钟频率有关。如果需要更精确的延时,可以使用定时器或其他更高级的延时方法。