/// <summary> /// 连续读取模式: 每当读取到标签将触发事件处理方法 /// </summary> /// <param name="aReadInterval">连续读取 所持续时间[注意:如果持续时长参数为0或者小于0的数值,则表示不通过定时器关闭,而由使用者手动调用关闭方法]</param> private void EventRead(int aReadInterval) { //***** //* 设置标签读到后触发的事件处理 //***** if (null == m_TagEventHandler) { m_TagEventHandler = new Tag_EventHandlerAdv(BRIReaderEventHandler_Tag); m_RFIDReader.EventHandlerTag += m_TagEventHandler; } //***** //* 初始化连续读取持续时间Timer //***** if (null == m_StopReadTimer) { m_StopReadTimer = new Timer(); m_StopReadTimer.Tick += new EventHandler(TimerTick_StopRead); } m_StopReadTimer.Enabled = false; m_StopReadTimer.Interval = aReadInterval; try { //该模式下读取到的标签不会去重 if (m_RFIDReader.StartReadingTags(null, "RSSI ANT", BRIReader.TagReportOptions.EVENTALL)) //if (m_RFIDReader.StartReadingTags(BRIReader.TagReportOptions.EVENT))//该模式下将不会重复提交已经提交过的标签(去重效果) { //[TODO] 记录日志 //DisplayMessage("Continuous read with event reporting is started."); m_IsContinuousReadStarted = true; if (aReadInterval > 0) { //开启连续读取时长 Timer m_StopReadTimer.Enabled = true; } else { //如果持续时长参数为0或者小于0的数值 则表示不通过定时器关闭 而由使用者手动调用关闭方法 m_StopReadTimer.Enabled = false; } } else { //[TODO] 记录日志 //DisplayMessage("Error: Failed to start continuous read with event reporting."); } } catch (Exception ex) { //[TODO] 记录日志 //DisplayMessage("Error: Failed to start continuous read with event reporting, exception="+ ex.Message); } }
public void EventRead() { //***** //* Sets up an event handler to handle the tag events. This event //* handler only needs to be registered once. //***** if (null == m_TagEventHandler) { m_TagEventHandler = new Tag_EventHandlerAdv(BRIReaderEventHandler_Tag); reader.EventHandlerTag += m_TagEventHandler; } //***** //* Sets up a timer to stop the continuous read. //***** /* if (null == m_StopReadTimer) * { * m_StopReadTimer = new Timer(); * m_StopReadTimer.Tick += new EventHandler(TimerTick_StopRead); * } * m_StopReadTimer.Enabled = false; * m_StopReadTimer.Interval = aReadInterval; */ try { if (reader.StartReadingTags(BRIReader.TagReportOptions.EVENT)) { m_IsContinuousReadStarted = true; //m_StopReadTimer.Enabled = true; // Start the timer to stop continuous read. } else { MessageBox.Show("Falha ao iniciar leitura contínua!"); } } catch (Exception ex) { MessageBox.Show("Falha ao iniciar leitura contínua, erro: " + ex.Message); } }