ISA 8255 CARD DRIVER FOR LINUX
Here is the linux
driver of Decision ISA 8255 card. And this driver is tested well on the
kernel with version 2.2.14.
To decompress the
file: tar -xvzf
isa8255dist.tgz
After you
decompress the isa8255dist.tgz file, do the following steps:
1.Login as root.
2.[vi/joe] install
Here you need to modify one line in the file "install",because we
should tell driver what the IO address that card uses.The line
that you need to modify is "ioaddr=0x300".It means that the card
use 0x300 as its IO address.
Ex: If the card use
0x360 address , you just modify the line
"ioaddr=0x300" into "ioaddr=0x360" , then save the file.
3.chmod +x install
4.chmod +x uninstall
5.install After you run 5th step , you will see "Register Successful",
then it will build a device node in "/dev" named "/dev/disa8255".
.
6.If you want to remove the driver , please run the 6th step.
uninstall
Note: You can compile "test.c". It is
the basic I/O program for 8255. Another "test1.c" is used for test the
8253 timer.
There are 6
function on this driver:
There are 6
function on this driver:
1.int
SetControlWord(int file_desc,int port,char value);
- Set the 8255 Control Register value.
Where:
file_desc - is the file handle
port - the control register port
value - the value to send to the control register
2.char
GetControlWord(int file_desc,int port);
- Get the 8255 Control Register value.
Where:
file_desc - is the file handle
port - the control register port
3.int WritePort(int
file_desc,int port,char value);
- Use to send data.
Where:
file_desc
port - the port to send data
value - the value to send
4.char ReadPort(int
file_desc,int port);
- Use to get data.
Where:
file_desc - is the file handle
port - the port to get data
5.int
WriteCounter(int file_desc,int number,int value);
- Use to send data to counter.
Where:
file_desc - is the file handle
number - the counter to send data
value - the data to send
6.int
ReadCounter(int file_desc,int number);
- Use to get the value of the data on counter.
Where:
file_desc - is the file handle
number - the counter to get data
For more
information please see the disa8255.h
|