void delay_nus(unsigned int i) { i=i/10; while(--i); }
时间: 2024-04-15 18:25:59 浏览: 13
这是一个简单的延时函数,它用于延时一定的时间。延时的时间由参数i决定,这里假设i是以微秒为单位的延时时间。
函数首先将i除以10,这是因为在很多应用中,微秒级的延时太短了,需要将其缩小一些。然后进入一个while循环,在循环中将i递减,直到i为0为止。
这个延时函数并不是很准确,因为循环的执行时间是不确定的,取决于具体的硬件和编译器优化等因素。如果需要更准确的延时,可以使用硬件定时器或操作系统提供的延时函数。
相关问题
void delay_nus(unsigned int i) { i=i/10; while(--i); } void delay_nms(unsigned int n) { n=n+1; while(--n) delay_nus(900); } delay_nms(200);
这段代码是一个简单的延时函数。它包含两个函数:delay_nus和delay_nms。delay_nus函数用于微秒级延时,而delay_nms函数用于毫秒级延时。
在delay_nus函数中,参数i被除以10,然后使用while循环递减i的值,直到i为0为止。这段代码的目的是实现一个较短的延时。
在delay_nms函数中,参数n被加1,然后使用while循环递减n的值,直到n为0为止。在每次循环中,调用delay_nus函数并传入参数900进行微秒级延时。这段代码的目的是实现一个较长的延时。
最后一行代码delay_nms(200)表示调用delay_nms函数,并传入参数200进行毫秒级延时。这样程序会延时200毫秒。
void delay_nms(unsigned int n) { n=n+1; while(--n) delay_nus(900); }
这是一个简单的延时函数,它会延时指定的毫秒数。在函数中,传入的参数n会自增1,并且在一个循环中每次减1,直到n为0为止。在每次循环中,调用了delay_nus(900)函数,该函数用于延时指定的微秒数。这样就实现了延时n毫秒的功能。不过需要注意的是,delay_nus函数的具体实现没有在这段代码中给出,所以无法确定具体的延时时间。