candy811025
驱动牛犊
驱动牛犊
  • 注册日期2004-04-30
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1178回复:10

关于中断处理的问题,等待高手指路啊,焦急中!!

楼主#
更多 发布于:2004-05-11 12:19
老师给分配了一个任务阿。
要在windows2000下,通过每30毫秒一次的中断信号,来接收,并行打印机端口发送来的数据。
我最近看了一些关于ddk,wdm,driverstudio,等东西的资料。但是还没找到合适的解决方案啊。
我觉得我这个东西算不上是个驱动程序吧,windows2000已经为打印机端口安装了驱动了吧,那我要是想响应打印机端口来的中断,我该用些什么工具,该如何做呢!

接到这个任务好久拉,还是一点头绪也没有呢,就快被老师骂啦,大虾们,多多帮忙啊,这里先谢过拉!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
沙发#
发布于:2004-05-11 12:45
要处理中断的话,就要写驱动了。
但是从并口得到数据并不需要自己去写驱动,OS提供了api的
MSND-Platform SDK Documentation-Base Services-Files and I/O-Communications
candy811025
驱动牛犊
驱动牛犊
  • 注册日期2004-04-30
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-05-11 14:02
终于有人理我拉! :D

那我要是将驱动写好了的话,怎么给它对应到,并行打印机口上呢!

还有我是直接在驱动里面去接收数据嘛,还是另外再写应用程序来接收呢?
另外,问个苯笨的问题(由于以前没接触过驱动),驱动程序和一般的应用程序,区别是什么呢?
candy811025
驱动牛犊
驱动牛犊
  • 注册日期2004-04-30
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-05-11 14:12
大虾们,那我只要去啃 wdm 的书,这个问题就一定能解决嘛? :P
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
地下室#
发布于:2004-05-11 17:56
为什么一定要写驱动呢,既然在user mode就可以得到数据?
写个并口驱动并且替换掉OS的,很麻烦;要么就写filter驱动,还是麻烦,总没有Win32熟悉吧。

驱动在ring0,在2G上面。
应用在ring3,2G下面。
escape
驱动老牛
驱动老牛
  • 注册日期2002-02-01
  • 最后登录2004-08-20
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-05-12 09:27
 直接用windows api
candy811025
驱动牛犊
驱动牛犊
  • 注册日期2004-04-30
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-05-12 10:38
糊涂了啊,不是说要响应中断,就一定要写驱动的吗?

我是要接收到中断之后才去接收数据的阿!

win32 API 在2000下可以处理中断的吗?
 
另外Filter驱动程序该怎么来安装到系统中去呢?

2000下面就没有一套可以操作中断的东西吗?还是迷糊中.........
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
7楼#
发布于:2004-05-12 10:47
请arthurtu说的详细点,不然别人如何理解??
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
arthurtu
驱动巨牛
驱动巨牛
  • 注册日期2001-11-08
  • 最后登录2020-12-19
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望161点
  • 贡献值0点
  • 好评度35点
  • 原创分0分
  • 专家分0分
  • 社区居民
8楼#
发布于:2004-05-12 12:23
ft,不会wowocock也不明白吧?
看样子我要重新学习汉语了 :D

有Win32API可以用的。
MSDN-Platform SDK Documentation-Base Services-Files and I/O-Communications

OS的并口驱动负责从并口得到数据(当然如果有中断它也处理了)。

win32 app可以用查询或消息的方式,得到数据,根本不用操心什么中断呀,地址呀。
A process uses the CreateFile function to open a handle to a communications resource. For example, specifying COM1 opens a handle to a serial port, and LPT1 opens a handle to a parallel port.
hellangel
驱动中牛
驱动中牛
  • 注册日期2004-02-16
  • 最后登录2016-04-19
  • 粉丝0
  • 关注0
  • 积分1002分
  • 威望236点
  • 贡献值0点
  • 好评度205点
  • 原创分1分
  • 专家分0分
9楼#
发布于:2004-05-13 10:56
windows wdm 设备驱动开发指南
的第15章能解决你的问题。
对的,就是它。
春眠不觉晓,处处闻啼鸟。 夜来风雨声,花落知多少?
candy811025
驱动牛犊
驱动牛犊
  • 注册日期2004-04-30
  • 最后登录2004-05-26
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-05-14 14:09
呵呵,我又来啦 :D

还向询问一下大虾告诉我的那个消息模式接收数据是怎么个原理阿

能不能等同于直接处理中断的效果阿(已经知道这样做是多么的麻烦啦)

我理解的是这个样子的,大虾们帮我分析下对不对阿?

1)首先,应用程序向操作系统提出请求,要从并口读取数据
2)然后,操作系统将应用程序的进程挂起
3)接下来如果中断发生,操作系统从并口读取数据,
  然后发送消息给应用程序,通知应用程序,已经完成一次读操 作,并且把数据返回给应用程序阿

如果是这样的话,也就是说他并不是一直询问,占用系统的资源拉,也就是和直接处理中断的效果是很接近的啦。那我就直接用这种方式去读好拉。

如果不是的话,我就的努力去学习怎么写驱动来处理这个问题拉(痛苦.......................................................)
游客

返回顶部