Linux下延时的问题

今天要做延时的东西,us级别。
首先选择了usleep,基本没什么太大用写个usleep(10)也能定时定到10ms去,
后来选择了select,超过5ms左右还是好用的,
再后来nanosleep,然而并没有什么卵用。好像结果也差不多了多少。(此处存疑,平台问题还是其他问题)。

到最后。at last!
最霸道的!


void Delay()
{
unsigned char a,b,c;
for(a=0;afor(b=0;bfor(c=0;c/**********************************************************************************************************************/
延时时间           a的值                 b的值               c的值       延时误差(us)
10us                       1                       1                       1                         -0.5       
20us                       1                       1                       8                         0  
30us                       1                       1                       15                       +0.5 
40us                       2                       1                       9                         0  
50us                       1                       1                       28                           0  
60us                       1                       1                       35                       +0.5 
70us                       1                       1                       42                       +1 
80us                       1                       1                       48                           0 
90us                       1                       1                       55                       +0.5  
100us                   1                       1                       61                       -0.5  
200us                   1                       1                       128                       0  
300us                   3                       1                       63                       +1.5  
400us                   2                       1                       129                       0  
500us                   5                       1                       63                       +0.5  
600us                   6                       1                       63                         0  
700us                   7                       1                       63                           -0.5  
800us                   1                       3                       175                       +0.5  
900us                   9                       1                       63                         -1.5  
1ms                       1                       3                       219                       -1.5
2ms                       2                       3                       220                       +3
3ms                       3                       3                       220                       +3
Xms                       X                       3                       220                       +3         

X的范围为2到255)
对于不同的平台,里面的值自己测一下

三层嵌套for!!!

着实霸道!

你可能感兴趣的:(linux)