数据已收到输出http://postimg.org/image/5hvqgosc7/
这是RFID标签号的字符串显示。 真的是这个显示所有的rfid还是我可以更改它只显示没有空格和符号的数字?
或我的代码中是否存在问题。
这是我的代码:
private void Form1_Load(object sender, EventArgs e)
{
cn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Thesis\Desktop\Projects\Employees.accdb;Persist Security Info=True";
cmd.Connection = cn;
this.myDelegate = new AddDataDelegate(AddDataMethod);
rfidbox.Enabled = true;
string[] ports = SerialPort.GetPortNames();
foreach (string port in ports)
{
SerialPort mySerialPort = new SerialPort(port);
mySerialPort.BaudRate = 9600;
mySerialPort.Parity = Parity.None;
mySerialPort.StopBits = StopBits.One;
mySerialPort.DataBits = 8;
mySerialPort.ReadTimeout = 3000;
mySerialPort.Handshake = Handshake.None;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceivedHandler);
mySerialPort.Open();
}
}
private void DataReceivedHandler( object sender, SerialDataReceivedEventArgs e)
{
SerialPort sp = (SerialPort)sender;
string s = sp.ReadExisting();
rfidbox.Invoke(this.myDelegate, new Object[]{s});
}
public void AddDataMethod(String myString)
{
rfidbox.AppendText(myString);
}
提前感谢您的帮助。
答案 0 :(得分:0)
我认为你的数据在ASCII值的几个字节之后有一个二进制部分。您可能需要查阅硬件文档以获取数据结构。如果部分是二进制的,则需要使用二次读取例程,如SerialPort.ReadByte()n次,并从字节手动组装字符串。字符串后面的字节需要根据含义进行解释;如果数据中包含二进制整数,请注意潜在的字节序问题。