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
默认值为 System.Text.ASCIIEncoding。 所以无法表示汉字,需要编码发送。
- public void TX_发送数据(string data)
- {
- byte[] buffer= Encoding.Default.GetBytes(data);
-
- SerialPort1.Write(buffer,0,buffer.Length );
- }
数据包,字节起始位,字节长度
- 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);
- }
这个是在发送的结尾 追加 /r/n 换行
/r/n //每次追加换行
string RX = Encoding.Default.GetString(buffer);
- string txbuffer = "串口要发送的数据。";
- byte[] tx = Encoding.Unicode.GetBytes(txbuffer);
-
- string rx = Encoding.Unicode.GetString(tx);// 解码