domingo, 13 de abril de 2008

Controlando el puerto paralelo en linux III

En las entradas anteriores hemos visto 4 ejemplos de como controlar el puerto paralelo, esos ejemplos estan escritos en C, a continuacion pongo un ejemplo de como controlar el puerto con Gambas:

' Gambas module file
puerto AS File
dato AS Byte
CONST pin12 AS Byte = 32
CONST pin10 AS Byte = 64
x AS Byte

PUBLIC SUB Main()
DIM i AS Integer

WHILE (pin10 AND dato) <> pin10
puerto = OPEN "/dev/port" FOR READ WRITE
SEEK #puerto, 888
x = 0
WRITE #puerto, x
CLOSE puerto

puerto = OPEN "/dev/port" FOR READ WRITE
SEEK #puerto, 889
READ #puerto, dato
CLOSE puerto

IF (pin12 AND dato) = pin12
x = 1

FOR i = 1 TO 8 STEP 1
puerto = OPEN "/dev/port" FOR READ WRITE
SEEK #puerto, 888
WRITE #puerto, x
CLOSE puerto
SLEEP 1
x = x * 2 + 1
NEXT

ENDIF

WEND

END


El ejemplo anterior solo funciona si el ejecutable lo ejecutamos como root, en este ejemplo accedemos al puerto por medio de /dev/port casi de la misma forma que lo haciamos en C. Por medio de /dev/port podemos controlar el puerto desde casi cualquier lenguaje de programacion, solo lo abrimos como un archivo y leemos y ecribimos en el.

2 comentarios:

Anónimo dijo...

Pregunta:
¿Como se identifican los puertos?

Anónimo dijo...

buenos su espacio online es muy bueno,esto es la tercera vez que vi tu blog, bon trabajo!
hasta