JT焦 2016-07-07 01:46 采纳率: 50%
浏览 1331
已采纳

C#写 串口调试助手在发送端遇到的问题

以下是我看其他人写的一段发送数据的程序:
private void button2_Click(object sender, EventArgs e)
{
string str = "";
str = textBox2.Text;
if (checkBox6_flag)
{
str += "\r\n";
}
string a = "", b = "-";
a = textBox2.Text;
// List l = Encoding.ASCII.GetBytes(a).ToList();
// byte[] data = l.ToArray();
// a = (BitConverter.ToString(data));
// for (int i = 0; i < a.Length; i++)
//{
// if (a[i] == b[0]) { a = a.Remove(i, 1); a = a.Insert(i, " "); }
// }
if (button1_flag == true)
if (checkBox5_flag == true)
{
ser_mcs.Write(a);
//a = a.Replace(" ","");
TX += a.Length;
label10.Text = Convert.ToString(TX);
}
else
{
ser_mcs.Write(str);
TX += str.Length;
label10.Text = Convert.ToString(TX);
}
else MessageBox.Show("尚未打开串口!");
}
这段程序中我注释掉的部分不是太理解,哪位大神能给我讲解以下

  • 写回答

4条回答 默认 最新

  • lhl_lqc 2016-07-07 02:14
    关注

    先将字符串转换成字节数组,然后将字节数组通过BitConverter.ToString()转换成带-的16进制字符串表示形式。比如 byte[ ] arrayOne = {
    0, 1, 2, 4, 8, 16, 32, 64, 128, 255 };转换后会变成“00-01-02-04-08-10-20-40-80-FF“的形式。至于替换-为" ",可能是发送的时候只发送进制数据和空格,不想要其它多余的字符。

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

报告相同问题?

悬赏问题

  • ¥88 实在没有想法,需要个思路
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出
  • ¥15 如何用stata画出文献中常见的安慰剂检验图
  • ¥15 c语言链表结构体数据插入
  • ¥40 使用MATLAB解答线性代数问题
  • ¥15 COCOS的问题COCOS的问题
  • ¥15 FPGA-SRIO初始化失败
  • ¥15 MapReduce实现倒排索引失败
  • ¥15 ZABBIX6.0L连接数据库报错,如何解决?(操作系统-centos)