c延时怎么写

1. 在C语言中,如何写延时段 最笨的方法就是用for语0句嵌套延时,这种,时间不准确,比如:
void delay(int num)
{
while(num>0)
{
/*时间可以自己修改*/
for(int i=0;i<100000;i++)
for(int j=0;j<100000;j++)
{
【c延时怎么写】}
}
还可以使用时间来定时,可以准确的进行延时 。但比较麻烦 。
2. C语言delay的延时函数怎么写 回答这个问题前提需要搞清楚:
1.你的执行文件在那里运行?
2.你要延时是否“死等”,还是可以切换到其他任务?
-----------------------------------------------
如果你只是学习c语言,写个小函数玩玩,可以如下:
void delay(int time)
{
for(;time>0;time--)
{
nop;//可写任何无意义的操作
}
}
死等型的延时,时间根据指令执行速度不同而不同!!!!
3. 单片机c语言带参数延时怎么写 12MHz的晶振,一个机器周期是1uS.
void Delay_ms(unsigned char i, unsigned char j) //@12.000MHz
{
unsigned char n = 0;
unsigned char m = 0;
for(n = 0; n for(m = 0; m }
然后调用:
Delay_ms(117, 184);//Delay 20 mS
117 * 184 = 21528, 约等于 20mS.
这样很不准确,实际计算指令周期的话,接近了40mS
下面这中方法能准确一些:
void Delay_ms(uchar count)
{
uchar i, j, k;
for(k = count; k >0; k--)
for(i=5; i>0; i--)
for(j=98; j>0; j--);
}