PDA

Click to See Complete Forum and Search --> : vb 2005 error The semaphore timeout period has expired.


paxa
Mar 23rd, 2009, 07:56 AM
hi.

i'm currently developing an application, that uses a usb bluetooth adapter to connect to three codebar readers, so far so good, they are connected, and should be working properly.

but after one hour, one hour and half, sometimes even less, they no longer can't work with the application, i can't get them to read anything.


and sometimes, as the application is starting up i get the following error:



Timestamp: 19-03-2009 21:02:34
Message: There is no explicit mapping for the categories 'Geral'. The log entry was:
Timestamp: 19-03-2009 21:02:34
Message: ERRO EVENTO LOAD FRMMAIN: The semaphore time-out period has expired.
# at System.IO.Ports.InternalResources.WinIOError(Int32 errorCode, String str)
at System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace)
at System.IO.Ports.SerialPort.Open()
at Supervisor.FrmMain.FrmMain_Load(Object sender, EventArgs e)

Category: Geral
Priority: 3
EventId: 0
Severity: Error
Title:
Machine: PCEV1198
App Domain: Supervisor.exe
ProcessId: 1864
Process Name: C:\Program Files\KEMET\SupervisorGlobal\Supervisor.exe
Thread Name:
Win32 ThreadId:1756
Extended Properties:
Category:
Priority: -1
EventId: 6352
Severity: Error
Title:
Machine: PCEV1198
Application Domain: Supervisor.exe
Process Id: 1864
Process Name: C:\Program Files\KEMET\SupervisorGlobal\Supervisor.exe
Win32 Thread Id: 1756
Thread Name:
Extended Properties:
could they be related, both of the situations?
i've been searching for a solution for this situation an came up with nothing specific.


i'm using 3 serial port objects to connect to the codebar readers.
and using the following code to connect to the codebar readers.





SerialPort1.PortName = "COM3"



SerialPort1.BaudRate = 9600

SerialPort1.DataBits = 8

SerialPort1.StopBits = Ports.StopBits.One

SerialPort1.Parity = Ports.Parity.None

SerialPort1.Open()

System.Threading.Thread.Sleep(2000)

'#Dim Porta2 As String = DevolvePOrtaComumicacoes(2, Area.IDArea)



SerialPort2.PortName = "COM5"



SerialPort2.BaudRate = 9600

SerialPort2.DataBits = 8

SerialPort2.Parity = Ports.Parity.None

SerialPort2.StopBits = Ports.StopBits.One

SerialPort2.Open()

System.Threading.Thread.Sleep(2000)





'#Dim Porta3 As String = DevolvePOrtaComumicacoes(3, Area.IDArea)



SerialPort3.PortName = "COM7"



SerialPort3.BaudRate = 9600

SerialPort3.Parity = Ports.Parity.None

SerialPort3.DataBits = 8

SerialPort3.StopBits = Ports.StopBits.One

SerialPort3.Open()

System.Threading.Thread.Sleep(2000)






and the datarecieved event to handle the data recieved from the bar code readers

like the example bellow:





Private Sub SerialPort1_DataRecieved(ByVal sender As System.Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived

Try
Dim leitor As Integer = 1

Leitura.Leitura = SerialPort1.ReadExisting
InterpretaComando(Me, leitor, Leitura, Generica.Colaborador)
Leitura.Leitura = ""

Catch ex As Exception
Log("SerialPort1 error: " + ex.Message + " # " + ex.StackTrace)
Finally
SerialPort1.DiscardInBuffer()
SerialPort1.DiscardOutBuffer()
End Try
End Sub



i've searching and could not find any answer for this issue.
any ideas?


help would be appreciated.

thanks in advance