19/05/2023: A causa di un errore sono stati cancellati, insieme ad account creati da bot, alcuni account legittimi. Si prega di leggere qui: https://www.gambas-it.org/smf/index.php?topic=9733.0
Public Function ScanSerial() As String[]Dim SPortList As New String[] SPortList.Insert(Dir("/dev", "ttyS*").Sort()) SPortList.Insert(Dir("/dev", "ttyUSB*").Sort()) Return SPortListEnd
SPortList.Insert(Dir("/dev", "ttyACM*").Sort())
' Gambas class filePublic Function ScanSerial() As String[] Dim SPortList As New String[] SPortList.Insert(Dir("/dev", "ttyS*").Sort()) SPortList.Insert(Dir("/dev", "ttyUSB*").Sort()) Return SPortListEndPublic Sub Form_Open() Dim lista As New String[] Dim lunghezza As Integer Dim i As Integer lista = ScanSerial() lunghezza = lista.count - 1 For i = 0 To lunghezza If verifica_seriale(lista[i]) ComboBox1.add(lista[i]) Endif Next ComboBox1.index = 0EndPublic Sub verifica_seriale(lista As String) As Boolean Dim risultato As Boolean Serialport1.PortName = "/dev/" & lista Serialport1.Open risultato = True Serialport1.close() Finally Return risultato Catch risultato = FalseEnd
PUBLIC SUB verifica_seriale(lista AS String) AS Boolean Serialport1.PortName = "/dev/" & lista TRY Serialport1.Open() IF ERROR THEN RETURN Serialport1.Close() RETURN TRUEEND
Ottimo... testata e funzionante... ti trova solo le seriali a cui e' collegato un 'qualcosa'...Solo perche' ci devo mettere anche del mio, , si puo' scrivere anche in questo modo:Codice: [Seleziona]PUBLIC SUB verifica_seriale(lista AS String) AS Boolean Serialport1.PortName = "/dev/" & lista TRY Serialport1.Open() IF ERROR THEN RETURN Serialport1.Close() RETURN TRUEEND
per alcuni dispositivi tipo arduino dovresti mettere ancheCodice: [Seleziona]SPortList.Insert(Dir("/dev", "ttyACM*").Sort())