首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >RFID Phidget管理器附加事件

RFID Phidget管理器附加事件
EN

Stack Overflow用户
提问于 2014-06-05 07:16:01
回答 1查看 285关注 0票数 2

我正在尝试一个程序与许多phidget rfid阅读器。这个测试代码工作得很好,我可以加载所有的读取器并让它正常工作。

代码语言:javascript
复制
Vector phidgetList = manager.getPhidgets();
          Enumeration phidgetListEnum = phidgetList.elements();
          int count=phidgets.size();
          while(phidgetListEnum.hasMoreElements()) { 
                Phidget phidgetElement = (Phidget) phidgetListEnum
                        .nextElement();
                if (!phidgets.containsKey(phidgetElement.getSerialNumber())) {

                    RFIDTracking rfi = (RFIDTracking) ct.getTracking("rfid")
                            .clone();
                    rfi.setName("rfid clone " + count++);
                    rfi.detect();
                    rfi.setCode(phidgetElement.getSerialNumber());
                    phidgets.put(phidgetElement.getSerialNumber(), rfi);
                    Thread t = new Thread(rfi);
                    t.start();
              }
          }

问题是当我试图检测连接或脱离系统的新读取器时。我用了这个代码

代码语言:javascript
复制
Manager manager;
      manager = new Manager();
      try {
          manager.addAttachListener(new AttachListener() {
                 public void attached(AttachEvent ae)
                 {
                    try
                    {
                       System.out.println("attached" + ((RFIDPhidget)ae.getSource()).getSerialNumber());
                    }
                    catch (PhidgetException ex) { }
                 }
              });
          manager.open();
      } catch (PhidgetException exception) {
          System.err.println(exception.getErrorNumber()+ exception.getDescription());
      }
      // Allow the Phidgets time to attach
      Thread.sleep(1000);

此代码无法检测到任何读取器附件。我发现经理没有waitForAttachment(时间)。我能知道怎么解决这个问题吗。谢谢你的进阶

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 23:14:04

Phidget,但不是RFIDPhidget。manager类中没有WaitForAttachment,因为它是不必要的。前面的代码工作正常,但是等待时间必须要长一点,程序不会在附加的东西之前终止。

代码语言:javascript
复制
Manager manager;
manager = new Manager();
try {
  manager.addAttachListener(new AttachListener() {
    public void attached(AttachEvent ae)
    {
      try
      {
        System.out.println("attached" + ((Phidget)ae.getSource()).getSerialNumber());
      } catch (PhidgetException ex) { }
    }
  });
  manager.open();
} catch (PhidgetException exception) {
  System.err.println(exception.getErrorNumber()+ exception.getDescription());
}
// Allow the Phidgets time to attach
Thread.sleep(1000);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24053944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档