请教各位大虾:怎么使用QueryPerformanceFrequency()、QueryPerformanceCounter()两个函数进行精确定时 点击:3696 | 回复:3



cuiying_beijing

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 62回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2004年9月24日
发表于:2004-11-03 13:46:00
楼主
本人打算使用QueryPerformanceFrequency()、QueryPerformanceCounter()函数进行精确定时。但是不会用:比如下面的程序为什么是错的: LARGE_INTEGER *aa; double Count; QueryPerformanceCounter(aa); Count=aa->QuadPart; 亦即怎么在执行了QueryPerformanceCounter()函数后,从中取出想要的数值。



GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-11-04 10:03:00
1楼
使用CPU时间戳进行高精度计时 http://www.tekinginfo.com/coding/forum/cndevforum0209_0309/subject_22045.htm

cuiying_beijing

  • 精华:0帖
  • 求助:0帖
  • 帖子:37帖 | 62回
  • 年度积分:0
  • 历史总积分:195
  • 注册:2004年9月24日
发表于:2004-11-04 16:26:00
2楼
我多次看到GaryLin为人答疑解惑,在下要好好谢谢你了!! 能不能再帮个忙请问数据采集卡进行中断采集的原理是什么?

GaryLin

  • 精华:0帖
  • 求助:0帖
  • 帖子:4帖 | 1186回
  • 年度积分:0
  • 历史总积分:1263
  • 注册:2003年4月15日
发表于:2004-11-05 09:32:00
3楼
工作原理大致如下... 1. 设定板卡上的 8254 Timer/Counter, 使其定时的产生 trigger 信号. 2. 此 trigger 信号促使 ADC 作 Analog/Digital 的信号转换, 3. 无 FIFO 时, ADC 转换完成后对 CPU 发生中断要求. 系统再去 call 指定的 ISR() 将 ADC 的数据搬入 buffer. 4. 有 FIFO 时, ADC 转换完成后, 数据会直接置入 FIFO. 当 FIFO 半满或其它指定的条件发生时, 对 CPU 发生中断要求. 系统再去 call 指定的 ISR() 将 FIFO 中的大量数据搬入 buffer.

热门招聘
相关主题

官方公众号

智造工程师