sto scrivendo un piccolo programma che dovrebbe inviare comandi ad un modem, leggendo poi le risposte dalla porta seriale.
Il codice che fa questo è il seguente:
- Codice: Seleziona tutto
Using com1 As IO.Ports.SerialPort = My.Computer.Ports.OpenSerialPort("COM3", 115200, IO.Ports.Parity.None, 8, 1)
com1.Write(COMANDO & vbCrLf)
ESITO = ""
N = 0
TEMPO = TIMEOUT
While N = 0 And TEMPO > 0
WAIT(1)
N = com1.BytesToRead
TEMPO = TEMPO - 1
End While
For X = 1 To N
ESITO = ESITO & Chr(com1.ReadByte)
Next
com1.Dispose
End Using
Se uso questo programma con un modem che ho in ufficio (Siemens MC35) funziona alla grande: ESITO contiene l'eco del comando, i due caratteri di ritorno a capo (0D/0A) e la stringa con la risposta del modem.
Se provo ad usarlo per comandare il modem di casa (USR Sportster 56K)... ESITO contiene solo l'eco del comando ed i caratteri 0D/0A... e nulla più.
Naturalmente, se provo ad utilizzare HyperTerminal, tutto funziona regolarmente su entrambi i modem.
Secondo voi cosa ho dimenticato?
Grazie in anticipo,
MAx