Differenze tra le versioni di "Uso delle Porte Parallele"

Da Gambas-it.org - Wikipedia.
(Uso del file device: /dev/port)
 
(3 versioni intermedie di uno stesso utente non sono mostrate)
Riga 1: Riga 1:
È possibile accedere a porta parallela utilizzando i file device come ''/dev/lp0.../dev/lpN''. Se, però, si ha bisogno di più controlli, ad esempio, e se si vuole essere in grado di scrivere porte input/output x86, si utilizza il file device: ''/dev/port''.
+
==Uso del file-device "/dev/lpN"==
 +
È possibile accedere a porta parallela utilizzando i file-device "''/dev/lpN'' " (laddove "N" sta per un numero progressivo a cominciare da 0).
  
  
==Uso del file device: ''/dev/port''==
+
==Uso del file-device "/dev/port""==
Un altro modo per accedere alle porte di I/O è quello di aprire con ''Open'' il file device ''/dev/port'' (un dispositivo a caratteri, il numero primario 1, secondario 4) in lettura e/o scrittura. Poi l'uso di ''Seek'' sul byte appropriato nel file (posizione file 0 = porta 0x00, posizione file 1 = porta 0x01 e così via), e quindi ''Read'' o ''Write'' per scrivere un byte o una parola da o verso quel file device. Naturalmente, per far funzionare il programma si ha bisogno di poter accedere in ''lettura'' ed in ''scrittura'' al file device ''/dev/port''.
+
Se si ha bisogno di più controlli, ad esempio, se si vuole essere in grado di scrivere su porte input/output x86, si utilizza il file-device: "/dev/port".
<BR>Quindi, come root, si può fare ciò che è spiegato sopra: apertura del file device ''/dev/port'' con ''Open'' in lettura/scrittura in una posizione specifica:
+
 
 +
Il modo per accedere alle porte di I/O è quello di aprire con "Open" il file-device "''/dev/port'' " (un dispositivo a caratteri, il numero primario 1, secondario 4) in lettura e/o scrittura. Poi usare "Seek" sul byte appropriato nel file (posizione file 0 = porta 0x00, posizione file 1 = porta 0x01 e così via), e quindi "Read" o "Write" per leggere da o scrivere verso quel file-device. Naturalmente, per far funzionare il programma si ha bisogno di poter accedere in ''lettura'' ed in ''scrittura'' al file device ''/dev/port''.
 +
<BR>Quindi, come root, si può fare ciò che è spiegato sopra: apertura del file-device "''/dev/port'' " con "Open" in lettura/scrittura in una posizione specifica:
 
  '''Public''' Sub Button1_Click()
 
  '''Public''' Sub Button1_Click()
 
   
 
   
Riga 11: Riga 14:
 
   Dim iValore As Byte
 
   Dim iValore As Byte
 
   
 
   
  <FONT color=#006400>' ''Invia il valore 42 alla porta 1:''</font>
+
  <FONT color=gray>' ''Invia il valore 42 alla porta 1:''</font>
  iNumeroPorta = 1
+
  iNumeroPorta = 1
  iValore = 42
+
  iValore = 42
 
  hPorta = Open "/dev/port" For Read Write
 
  Seek #hPorta, iNumeroPorta
 
  Write #hPorta, iValore
 
 
   
 
   
 +
  hPorta = Open "/dev/port" For Read Write
 +
 
 +
  Seek #hPorta, iNumeroPorta
 +
  Write #hPorta, iValore
 +
 
 +
  hPorta.Close
 +
 
 
  '''End'''
 
  '''End'''
 +
 +
 +
 +
==Approfondimenti==
 +
[1] http://www.linux.it/~rubini/docs/parallela/parallela.html

Versione attuale delle 18:29, 30 ott 2021

Uso del file-device "/dev/lpN"

È possibile accedere a porta parallela utilizzando i file-device "/dev/lpN " (laddove "N" sta per un numero progressivo a cominciare da 0).


Uso del file-device "/dev/port""

Se si ha bisogno di più controlli, ad esempio, se si vuole essere in grado di scrivere su porte input/output x86, si utilizza il file-device: "/dev/port".

Il modo per accedere alle porte di I/O è quello di aprire con "Open" il file-device "/dev/port " (un dispositivo a caratteri, il numero primario 1, secondario 4) in lettura e/o scrittura. Poi usare "Seek" sul byte appropriato nel file (posizione file 0 = porta 0x00, posizione file 1 = porta 0x01 e così via), e quindi "Read" o "Write" per leggere da o scrivere verso quel file-device. Naturalmente, per far funzionare il programma si ha bisogno di poter accedere in lettura ed in scrittura al file device /dev/port.
Quindi, come root, si può fare ciò che è spiegato sopra: apertura del file-device "/dev/port " con "Open" in lettura/scrittura in una posizione specifica:

Public Sub Button1_Click()

 Dim hPorta As File
 Dim iNUmeroPorta As Integer
 Dim iValore As Byte

' Invia il valore 42 alla porta 1:
 iNumeroPorta = 1
 iValore = 42

 hPorta = Open "/dev/port" For Read Write
 
 Seek #hPorta, iNumeroPorta
 Write #hPorta, iValore
 
 hPorta.Close
 
End


Approfondimenti

[1] http://www.linux.it/~rubini/docs/parallela/parallela.html