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

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条)

报告相同问题?

悬赏问题

  • ¥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键失灵