else if (serialPort1.IsOpen)
{
int n2 = 0;
try
{
receive:
Byte[] receivedData = new Byte[serialPort1.BytesToRead]; //创建接收字节数组
string dt2 = DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss.fff");
serialPort1.Read(receivedData, 0, receivedData.Length); //读取数据
serialPort1.DiscardInBuffer(); //清空SerialPort控件的Buffer
string strRcv = "";
for (int i = 0; i < receivedData.Length; i++) //窗体显示
{
strRcv += receivedData[i].ToString("X2") + " "; //16进制显示
}
n2 += receivedData.Length;
received_count += n2; //累计接收字节数
if (strRcv.Trim() != "")
{
listBox1.Items.Add(dt2 + " <<== RX: " + strRcv + "\n\t");
}
label10.Text = "Recive: " + received_count.ToString();
刚刚学习C#,使用串口控件设备接收数据时,发现长帧报文会分多行读取,该怎么处理?代码如下,求具体指导
答案:2 悬赏:60 手机版
解决时间 2021-02-23 19:52
- 提问者网友:那叫心脏的地方装的都是你
- 2021-02-23 07:11
最佳答案
- 五星知识达人网友:琴狂剑也妄
- 2021-02-23 08:09
关注这个问题
全部回答
- 1楼网友:拾荒鲤
- 2021-02-23 08:53
任务占坑
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯