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