精确获得时钟问题!

LoveBluck 2004-01-03 11:13:55
我要用D/A卡发送一个斜波,精度在0.00001V,请问如何能得到系统精确时钟而不会影响发送波形。
...全文
60 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mr-Chen 2004-01-04
  • 打赏
  • 举报
回复
对,用QueryPerformanceCounter/QueryPerformanceFrequency很难完成定时功能;
hongliqiu 2004-01-04
  • 打赏
  • 举报
回复
因此只能当作(忙等待的)延时函数,不能用作定时函数。
hongliqiu 2004-01-04
  • 打赏
  • 举报
回复
这个函数有点问题,进入此函数后不再响应其他操作。
Leemaasn 2004-01-04
  • 打赏
  • 举报
回复
强,果然高手。。。。友情Up。。。




将“流氓无赖”测试到底。。。
——始于2003年7月


天际白云匆匆去,银烛成灰心存泪;
孤苦孑然了一身,奔波劳苦鬓将白;
树梢蚂蚱凭空望,江边浪花碎巨石;



支持“流金岁月”!!!
发送框,少个“右键菜单,选择粘贴”;
再来个快捷键就更好了。
——2003年12月24日am


大家工资该发的发,帖子该结的结!
让我们回家过个开心年吧!!!

^@^
Mr-Chen 2004-01-04
  • 打赏
  • 举报
回复
对,是GetTickCount(),不好意思,记错了.
Mr-Chen 2004-01-03
  • 打赏
  • 举报
回复
SendTime = ...;
StartTime = GetTrick();
do
{
...;
}
while(GetTrick()-StartTime < SendTime);

GetTrick函数不知拼对没,你按F1查一查,但就是这样调用,保准没错。
极速小王子 2004-01-03
  • 打赏
  • 举报
回复
我不知道,但我知道如何获得1ms的精确时间:
有一个API函数,好象叫timeGetTime ();
该函数返回从开机时到当前经历的毫秒数,你取差值就可以了!
Libran 2004-01-03
  • 打赏
  • 举报
回复
用API:QueryPerformanceCounter/QueryPerformanceFrequency

在要求误差不大于1毫秒的情况下,可以采用GetTickCount()函数。使用下面的编程语句,可以实现50毫秒的精确定时,其误差小于1毫秒:
DWORD dwStart, dwStop ; // 起始值和中止值
dwStop = GetTickCount();
while(TRUE)
{
dwStart = dwStop ; // 上一次的中止值变成新的起始值
// …… 此处添加相应控制语句 ……
do
{
dwStop = GetTickCount() ;
} while(dwStop - 50 < dwStart) ;
}

要进一步提高计时精度,就要采用QueryPerformanceFrequency()函数和QueryPerformanceCounter()函数。在需要严格计时的事件发生之前和发生之后分别调用QueryPerformanceCounter()函数,利用两次获得的计数之差和时钟频率,就可以计算出事件经历的精确时间。
高精度延时的程序, 参数: 微秒:

void DelayUs(__int64 Us)
{
LARGE_INTEGER CurrTicks, TicksCount;

QueryPerformanceFrequency(&TicksCount);
QueryPerformanceCounter(&CurrTicks);

TicksCount.QuadPart = TicksCount.QuadPart * Us / 1000000i64;
TicksCount.QuadPart += CurrTicks.QuadPart;

while(CurrTicks.QuadPart<TicksCount.QuadPart)
QueryPerformanceCounter(&CurrTicks);
}
fjye 2004-01-03
  • 打赏
  • 举报
回复
昏,应该是GetTickCount()吧
asimpleman 2004-01-03
  • 打赏
  • 举报
回复
gz

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧