C#---上位机构建~

本文记录了一位C#新手在构建串口通信上位机过程中的学习经历,从收发机制到解决数据接收问题。遇到的主要问题是数据加上时间戳后,每次只能接收一个字节,通过调整波特率和增加接收延时解决了问题。
摘要由CSDN通过智能技术生成

最近,小白尝试学习使用C#构建一个上位机,因此先以简单的串口通信上位机入手,参考了各种网上资源,最终以介个博主的内容作为模板,进行上位机的构建。学习中也是遇到了许多问题。

问题一:收发机制不熟悉,学习了博主的博客后,豁然开朗;

问题二:使用VS2019实现中,发现当发数据加上时间戳后,老是每次只能接收一个字节。然后找了好久的问题。。。。。。。。。。。。。。。。。。。。

无意中发现,使用波特率为9600时,并没有出现这个现象。怀疑是以前的波特率是1200,传输数据速度太慢。于是在网上查阅资料后,在接收部分加一个延时System.Threading.Thread.Sleep(100);就好了~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

先贴接收和发送的代码~后期还要修改调试

 private void SerialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {
            System.Threading.Thread.Sleep(100);
            int num = serialPort1.BytesToRead;      //获取接收缓冲区中的字节数
            byte[] received_buf = new byte[num];    //声明一个大小为num的字节数据用于存放读出的byte型数据

            receive_count += num;                   //接收字节计数变量增加nun
            serialPort1.Read(received_buf, 0, num);   //读取接收缓冲区中num个字节到byte数组中
            sb.Clear();     //防止出错,首先清空字符串构造器
            
           
            if (radi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值