天嵌 ARM开发社区

 找回密码
 注册
查看: 2211|回复: 1

WinCE下的us延时问题

[复制链接]
蓝电青霜草 发表于 2010-6-13 23:13:10 | 显示全部楼层 |阅读模式
上次的问题多谢亚瑟王了,在问一个延时函数的问题
我从网上找了个us级的延时函数,但在板子上测了一下,
无论n是多少都是500us
void Delay_us(int n)
{
       LARGE_INTEGER litmp;
       LONGLONG QPart1,QPart2;
       double dfMinus,dfFreq,dfTim;
       QueryPerformanceFrequency(&litmp);
       dfFreq = (double)litmp.QuadPart;
       QueryPerformanceCounter(&litmp);
       QPart1 = litmp.QuadPart;
       do
       {
             QueryPerformanceCounter(&litmp);
             QPart2 = litmp.QuadPart;
             dfMinus = (double)(QPart2-QPart1);
             dfTim = dfMinus/dfFreq;
       }while(dfTim<0.000001*n);
}
不知道怎么回事?
亚瑟王 发表于 2010-6-18 18:30:43 | 显示全部楼层
你把N扩大大足够时,应该是可以得到大于500us的定时的。
在WinCE上面的定时和系统时间片的有关的,在2440中设定的系统时间片是1ms,我认为你得到的500us是和这个时间片有关的。很精确的定时我没有试过。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-21 06:33 , Processed in 1.062500 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表