使用SerialPort类进行调制解调器到调制解调器通信

时间:2011-07-28 15:09:38

标签: c# modem

我正在重写通过TAP和调制解调器发送寻呼机消息的遗留应用。所以我不得不在C#中编写一个新的TAP客户端。使用SerialPort是微不足道的,但我不确定如何处理如下条件:

  • 过度响铃没有回答
  • 没有拨号
  • 忙信号检测(我知道每个调制解调器都没有启用,所以这是可选的)
  • 远程调制解调器答案

那么我如何以同步方式读取接收的数据呢? TAP是同步的,所以我将发出命令,然后期望来自远程机器的某种类型的响应。我认为我最大的问题是弄清楚如何终止数据。调制解调器数据是CR或LF CR-LF终止的标准吗?

有些指针会很棒,而且我自己可以阅读的任何参考资料都很精彩。

1 个答案:

答案 0 :(得分:1)

这是关于串行通信还是TAP的问题?我从来没有使用过TAP,但我不得不使用串行通信硬件(尽管很多年前。)

我刚找到this PDF specification文件,我搜索了“terminat”。它会在该系列文本中显示8个不同的单词,其中7个似乎与您的请求有关。

我不确定您使用串行通信或传统通信系统获得了多少经验。硬件,但您可能会发现HyperTerminal非常有用,它是Windows的一部分。还有其他串行/终端软件,但HyperTerm免费且易于使用。

您可以使用HyperTerm向您的设备发送和接收代码,并检查发送/接收的数据。然后,您可以使用通信转储对TAP通信进行反向工程。

- 编辑 -

关于与调制解调器的交互,我将研究Hayes命令集。海耶斯是一家在80年代早期制造调制解调器的公司。据我所知,从那时起,他们的调制解调器命令已经变得非常标准。看一下可用的调制解调器命令,我认为你的问题有一个解决方案,但你可能需要做一些实验。

我说实话,我从来没有直接使用调制解调器硬件,所以我提供的信息是基于我今天下午发现的研究。如果我在你的鞋子里,我会假设和尝试这些提示。有关详细信息,请参阅Google“Hayes Command Set”或check this article

希望有所帮助。