C#编写的上位机,串口转USB接收数据出错原因
用C#编写的上位机,用串口直接接收数据没有问题。用串口转USB接收数据上位机出错,用串口调试工具没有问题。可是用我的上位机就是接收到一堆乱码。原因是什么?该怎么改?我显示...
用C#编写的上位机,用串口直接接收数据没有问题。用串口转USB 接收数据 上位机出错,用串口调试工具没有问题。可是用我的上位机就是接收到一堆乱码。原因是什么?该怎么改?
我显示了下接收的内容,只接收到0x00或者0x01,可是发送的是01 30 30 38 30……,我在C#中的串口接收数据代码如下:
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Thread.Sleep(300);
Int32 Num = serialPort1.BytesToRead;
byte[] readBuffer = new byte[Num ];
serialPort1.Read(readBuffer, 0, Num);
string longRecd = longRecd.Concat(readBuffer).ToArray();
this.listBox1.Invoke(new MethodInvoker(delegate { this.listBox1.Items.Add(recdData); }));
}
真是不知道问题在哪啊
求解答啊~~ 展开
我显示了下接收的内容,只接收到0x00或者0x01,可是发送的是01 30 30 38 30……,我在C#中的串口接收数据代码如下:
private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Thread.Sleep(300);
Int32 Num = serialPort1.BytesToRead;
byte[] readBuffer = new byte[Num ];
serialPort1.Read(readBuffer, 0, Num);
string longRecd = longRecd.Concat(readBuffer).ToArray();
this.listBox1.Invoke(new MethodInvoker(delegate { this.listBox1.Items.Add(recdData); }));
}
真是不知道问题在哪啊
求解答啊~~ 展开
3个回答
展开全部
分两步测试,第一步是测试接收时是否有问题,第二步要测试发送和接收的编码顺序,因为发送时,有可能为了数据安全,做了一些加密或者机器需要的编码数据,如果是这样时,你接收后需要再做解码运作。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
测试编码解码方式
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询