C#串口=>6发送

void Write(byte[] buffer, int offset, int count);

void Write(string text);

void Write(char[] buffer, int offset, int count);

void WriteLine(string text);
————————————————
版权声明:本文为CSDN博主「cfqq1989」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/cfqq1989/article/details/126275125

 总共4种:

默认值为 System.Text.ASCIIEncoding。 所以无法表示汉字,需要编码发送。

1发送数据包:

public void TX_发送数据(string data)
{
       byte[] buffer= Encoding.Default.GetBytes(data);

       SerialPort1.Write(buffer,0,buffer.Length  );
}

数据包,字节起始位,字节长度

2发送字符串:

 public void TX_发送数据1(string data)
        {
            byte[] buffer = Encoding.Unicode.GetBytes(data);
            //默认值为 System.Text.ASCIIEncoding。
            //因为ASCII是8bit,所以无法表示汉字。最少16bit才能表示汉字
            SerialPort1.Encoding=Encoding.Unicode;//UTF7,UTF8,ASCII,Default,Unicode,UTF32,BigEndianUnicode
            string str当前系统编码 = SerialPort1.Encoding.EncodingName;
            SerialPort1.Write(buffer, 0, buffer.Length);
        }

3 void WriteLine

这个是在发送的结尾 追加  /r/n 换行

/r/n      //每次追加换行

4 解码:

string RX = Encoding.Default.GetString(buffer);
string txbuffer = "串口要发送的数据。";
byte[] tx = Encoding.Unicode.GetBytes(txbuffer);
 
string rx = Encoding.Unicode.GetString(tx);// 解码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值