怀瑾N 2017-12-21 11:17 采纳率: 25%
浏览 1482
已采纳

winform 串口16进制发送接收,要源码

winform 串口16进制发送接收
要源码,最好有注释,求高手帮忙

  • 写回答

2条回答 默认 最新

  • qq_40955652 2017-12-21 12:13
    关注

    static int buffersize = 18; //十六进制数的大小(假设为9Byte,可调整数字大小)
    byte[] buffer = new Byte[buffersize]; //创建缓冲区

    private void button1_Click(object sender, EventArgs e)
    {
    serialPort1.Read(buffer, 0, buffersize);
    string ss;
    ss = byteToHexStr(buffer); //用到函数byteToHexStr
    textBox2.Text = ss;
    serialPort1.Close();
    MessageBox.Show("数据接收成功!", "系统提示");
    }

    //字节数组转16进制字符串
    public static string byteToHexStr(byte[] bytes)
    {
    string returnStr = "";
    if (bytes != null)
    {
    for (int i = 0; i < bytes.Length; i++)
    {
    returnStr += bytes[i].ToString("X2");
    }
    }
    return returnStr;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    serialPort1.PortName = "COM1";
    serialPort1.BaudRate = 9600;
    serialPort1.DataBits = 8; //数据位
    serialPort1.Parity = System.IO.Ports.Parity.None; //无奇偶校验位
    serialPort1.StopBits = System.IO.Ports.StopBits.One; //一个停止位
    serialPort1.ReadBufferSize = 1024; //接收缓冲区大小
    serialPort1.Encoding = Encoding.BigEndianUnicode;
    serialPort1.Open();
    }

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

报告相同问题?