[Gambas-user] Parallel Port

Benoît Minisini gambas at ...1...
Thu Apr 8 18:42:39 CEST 2010


> Hi there, I don't have a program to offer you. All my old code is in
> other languages.
> I did however write a little working example for you.
> You will need to use port, not parport0.
> For some reason that is unknown to me, I too, am unable to get parport
> to work correctly from gambas.
> 
> I tested the code below, and it does work. I ran it a few times on a
> system with Ubuntu 9.04, gambas 2.20, and a little parallel port tester
> I made 20 years ago.
> 
> Unless you have already sorted out permission to access 'port', you will
> need to be root to run it, either start gambas as root, or compile it
> and then run the executable as root.
> 
> PUBLIC SUB Main()
> ' Gambas module file
> DIM pport AS File
> DIM bi, bo AS Byte
> 
> pport = OPEN "/dev/port" FOR READ WRITE
> 
> FOR bo = 32 TO 122
>   SEEK #pport, 888
>   WRITE #pport, bo
>   SEEK #pport, 888
>   READ #pport, bi
>   PRINT Chr(bi) & " "
>   WAIT 0.05
> NEXT
>  CLOSE #pport
> 
> END
> 
> Just a quick mention about seek on ports.
> Seek simply takes you to the port address. Notice I used a seek before
> each read or write.
> 
> 888  (0x378): Data
> 889  (0x379): Status
> 890  0x37A) : Control
> 
> 
> 
> Hope this helps
> Regards
> Les Hardy
> 

And you can even look in the Linux kernel source code to see how /dev/port is 
implemented: a few lines of code in '/usr/src/linux/drivers/char/mem.c'.

Regards,

-- 
Benoît Minisini




More information about the User mailing list