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

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流