c#串行端口写入大字节数组

c#串行端口写入大字节数组,c#,serial-port,C#,Serial Port,我有一个C#应用程序,它可以打开调制解调器的串行端口并发送一些AT命令。 在某个时刻,我发送一个ATDT命令来拨打电话号码。 之后,我必须发送一些包含合成文本音频的大型数据 问题是,当我拿起电话时,我只能听到信息的一部分,声音在某个点上似乎被截断了,我只能听到信息的一部分。 有时,ATDT命令甚至在调制解调器开始合成号码之前就返回OK,从而导致静音呼叫 从调制解调器手册中,我看到我必须使用以下参数:115200、无奇偶校验、1停止位、流量控制XonXoff。 我使用DtrEnabled=true

我有一个C#应用程序,它可以打开调制解调器的串行端口并发送一些AT命令。 在某个时刻,我发送一个ATDT命令来拨打电话号码。 之后,我必须发送一些包含合成文本音频的大型数据

问题是,当我拿起电话时,我只能听到信息的一部分,声音在某个点上似乎被截断了,我只能听到信息的一部分。 有时,ATDT命令甚至在调制解调器开始合成号码之前就返回OK,从而导致静音呼叫

从调制解调器手册中,我看到我必须使用以下参数:115200、无奇偶校验、1停止位、流量控制XonXoff。 我使用DtrEnabled=true,RtsEnabled=false

我发送的命令序列是:

  • 阿兹
  • AT+FCLASS=8
  • AT+VSM=1308000
  • ATDT
  • AT+FLO=1//XonXoff
  • AT+VTX
  • 写入(voiceBuffer,0,voiceBuffer.Length)
  • 发送终止符//0x10 0x03
  • 阿瑟
  • 阿兹

voiceBuffer通常为150K

不启用二进制数据的XonXoff握手。这样的数据将包含一个Xoff字符。只有RTS/CTS握手才是合适的,这只关系到调制解调器和应用程序之间的握手。谢谢您的回答。我刚试过,但问题仍然存在。现在声音在另一个地方被截断了,我能听到结尾。确切地说,我发送的文本是“测试以检查你是否能听到我”和“测试以……听到我”我使用了握手。RequestToSend,DtrEnabled=true,RtsEnabled=true,AT+FLO=2很难猜测AT+FLO的实际含义,这不是标准。更好地记录您的问题,并提及您实际使用的调制解调器。查看并记录故障it文档,尤其是Conexant芯片组。从调制解调器手册中,AT+FLO允许设置流量控制。0=无,1=使用XonXoff,2=使用RTS/CTS。调制解调器是GenPac 92c