使用C#通过串口发送64字节的数据包

时间:2017-05-10 19:48:48

标签: c# serial-port usb

我试图通过usb端口使用c#向MCP2221微芯片发送命令。所述命令长度为64字节,主要由0x00组成,但第一个字节为0xB0。我创建一个字节数组,设置所述字节,并使用serialport.write命令写入它。 在使用ellysis usb explorer检查发送的字节之后,我注意到它以16字节长的ACK信号的形式发送命令,并且在其间具有相等长度的数百块空NAK信号。 我能以单个64字节包的形式正确执行命令吗?串口使用默认设置波特率9600,无奇偶校验和一个停止位,微芯片应该没问题。 我会非常感谢任何形式的协助。

2 个答案:

答案 0 :(得分:0)

我之前遇到过这个问题,因为在事件运行之前发生完全所以在事件运行中的第一个命令运行Thread.Sleep(200) 这样做你想要的。 在2方面做得更好

答案 1 :(得分:0)

看起来您的串行端口配置为使用流控制(默认情况下)。并且您的控制器可能不支持流控制,或者未配置为支持它。如果您不想要流控制,可以尝试简单地禁用它:

port.Handshake = Handshake.None;