我在C#中遇到串口读取器问题。
如果我通过串口发送5555,则程序打印出555。 这是程序
public static void Main()
{
byte[] buffer = new byte[256];
string buff;
using (SerialPort sp = new SerialPort("COM2", 6200))
{
sp.Open();
//read directly
sp.Read(buffer, 0, (int)buffer.Length);
//read using a Stream
sp.BaseStream.Read(buffer, 0, (int)buffer.Length);
string sir = System.Text.Encoding.Default.GetString(buffer);
Console.WriteLine(sir);
答案 0 :(得分:1)
您需要使用“Read”方法返回的int。返回的值将告诉您实际读取了多少字节。您可能需要循环并多次调用“Read”,直到您已经读取了所需的字节数。
更新: This other question有一些示例代码,显示如何多次读取,直到您有足够的数据进行处理。
答案 1 :(得分:1)