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);// 解码