bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2444回复:9

请教各位大侠并口的高速打印是怎么实现的,速率可以达到800kbyte/s吗?

楼主#
更多 发布于:2003-04-17 12:54
本人通过并口向一个仪器传大量数据,用发一个数据再发一个选通的的方法速度只有300k/s,后来看了两本书,是讲EPP,ECP模式的,说是可以硬件自动产生选通信号,速度可以达到800k/s,但我怎么也试验不成功,设置ECR寄存器没什么反应啊。哪位大侠懂高速并口传输或者打印驱动的编程,教教我,不胜感激啊。
我要打印驱动dad
lgasj
驱动中牛
驱动中牛
  • 注册日期2002-07-12
  • 最后登录2006-01-23
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望1点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2003-04-18 10:53
关注!
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2003-04-18 13:30
用EPP可以达到2MBYTE/S的速度,用REP OUTS指令就可以了。注意,地址不是打印端口地址378H。好象是37CH
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2003-04-19 10:20
能达到2M???有选通信号吗??就是用 rep  outs ? 是0x37c。
哪有例子可以看看????
我要打印驱动dad
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2003-04-19 12:14
怎么给分啊。?

rep outs 怎么用啊????
我要打印驱动dad
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2003-04-20 12:56
rep outs是汇编
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2003-04-21 17:41
我知道是汇编啊,可是讲汇编语言的书上没有讲 outs,outsb,outsw这几个指令到底是怎么用的,而且我是想在VC里调用,,我实在是笨,,搞不懂怎么用,非得有个例子看着学才会。大侠,帮帮我。
我要打印驱动dad
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2003-04-22 14:05
大侠请看我的程序
char lpData[1024];
memset (lpData,0x55,1024);
DWORD dwStartTicks = GetTickCount();
__asm                  // __asm block
    {
       push si
       lea si, lpData
       mov ecx, 1024
       mov edx,37ch
       rep outsb
       pop si
    }
DWORD dwTimeTaken = GetTickCount() - dwStartTicks;
编译运行通过了,,自动产生选通信号但数据发送的速率只有100k/s,,是不是还要先设置EPP模式????
我用设置ECR寄存器的方法设置了EPP模式,但没什么改变,我在BIOS里把并口的模式已经设置为ECP+EPP模式。
该怎么办啊????
我要打印驱动dad
X_ray
驱动中牛
驱动中牛
  • 注册日期2003-02-03
  • 最后登录2004-07-24
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2003-04-24 06:11
100k是因为你的外设反应慢,CPU插入了等待。
bigstarsun
驱动牛犊
驱动牛犊
  • 注册日期2003-01-20
  • 最后登录2004-08-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2003-04-24 09:59
就是这个问题:(,但我的外设硬件设计上只接收数据,并不返回nWait信号。看书上讲这样会引起超时。有没有其他办法解决呢?
我要打印驱动dad
游客

返回顶部