Differenze tra le versioni di "Accesso alle Porte Seriali"

Da Gambas-it.org - Wikipedia.
Riga 2: Riga 2:
  
  
 +
==Mediante lettura diretta dal corrispondente file-device==
 
Poniamo l'esempio di avere una penna USB per la connessione ad Internet, e che alla sua connessione il sistema operativo abbia generato due relativi file-device: ''/dev/ttyUSB0'' e ''/dev/ttyUSB1''. Andremo a leggere direttamente dal file-device ''/dev/ttyUSB1'', come segue:
 
Poniamo l'esempio di avere una penna USB per la connessione ad Internet, e che alla sua connessione il sistema operativo abbia generato due relativi file-device: ''/dev/ttyUSB0'' e ''/dev/ttyUSB1''. Andremo a leggere direttamente dal file-device ''/dev/ttyUSB1'', come segue:
 
  '''Private''' fl As File
 
  '''Private''' fl As File
Riga 28: Riga 29:
 
       Print s
 
       Print s
 
     Wend
 
     Wend
 +
 +
'''End'''
 +
 +
 +
 +
==Lettura mediante la classe ''SerialPort''==
 +
La lettura deella ''Porta Seriale'' portà avvenire anche mediante l'uso della Classe ''SerialPort'' attivando il componente <FONT color=#B22222>gb.net</font>.
 +
'''Private''' SerialPort1 As SerialPort
 +
 +
 +
'''Public''' Sub Button1_Click()
 +
 +
  SerialPort1 = New SerialPort As "portaseriale"
 +
 +
 +
<FONT color=#006400>' ''Facciamo in modo da poter inserire la password di root''
 +
' ''per impostare il setUID e consentire l'apertura del file protetto:''</font>
 +
    Exec ["gksu", "chmod 4777", "/dev/ttyUSB1"] Wait
 +
 +
    With SerialPort1
 +
      .PortName = "/dev/ttyUSB1"
 +
      .Speed = 19200
 +
      .Parity = 0
 +
      .DataBits = 8
 +
      .StopBits = 1
 +
      .FlowControl = 0
 +
      .Open
 +
    End With
 +
 +
  '''End'''
 +
 +
 +
Public Sub portaseriale_Read()
 +
 +
  Dim s As String
 +
 +
<FONT color=#006400>' ''Legge i dati dalla porta....''</font>
 +
        Read #SerialPort1, s, Lof(SerialPort1)
 +
 +
<FONT color=#006400>' ''...e li mostra in console:''</font>
 +
        Print s
 
   
 
   
 
  '''End'''
 
  '''End'''

Versione delle 16:38, 13 set 2012

Possiamo accedere alle Porte Seriali aprendo e leggendo direttamentre i dati provenienti dai relativi file-device.


Mediante lettura diretta dal corrispondente file-device

Poniamo l'esempio di avere una penna USB per la connessione ad Internet, e che alla sua connessione il sistema operativo abbia generato due relativi file-device: /dev/ttyUSB0 e /dev/ttyUSB1. Andremo a leggere direttamente dal file-device /dev/ttyUSB1, come segue:

Private fl As File


Public Sub Button1_Click()

' Facciamo in modo da poter inserire la password di root
' per impostare il setUID e consentire l'apertura del file protetto:
   Exec ["gksu", "chmod 4777", "/dev/ttyUSB1"] Wait

' Apriamo il file-device aggiungendo la parola chiave "Watch":
   fl = Open "/dev/ttyUSB1" For Read Watch

End


Public Sub File_Read()

 Dim s As String

   While Not Eof(fl)
' Leggiamo i dati provenienti dal file-device...:
     Line Input #fl, s
' ...e li mostriamo in console:
     Print s
   Wend

End


Lettura mediante la classe SerialPort

La lettura deella Porta Seriale portà avvenire anche mediante l'uso della Classe SerialPort attivando il componente gb.net.

Private SerialPort1 As SerialPort


Public Sub Button1_Click()

  SerialPort1 = New SerialPort As "portaseriale"


' Facciamo in modo da poter inserire la password di root
' per impostare il setUID e consentire l'apertura del file protetto:
   Exec ["gksu", "chmod 4777", "/dev/ttyUSB1"] Wait

   With SerialPort1
     .PortName = "/dev/ttyUSB1"
     .Speed = 19200
     .Parity = 0
     .DataBits = 8
     .StopBits = 1
     .FlowControl = 0
     .Open
   End With

 End


Public Sub portaseriale_Read()

 Dim s As String
' Legge i dati dalla porta....
       Read #SerialPort1, s, Lof(SerialPort1)
' ...e li mostra in console:
       Print s

End