Ejemplo n.º 1
0
 public void AddReq(BasicRequire req, ReqType type)
 {
     _reqListArr[(int)type].Add(req);
     try
     {
         _workSem.Release();
     }catch (Exception e)
     {
     }
 }
Ejemplo n.º 2
0
        private void work()
        {
            BasicRequire currReq = null;

            while (true)
            {
                _workSem.WaitOne();
                currReq = null;

                if (_workFinish == true)
                {
                    break;
                }

                while (true)
                {
                    foreach (List <BasicRequire> reqList in _reqListArr)
                    {
                        foreach (BasicRequire req in reqList)
                        {
                            currReq = req;
                            reqList.Remove(req);
                            break;
                        }
                        if (currReq != null)
                        {
                            break;
                        }
                    }

                    if (currReq == null)
                    {
                        break;
                    }

                    // Send Req
                    DataFrame sendFrame = new DataFrame();
                    sendFrame.Data         = currReq.GetData();
                    sendFrame.Length       = (byte)sendFrame.Data.Length;
                    sendFrame.SalveAddress = _deviceAddress;

                    DataFrame rcvFrame = _rs485Master.Send(sendFrame);
                    currReq.SetResult(rcvFrame.Data);

                    currReq = null;
                }
            }
        }
Ejemplo n.º 3
0
 public void AddReq(BasicRequire req, ReqType type)
 {
     _reqListArr[(int)type].Add(req);
     _workSem.Release();
 }