如下程序能實現(xiàn)ms毫秒級的比較精確的延時
void Delayms(unsigned int n)
{
unsigned int i,j;
for(j=n;j>0;j--)
for(i=112;i>0;i--);
}
用keil可以看出這個延時的時間,我們先延時1ms(Delayms(1))。
進(jìn)入Delayms前,sec=0.00042209s
延時后,sec=0.00142253s
可以知道Delayms(1)實際延時0.00142253s—0.00042209s=0.00100044s≈1ms
同樣如果想延時15ms的話,用Delayms(15),實際延時0.01480903s≈15ms,延時還是挺精確的。