我在这里使用的RFID阅读器,NordicID Sampo带有一个API,它启动一个读取数据的线程。您可以通过创建一个Task来从该线程添加的缓冲区读取数据。然后,您可以将这些数据传递给表单或通过电子邮件发送。
您的扫描仪可能有类似的机制。
示例: StartStreaming是设备API的一个包装,它启动读取设备数据的线程。这激发了自己的任务,并定期检查数据
class RFIDReader : IDisposable
{
public void StartStreaming()
{
if (RFID_ConnectSerialPort(mAPIHandle, 4, 115200) == 0 || RFID_ConnectAutoUSB(mAPIHandle) == 0)
{
RFID_StartInventoryStreaming(
(value, antenna) => {
mAntennas[antenna].Add(value);
});
}
}
/////// MORE FUNCTIONS
}
客户端代码:
static void Main(string[] args)
{
Action a = new Action(() =>
{
using (RFIDReader scanner = new RFIDReader())
{
scanner.StartStreaming();
while (true)
{
foreach (string s in scanner.GetData(0))
{
WriteLine($"antenna0: {s}");
}
Thread.Sleep(1000);
}
}
});
Task t = Task.Factory.StartNew(a);
t.Wait();
}
你有一些代码?没有任何代码,这将是太宽泛... –
你已经成功地阅读了C#中的一些RFID与您的设备?然后请发布您已经尝试过的代码。 – BoeseB