0
我有一個PhidgetRFID芯片(P/N:1023,205版)。我正在嘗試製作一個簡單的程序,以檢測標籤並顯示其唯一的ID號碼。我發現下面的源代碼,從製造商的網站PhidgetRFID芯片:如何檢測標籤
import com.phidgets.*;
import com.phidgets.event.*;
public class RFIDExample
{
public static final void main(String args[]) throws Exception {
RFIDPhidget rfid;
System.out.println(Phidget.getLibraryVersion());
rfid = new RFIDPhidget();
rfid.addAttachListener(new AttachListener() {
public void attached(AttachEvent ae)
{
try
{
((RFIDPhidget)ae.getSource()).setAntennaOn(true);
((RFIDPhidget)ae.getSource()).setLEDOn(true);
}
catch (PhidgetException ex) { }
System.out.println("attachment of " + ae);
}
});
rfid.addDetachListener(new DetachListener() {
public void detached(DetachEvent ae) {
System.out.println("detachment of " + ae);
}
});
rfid.addErrorListener(new ErrorListener() {
public void error(ErrorEvent ee) {
System.out.println("error event for " + ee);
}
});
rfid.addTagGainListener(new TagGainListener()
{
public void tagGained(TagGainEvent oe)
{
System.out.println("Tag Gained: " +oe.getValue() + " (Proto:"+ oe.getProtocol()+")");
}
});
rfid.addTagLossListener(new TagLossListener()
{
public void tagLost(TagLossEvent oe)
{
System.out.println(oe);
}
});
rfid.addOutputChangeListener(new OutputChangeListener()
{
public void outputChanged(OutputChangeEvent oe)
{
System.out.println(oe);
}
});
rfid.openAny();
System.out.println("waiting for RFID attachment...");
rfid.waitForAttachment(30000);
System.out.println("Serial: " + rfid.getSerialNumber());
System.out.println("Outputs: " + rfid.getOutputCount());
}
}
,但我收到以下錯誤:
Phidget21 - 版本2.1.8 - 內置2016年2月22日11時45分54秒 等待RFID附件... 異常線程 「main」 PhidgetException 13(由於已超出時間限制。) 在com.phidgets.Phidget.waitForAttachment(本機方法) 在RFIDExample.main(RFIDExample.java:58)
我已經嘗試過的是增加計時器,但問題沒有解決。 我試圖使用製造商的應用程序爲我的RFID芯片,它的工作,它正確地檢測標籤。但我需要使用源代碼而不是現成的應用程序。
任何幫助將是非常有用的! 提前謝謝! :)
BR, Loukas