【问题标题】:Send and read result of an At command to a usb modem in c#在 c# 中将 At 命令的结果发送和读取到 USB 调制解调器
【发布时间】:2011-11-07 05:16:25
【问题描述】:

我想知道如何发送和接收发送到 USB 调制解调器的 AT 命令的结果。

我找到了很多信息,但我不知道什么是最好的方法:

我发现了这个: http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/800f12fa-4da8-42bf-b61b-65f6bb58c871/

但我发现读写有点奇怪......

有人有别的吗?

谢谢大家!

编辑:

不确定我粘贴的链接是否很棒,我已经尝试过了,但它给了我一个空异常。

现在我正在尝试这个:

 SerialPort sp = new SerialPort();
            sp.PortName = "COM3";
            sp.Open();
            sp.Write("AT<CR>");

但我真的不知道如何阅读结果,有人有想法吗?

【问题讨论】:

  • sp.Read 应该可以解决问题。您必须有一个支持通过 COM 端口与其通信的调制解调器,并且您必须在程序中设置正确的 COM 端口以匹配调制解调器的设置
  • 是的,我看到了这个,但是第三个参数计数把我搞砸了,我怎么知道我需要读取多少字节?
  • 你没有。只需制作一个大缓冲区并传递其大小即可。喜欢var buffer = new byte[4096];。函数的返回值会告诉你有多少字节被读入缓冲区。
  • @Greg 您可以使用 sp.BytesToRead 知道要读取多少字节

标签: c# .net modem at-command


【解决方案1】:

(对不起我的英语不好)

我在 WPF 应用程序中执行完全相同的操作,只需连接 sp.DataReceived 事件,您就可以使用 sp.ReadExisting() 获取数据。

【讨论】:

  • 好的,找到了这个:daniweb.com/software-development/csharp/threads/232090,我现在正在尝试。下次尝试更详细:),但现在+1
  • @Greg 如果它帮助您找到解决问题的方法,我认为这已经足够了 - 我有一个与 USB 调制解调器通信的工作应用程序,如果您有任何其他问题,我会很高兴为您提供帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多