阅读:2526回复:9
请教各位大侠并口的高速打印是怎么实现的,速率可以达到800kbyte/s吗?
本人通过并口向一个仪器传大量数据,用发一个数据再发一个选通的的方法速度只有300k/s,后来看了两本书,是讲EPP,ECP模式的,说是可以硬件自动产生选通信号,速度可以达到800k/s,但我怎么也试验不成功,设置ECR寄存器没什么反应啊。哪位大侠懂高速并口传输或者打印驱动的编程,教教我,不胜感激啊。
|
|
|
沙发#
发布于:2003-04-18 10:53
关注!
|
|
板凳#
发布于:2003-04-18 13:30
用EPP可以达到2MBYTE/S的速度,用REP OUTS指令就可以了。注意,地址不是打印端口地址378H。好象是37CH
|
|
地板#
发布于:2003-04-19 10:20
能达到2M???有选通信号吗??就是用 rep outs ? 是0x37c。
哪有例子可以看看???? |
|
|
地下室#
发布于:2003-04-19 12:14
怎么给分啊。?
rep outs 怎么用啊???? |
|
|
5楼#
发布于:2003-04-20 12:56
rep outs是汇编
|
|
6楼#
发布于:2003-04-21 17:41
我知道是汇编啊,可是讲汇编语言的书上没有讲 outs,outsb,outsw这几个指令到底是怎么用的,而且我是想在VC里调用,,我实在是笨,,搞不懂怎么用,非得有个例子看着学才会。大侠,帮帮我。
|
|
|
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模式。 该怎么办啊???? |
|
|
8楼#
发布于:2003-04-24 06:11
100k是因为你的外设反应慢,CPU插入了等待。
|
|
9楼#
发布于:2003-04-24 09:59
就是这个问题:(,但我的外设硬件设计上只接收数据,并不返回nWait信号。看书上讲这样会引起超时。有没有其他办法解决呢?
|
|
|