ENDAT-D2512 USERS MANUAL
UNICORN COMPUTER CORP.
19
2-5. Digital I/O
Pin define:
J3: Digital I/O Header (2x7 with 2.0mm)
Pin No.
Function
Pin No.
Function
1
+5V
2
+5V
3
DIO-OUT0
4
DIO-IN0
5
DIO-OUT1
6
DIO-IN1
7
DIO GND
8
DIO GND
9
DIO-OUT2
10
DIO-IN2
11
DIO-OUT3
12
DIO-IN3
13
+3.3V
14
+3.3V
Digital I/O port address:
This function is support by onboard super I/O chip; it can be control easily by
change the register of super I/O chip via I/O port “2Eh” and “2Fh”. Please see
the sample code of below for implement. Voltage tolerance: +/- 5% with 0V to
+5V.
Sample code for input (using Turbo C/C++ 3.0):
bit
No
7 6 5 4 3 2 1 0
Map
DIO-I3 DIO-I2
DIO-I1
DIO-I0
NA NA NA NA
Sample code for input (using Turbo C/C++ 3.0)
#define input_port 0x2f // Digital input data port
Unsigned char read_data;
outportb(0x2e,0x87); //Unlock
register
outportb(0x2e,0x87); //Unlock
register
outportb(0x2e,0x07);
//set Logic Device number pointer
outportb(0x2f,0x08);
//set Logic Device number
outportb(0x2e,0x30);
//set Device Active
outportb(0x2f,0x02);
// set Bit 1 =GPIO5 ; 0=Inactive / 1= Active Default: 03h
outportb(0x2e,0xE0);
// set GPIO Output / Input Port
outportb(0x2f,0xF0);
// 0=Output/ 1=Input ; Default: F0h
// Bit 0~3 DIO-O0~ DIO3 / Bit4~7 DIO-I0~DIO-I3.
outportb(0x2e,0xF1);
//Read DIO-Input register.
//Bit4~Bit7
=
DIO-I0~DIO-I3.(Read
Only)
read_data=inportb(input_port); // Read digital input data
printf("DIO-Input=%02X\n",read_data); //Show digital input data on screen