利用串口和电话交换机通信,如何实现ENQ/ACK协议,事关饭碗(200分)

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

sunnet

Unregistered / Unconfirmed
GUEST, unregistred user!
我现在要作一个程序,要实现和电话交换机(型号:MITEL SX2000 Light)的交互通信.技术说明书指出,交换机支持ENQ/ACK/STX-Message-ETX/ACK协议.交换机提供一个RS-232端口,用于和计算机串口通信.我现在的做法是用CreateFile
打开串口,先用WriteFile写一个ENQ(ASCII #5),然后用ReadFile读串口,判断
取回的值是否ACK(ASCII #6),如是,则以CHR(2)+'格式命令'+CHR(3),写往
串口,但是交换机没有返回任何信号.请问,这样写对不对,如果不对,怎样实现.
事关饭碗!
 
按理这种方法没错,但RS232串口传输不仅都是这些信息。对此本论坛有过类似的
讨论,看参见一下。
 
为什么不用控件,比如spcomm,有很多例子。
 
1)用SPCOMM或用VB中的COMM OCX控件.
2)交换机和你的程序设置的串口通讯参数,握手协议是否相同?
3)能不能具体说你的应用是什么.

 
我单位也是用RS232和交换机通讯,可以用一现成的构件comdr32 .
 
你最好仔细看看ack协议,要有发送帧才有可能有应答帧的。
 
多人接受答案了。
 
后退
顶部