Ciao
ho il seguente codice in VBnet 2019 che funziona perfettamente su una COM su porta USB di una periferica hardware che ha sia COM su USB che COM RS232 DB9:
Private Sub SerialPort1_DataReceived(sender As Object, e As IO.Ports.SerialDataReceivedEventArgs) Handles
SerialPort1.DataReceived
On Error Resume Next
inputData = SerialPort1.ReadExisting ' Readchar 'ReadExisting 'SerialPort1.ReadExisting 'or SerialPort1.ReadLine
Me.Invoke(New EventHandler(AddressOf rxCOMdati))
End Sub
e a seguire
Public Sub RxCOMdati() ' scrive la ricezione della COM
On Error Resume Next
Dim NrComandi
Dim Xcat As Integer ' numero per il monitor del 30 finestre
's = Trim(sExtra) & Trim(inputData)
s = inputData
inputData = ""
' ...
' e da qui lavoro con "s"
' ...
' quindi
s = ""
End Sub
Se sulla COM sulla porta USB funziona perfettamente, se uso la RS232 della periferica (che dovrebbe essere uguale) non funziona nulla, non vedo non comando ecc... funzionano solo i comandi inviati alla periferica ma non ricevo nulla.
Premetto che la RS232 funziona perfettamente dato che altri programmi terminali vedo quel che passa ma col mio niente... solo con la USB va benissimo, probabilmente il formato della RS232 è leggermente diverso per le linee di "cattura" descritte sopra... ma non saprei come/cosa modificare
Qualche consiglio?
o un semplice terminale da poi modificare come ho fatto con questo, coi miei limiti, ma che vada sui due sistemi COM/USB e COM/RS232?
GRAZIE!