2011-04-29 92 views

回答

9

通常,不管语言如何,方法是打开一个串口与调制解调器通信。对于.NET,您可能想要参考System.IO.Ports.SerialPort。连接参数(波特率,数据位,停止位,奇偶校验,流量控制)取决于所讨论的设备。试试57600或串口最快的速度,8个数据位,1个停止位,无奇偶校验和硬件流量控制;这就是通常使用的。

Hayes兼容调制解调器在有人拨号时在串行端口上花费“RING”通知(计划文本)。您需要发送一个“AT A”给调制解调器以进行呼叫(或者调制解调器可以配置为自动应答)。建立连接后,将从调制解调器发送“CONNECT XXX”,其中XXX是连接详细信息。有关Hayes命令的摘要,请参阅this Wikipedia link。 (它还描述了如果要通过调制解调器连接编程通信,则可能需要进入的命令/数据模式等详细信息。)

0

将DataReceived事件附加到已打开的串口上 在SerialPort文档中介绍如何打开端口和附加处理程序。您需要知道端口速度和停止,启动位,奇偶校验等。尝试9600(bps),parity.none,无握手,1停止和启动位的速度......要做的最好的事情是保持默认状态只需做新的SerialPort(“COM5”)或任何你的COM端口,所以你把东西放在他们的默认值。

继续将接收到的数据放入缓冲区并不断扫描该缓冲区以获取“RING”。

当您的调制解调器正在振铃时,您的串行端口将逐字地接收“ring”字样。所以你必须继续扫描它。

此外,之所以说我把你的数据放入缓冲区是因为它有时会不按顺序到达。或者你可能想要做一个readLine,直到读到/ r(回车),表示一个完整的响应

相关问题