110,477
社区成员
发帖
与我相关
我的任务
分享
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
//long qwe = 0;
int n = serialPort1.BytesToRead;
if (n > 0)
{
byte[] data = new byte[n];
serialPort1.Read(data, 0, n);
foreach (byte item in data)
{
asdd1 = asdd1 + item.ToString("X2");
wr1++;
}
//for (qwe = (0); qwe < data.Length; qwe++)
//{
// asdd1 = asdd1 + serialPort1.ReadByte().ToString("X2");
// wr1++;
//}
if ((asdd1 != "FF") && (asdd1 != "FE") && (asdd1 != "FFFE") && (asdd1 != "FEFF"))
{
save_file(asdd1, aaaa1, "COM1");
//textBox1.Text = textBox1.Text + asdd;
}
asdd1 = "";
}
}
private void save_file(string aa, string times, string xiang)
{
//counttime1();
Directory.CreateDirectory(@"D:\" + "串口调试信息");
StreamWriter swww = new StreamWriter(@"D:\" + "串口调试信息" + "\\" + year1 + month1 + day1 + hour1 + minute1 + "_" + xiang + ".txt", true, Encoding.UTF8);
swww.Write(aa);
swww.Flush();
swww.Close();
}
private StringBuilder sb = new StringBuilder();
StreamWriter swww = StreamWriter.Null;
private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
{
//long qwe = 0;
int n = serialPort1.BytesToRead;
swww = new StreamWriter(@"D:\" + "串口调试信息" + "\\" + year1 + month1 + day1 + hour1 + minute1 + "_" + xiang + ".txt", true, Encoding.UTF8);
if (n > 0)
{
byte[] data = new byte[n];
serialPort1.Read(data, 0, n);
foreach (byte item in data)
{
//asdd1 = asdd1 + item.ToString("X2");
sb.Append(item.ToString("X2"));
wr1++;
}
//for (qwe = (0); qwe < data.Length; qwe++)
//{
// asdd1 = asdd1 + serialPort1.ReadByte().ToString("X2");
// wr1++;
//}
//if ((asdd1 != "FF") && (asdd1 != "FE") && (asdd1 != "FFFE") && (asdd1 != "FEFF"))
if ((sb.ToString() != "FF") && (sb.ToString() != "FE") && (sb.ToString() != "FFFE") && (sb.ToString() != "FEFF"))
{
//save_file(asdd1, aaaa1, "COM1");
save_file(sb.ToString(), aaaa1, "COM1");
//textBox1.Text = textBox1.Text + asdd;
}
//asdd1 = "";
sb.Clear();
}
swww.Close();
}
private void save_file(string aa, string times, string xiang)
{
//counttime1();
if (!Directory.Exists(@"D:\" + "串口调试信息"))
{
Directory.CreateDirectory(@"D:\" + "串口调试信息");
}
//StreamWriter swww = new StreamWriter(@"D:\" + "串口调试信息" + "\\" + year1 + month1 + day1 + hour1 + minute1 + "_" + xiang + ".txt", true, Encoding.UTF8);
swww.Write(aa);
swww.Flush();
//swww.Close();
}
if ((asdd1 != "FF")
其中你的asdd1是来自串口的数据并且是累加的.. 那么如果他有循环了 他怎么可能等于单个字符串?
所以你这地方难道不是直接判断n!=1不就好了吗?
另外关于写日志的部分..我看你也编程不少了.. 难道你连log4.net都没听过??