奇怪的串口通讯问题(100分)

  • 主题发起人 主题发起人 shotgun007
  • 开始时间 开始时间
S

shotgun007

Unregistered / Unconfirmed
GUEST, unregistred user!
我希望在一个串口通讯程序退出后仍然保持DTR和RTS为高电平,但是在Win9x和Win2k下,程序退
出关闭串口时windows总是自动将DTR和RTS复位(悬空,电平变为mv级),但是程序退出时又不得不关
闭串口。 查看资料得知3FC端口为调制解调器控制寄存器,其0位和1位分别控制DTR和RTS信号的高低,
于是我试用汇编直接读写该端口(在Ring0级),却也无效,我该怎么办呢?
 
9x直接编程肯定可以2k没有办法了
 
谢谢大家的关注,但是我用直接读写端口的方法(ring0级)在win98和win2k下都
没有成功。下面的代码执行后DTR和RTS的电压根本没有改变。
//codes blow run in ring 0
asm
mov dx, 3fch
mov al, 03h
out dx, al
end
我知道可以编写一个完整的串口虚拟驱动程序来代替windows自己的,使得关闭串口
时并不复位DTR和RTS信号,但是这样做又太不值了,不知是否还有其它的办法?若
希望和我在线探讨这个问题,请用QQ呼我:4692928。不过上面的回答不能给分-:)
 
用一枚 PHILIPS P87LPC760 MCU 做个简单的接口,把 DTR 和 RTS 映射过去,
用软件协议来控制,OK?
 
将这两个端直接硬件接高
 
后退
顶部