明宇朗心 2018-05-15 02:59 采纳率: 100%
浏览 1932
已结题

C#中如何让字符数组通过串口实时显示在多个Textbox中? 单个Textbox已可以自动逐行显示

图片说明
图片说明
有程序解释最好,谢谢帮助哦! (51单片机串口发送)

 private void port_DataReceived(object sender, SerialDataReceivedEventArgs e)             //串口接收事件
        {
            int i = 1;
            if (!radioButton3.Checked)     //接收为字符模式
            {                
                string str = serialPort1.ReadExisting();   //字符串方式读取
                textBox9.AppendText(str);//添加内容


                }  
                    else                   //如果接收模式为数值模式
                    {
                        byte[] data = new byte[serialPort1.BytesToRead];             //定义缓冲区,因为串口事件触发时有可能收到不止一个字节
                        serialPort1.Read(data, 0, data.Length);               //读取数据
                        foreach (byte Member in data)                                                   //遍历用法
                        {
                            string str = Convert.ToString(Member, 16).ToUpper();
                            textBox1.AppendText("0x" + (str.Length == 1 ? "0" + str : str) + " ");     //文本框显示1
                            //上一句等同于 if(str.Length==1) 
                            //str = '0' + str;
                            //else
                            //str = str;
                            //textBox1.AppendText("0x" + str);  
                        }
                    }
        }

图片说明
我是用51单片机逐个字符发送的

  • 写回答

3条回答 默认 最新

  • qq_20798777 2018-05-15 03:23
    关注

    string str = "123/456/789";
    string[] plist = str.Split('/');

    对应写到格子里就好了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵