这个跟串口不串口有一毛钱关系
串口数据是byte数组啊
你显示成什么格式,只不过是转字符串怎么转而已
你按16进制转,不就输出16进制了吗
你按ASCII码转,就输出ASCII码

解决方案 »

  1.   

    同理,你输入一个字符串,要如何转换成byte数组,按规则转就行了
      

  2.   

    byte[] data = ...
    string s = string.Join(" ", data.Select(x => x.ToString("X").PadLeft(2, '0')));
    textBox1.Text = s;
      

  3.   

                StringBuilder result = new StringBuilder();
                    //文本转16进制
                    char[] values = 显示控件.Text.ToCharArray();
                    string hex;
                    foreach (char letter in values)
                    {
                        hex = String.Format("{0:X2}", Convert.ToInt32(letter));
                        result.Append(hex);
                        if (result.Length > 0)
                        {
                            result.Append(" ");
                        }
                    }
                显示控件.Text = result.ToString();C# VS2010可以直接复制到点击控件下用
      

  4.   

    只不过是把byte数组转成你需要的的类型而已,你需要的类型是给用户看的,不是给机器理解的。
      

  5.   

    我想问下,我自己弄的代码一部分
    string Data = sp.ReadExisting(); 
                textBox2.Text = Data;//读取串口数据。ReadExisting函数:读取SerialPort 对象的流和输入缓冲区中所有立即可用的字节//AA 44 12 1C            
                ornData.Add(Data);
    我该怎么用你那个改呢
      

  6.   

    不要readString,直接read成byte数组
    然后循环转字符串,按你自己想要的格式转