munaiyi88
驱动牛犊
驱动牛犊
  • 注册日期2002-05-20
  • 最后登录2009-07-19
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望53点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
阅读:1031回复:5

编写查询方式的vxd(一礼拜,急!!)

楼主#
更多 发布于:2003-05-24 10:46
老板逼急了,规定一礼拜完成的任务如下:
硬件是块isa的采集板,有一条外同步的控制信号,在程序中不断查询此信号,当此信号由低变高时,开始采集数据。若用ring3层启动一线程查询,不能满足时间要求(多任务特性使得线程运行时间不固定),故求助于vxd,查了好多资料,都是介绍中断方式和DMA方式的,唯独不见查询方式的!所以来此向各位大侠请教,谢谢!!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2003-05-24 20:22
在vxd轮询?就用中断不好吗?
munaiyi88
驱动牛犊
驱动牛犊
  • 注册日期2002-05-20
  • 最后登录2009-07-19
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望53点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-05-26 14:58
硬件电路板是以前已经做好的,不能再改了,改起来工作量也大
vxd到底能不能实现查询呢?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地板#
发布于:2003-05-26 16:26
可以的。
就怕你其它的什么活都干不成了。
munaiyi88
驱动牛犊
驱动牛犊
  • 注册日期2002-05-20
  • 最后登录2009-07-19
  • 粉丝0
  • 关注0
  • 积分234分
  • 威望53点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-05-27 08:43
不干别的活也可以。我想法是这样的,在ring3层应用程序界面提供一按钮,按下后向vxd发送控制命令使其进入外同步状态,不断查询外同步信号,采集结束后通知应用程序读取数据。也就是查询时占用cpu(毫秒级),查询并采集完后释放cpu。问题是这个查询函数应该放在哪个地方能使它执行时的优先级最高,而不会被别的进程打断呢?ondevicecontrol函数能否满足要求?
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
5楼#
发布于:2003-05-27 14:38
那就在vxd的OnWin32DeviceIoControl来个while呗。
while(/*无信号*/)
{/*读信号*/}

概不负责。 :D
游客

返回顶部