我使用COM端口(串行)發送和接收數據。我寫了下面的代碼。這實際上是我第一個C#
項目,因爲我有點新鮮。我正嘗試將接收到的數據寫入桌面上的文本文件,程序實際上創建了文件,但沒有寫入任何內容。同樣,我可以在控制檯上看到收到的數據,但它沒有寫入文本文件。任何幫助我做錯了將不勝感激。將數據寫入文本文件
謝謝。代碼如下。
class Program
{
SerialPort p = new SerialPort("COM7", 300, Parity.None, 8, StopBits.One);
string sbuffer = string.Empty;
byte i = 0;
static void Main(string[] args)
{
new Program();
}
Program()
{
string[] names = SerialPort.GetPortNames();
Console.WriteLine("Serial ports:");
foreach (string name in names)
{
Console.WriteLine(name);
}
Console.WriteLine("Using COM7");
p.Open();
string data_ = "$1RB\r";
Console.WriteLine("Writing data: {0}",data_);
p.Write(data_);
p.DataReceived += new SerialDataReceivedEventHandler(p_DataReceived);
Console.ReadKey();
p.Close();
}
void p_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
Thread.Sleep(5);
sbuffer += (sender as SerialPort).ReadExisting();
i++;
if (i > 9)
{
Console.WriteLine(sbuffer);
System.IO.File.WriteAllText(@"C:\Users\myname\Desktop\WriteText.txt", sbuffer);
sbuffer = string.Empty;
}
}
}
}
謝謝......這很有效。 – RAC
@ user1687153:接受答案比說謝謝更好。 – Cdeez