C# FileStream与Minicom发送AT+SBDWT命令的行为差异问题
铱星调制解调器两步式AT命令通信异常问题
我正在与铱星调制解调器通信,其中写入消息的两步式命令(对应文档5.170节)执行异常,一步式命令可正常工作。
命令执行流程对比
预期正常流程
- 发送:
AT+SBDWT - 设备响应:
READY(提示需输入消息内容) - 发送:
message - 设备响应:
0(表示消息已成功存储)
实际异常流程
- 发送:
AT+SBDWT - 设备响应:
READY - 设备直接返回:
0(未等待发送消息内容即判定完成)
测试环境差异
- 使用Minicom与设备通信时,两步式命令可正常执行
- 使用C#的
FileStream类发送命令时出现上述异常,其余AT命令均正常工作
现有一步式命令C#代码(可正常运行)
fs = new FileStream(_portName, FileMode.Open, FileAccess.Write, FileShare.ReadWrite); byte[] bytes = Encoding.ASCII.GetBytes(command); // 命令包含\r换行符 fs.Write(bytes, 0, bytes.Length); // fs为FileStream实例 fs.Flush();
注:命令必须包含\r,若移除则无法发送命令,也无法获取READY响应。
初步猜测
问题可能与发送的\r或\n换行符有关,但尚未定位具体原因。
内容的提问来源于stack exchange,提问作者Raúl Lara Rico
相关产品推荐
相关产品推荐

