110,539
社区成员
发帖
与我相关
我的任务
分享
for (int i = 0; i < 9; i++)
{
if (Opera[i])
{
mYRun[i] = new Thread(ReadDevice1);
mYRun[i].Start(comPort[i].PortName);
}//启动线程
}
void DataReceived(object o, SerialDataReceivedEventArgs e)
{
byte[] b = new byte[comPort[int100].BytesToRead];//定义byte数组,serialPort读取数据
comPort[int100].Read(b, 0, b.Length);
str = "";
if (b.Length > 0)
{
for (int i = 0; i < b.Length; i++)
{
str += string.Format("{0:X2} ", b[i]);
}
richTextBox1.Invoke
(
new MethodInvoker
(
delegate
{
Application.DoEvents();
richTextBox1.AppendText( DateTime.Now + ": " + str + "\n");
}
)
);
这样写是不是导致显示在 richTextBox1 错误?void sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = sender as SerialPort;
int len = sp.BytesToRead;
byte[] buff = new byte[len];
sp.Read(buff, 0, len);
}
comPort[1].DataReceived += new SerialDataReceivedEventHandler(DataReceived1)
comPort[2].DataReceived += new SerialDataReceivedEventHandler(DataReceived2)
.....