发表于:2005-04-26 23:01:00
楼主
我使用C++Builder 用WindowsAPI编写串行通信程序,使用EscapeCommFunction()加入并停止Break信号,使用ClearCommState()或WaitCommEvent()检测Break。
当我在PC机通用的RS232进行试验(COM1->COM2),可以正确检测到Break信号。
而我使用研华科技的1602BRS422的通信卡时(COM3->COM4),无法检测到Break。
首先,线路的物理连接是没有问题了,因为数据是可以正常传送的;两次测试使用的程序是一样的。
422卡的uart是16pci954(它的技术说明上说的),在它提供的Linux驱动中,寄存器的定义和8250与16550是一样的,但不知道为什么无法检测到Break?寄存器的定义不一样? 请教高手
email:eastf@yeah.net qq:6760051 .不胜感激!