General Purposed IO
1. General Purposed IO – GPIO/DIO
The GPIO port configuration addresses are listed in the following table:
Name
IO Port
N_GPI0
0xA02
N_GPI1
0xA02
N_GPI2
0xA02
N_GPI3
0xA02
1.1
Set output value of GPO
1. Read the value from GPO port.
2. Set the value of GPO address.
3. Write the value back to GPO port.
Example: Set N_GPO0 output "high"
val = Inportb (0xA02);
val = val | (1<<3);
Outportb (0xA02, val);
Example: Set N_GPO1 output "low"
val = Inportb (0xA02);
val = val & (~(1<<2));
Outportb (0xA02, val);
1.2
Read input value from GPI
1.
Read the value from GPI port.
2.
Get the value of GPI address.
Example: Get N_GPI2 input value.
val = Inportb (0xA02);
val = val & (1<<5);
printf ("Input of N_GPI2 is High");
if (val)
else
printf ("Input of N_GPI2 is Low");
IO address
Name
Bit 7
N_GPO0
Bit 6
N_GPO1
Bit 5
N_GPO2
Bit 4
N_GPO3
// Read value from N_GPO0 port.
// Set N_GPO0 address (bit 3) to 1 (output "high").
// Write back to N_GPO0 port.
// Read value from N_GPO1 port.
// Set N_GPO1 address (bit 2) to 0 (output "low").
// Write back to N_GPO1 port.
// Read value from N_GPI2 port.
// Read N_GPI2 address (bit 5).
IO Port
IO address
0xA02
Bit 3
0xA02
Bit 2
0xA02
Bit 1
0xA02
Bit 0
MS-98L9
A-3