`
gaofen100
  • 浏览: 1251037 次
文章分类
社区版块
存档分类
最新评论

精确延时函数DelayTime

 
阅读更多
void DelayTime(DWORD dwMilliseconds)
{
LARGE_INTEGER littmp;
LONGLONG lTimeBegin;
LONGLONG lTimeEnd;
double dMinus;
double dFreq;
double dTim;
QueryPerformanceFrequency(&littmp);
dFreq=(double)littmp.QuadPart;
QueryPerformanceCounter(&littmp);
lTimeBegin=littmp.QuadPart;
do
{
QueryPerformanceCounter(&littmp);
lTimeEnd=littmp.QuadPart;
dMinus=(double)(lTimeEnd-lTimeBegin);
dTim=dMinus/dFreq;
} while (dTim<dwMilliseconds*0.001);
}
分享到:
评论

相关推荐

    C8051F340 各种延时子函数

    `delaytime`这个文件很可能包含了实现这些延时函数的源代码,其中可能包括了上述方法的实例。开发者可以参考这些函数,根据项目需求进行适当的修改和优化。需要注意的是,在使用延时函数时,应考虑其对CPU资源的影响...

    单片机精准延时代码

    单片机精准延时在嵌入式系统设计中是一个至关重要的功能,特别是在实时性...在"delaytime"这个文件中,可能包含了具体的延时函数实现代码,通过学习和理解这些代码,可以进一步提升对单片机延时控制的理解和实践能力。

    MATALB 信号时延_matlab_信号时延_时延_

    `test_delaytime.m`可能是测试用例,用来验证`delaytime.m`函数的正确性。`delaytime.m`应该是我们自定义的实现信号时延的函数。在这个函数中,通常会涉及到的主要知识点有以下几个方面: 1. **信号延迟的概念**:...

    5152单片机proteus仿真和源码用有参函数控制P0口8位LED流水速度

    // 延时函数 void delay(unsigned int ms) { unsigned int i, j; for (i = 0; i ; i++) for (j = 0; j ; j++); } // 控制LED流水速度的函数 void ControlLED(unsigned char ledNum, unsigned int delayTime) { ...

    单片机C语言实例-用for语句控制蜂鸣器鸣笛次数.zip

    // 延时函数,delayTime为毫秒级别 // 设置蜂鸣器引脚为低电平,使蜂鸣器停止发声 PORTx &= ~(1 ); ``` 在循环的每次迭代中,都会重复以上步骤,直到达到设定的鸣笛次数。这样,单片机就能根据for循环的控制,...

    qc1286b初始化程序下载

    2. 将DQ拉低并精确延时超过480μs; 3. 再次将DQ拉高并等待一段时间,以完成初始化过程。 #### 读取温度 `Readtemp()`函数用于读取DS18B20的温度值。具体流程包括: 1. 发送初始化命令; 2. 跳过读取序列号的操作...

    用单片机控制步进电机

    在这个例子中,`setPhaseX()`和`clearPhaseX()`函数代表设置或清除相应绕组的高电平,而`delayMs()`函数则是延时函数,确保电机在改变状态前有足够时间响应。 在实际应用中,单片机可能还需要处理其他功能,如错误...

    一种复杂的流水灯控制方法

    6. **延时函数**:为了实现流水灯效果,需要在每次状态改变后添加适当的延时。这通常通过延迟循环或者调用硬件定时器实现,如`_delay_ms(DelayTime)`。 7. **中断服务程序**:如果使用硬件定时器,可能还需要设置...

Global site tag (gtag.js) - Google Analytics