客户给了一个读写器和几个纽扣标签,还有一套c++写的Demo程序,功能大致分为打开关闭串口,读出纽扣标签的id,修改纽扣标签的id(写入id覆盖原来的),现在领导要用c#写一个测试用的程序,我用c#中的SerialPort类,完成了打开关闭串口,读取纽扣标签中的id,可是写入标签数据怎么都写不进去。。请各位高手前来帮帮小弟
写入的代码private void btnwrite_Click(object sender, EventArgs e)
{
if (!sp.IsOpen)
{
textBox1.Text += DateTime.Now.ToString() + "\tCom Not Open \r\n";
return;
}
sp.DiscardInBuffer();
System.Threading.Thread.Sleep(1000);
byte[] buffer = new byte[4];
try
{
//buffer = System.Text.Encoding.Default.GetBytes(textBox2.Text);
buffer = HexStringToByteArray(textBox2.Text);
sp.Write(buffer, 0, buffer.Length);
//sp.WriteLine(textBox2.Text); //System.Threading.Thread.Sleep(2000);
//sp.WriteLine(textBox2.Text);
}
catch (Exception)
{
textBox1.Text += DateTime.Now.ToString() + "\tTimeOut \r\n";
return;
}
textBox1.Text += DateTime.Now.ToString() + "\tOK \r\n";
}
写入的代码private void btnwrite_Click(object sender, EventArgs e)
{
if (!sp.IsOpen)
{
textBox1.Text += DateTime.Now.ToString() + "\tCom Not Open \r\n";
return;
}
sp.DiscardInBuffer();
System.Threading.Thread.Sleep(1000);
byte[] buffer = new byte[4];
try
{
//buffer = System.Text.Encoding.Default.GetBytes(textBox2.Text);
buffer = HexStringToByteArray(textBox2.Text);
sp.Write(buffer, 0, buffer.Length);
//sp.WriteLine(textBox2.Text); //System.Threading.Thread.Sleep(2000);
//sp.WriteLine(textBox2.Text);
}
catch (Exception)
{
textBox1.Text += DateTime.Now.ToString() + "\tTimeOut \r\n";
return;
}
textBox1.Text += DateTime.Now.ToString() + "\tOK \r\n";
}
SerialPort的write方法是把数据发送到串口,不写入标签中的吗?如果是这样请问如何能把数据写入标签中,有没有其他方法?