Reads and writes to all 20 digital I/O. The order of execution within the U12 is:
-
Set D states
-
Set D directions
-
Set IO states
-
Set IO directions
-
Read D states
-
Read IO states
Even more detail of the execution order with the approximate time between each step:
-
Set D7-D0 states
-
1 µs
-
Set D12-D8 states
-
2 µs
-
Set D15-D13 states
-
0.5 µs
-
Set D7-D0 directions
-
1 µs
-
Set D12-D8 directions
-
1 µs
-
Set D15-D13 directions
-
16 µs
-
Set IO states
-
16 µs
-
Set IO directions
-
2 µs
-
Read D7-D0 states
-
0.3 µs
-
Read D12-D8 states
-
0.7 µs
-
Read D15-D13 states
-
10 µs
-
Read IO states
Execution time for this function is 20 milliseconds or less (typically 16 milliseconds in Windows).
Declaration:
long DigitalIO ( long *idnum,
long demo,
long *trisD,
long trisIO,
long *stateD,
long *stateIO,
long updateDigital,
long *outputD )
Parameter Description:
Returns: LabJack errorcodes or 0 for no error.
Inputs:
-
*idnum – Local ID, serial number, or -1 for first found.
-
demo – Send 0 for normal operation, >0 for demo mode. Demo mode allows this function to be called without a LabJack.
-
*trisD – Directions for D0-D15. 0=Input, 1=Output.
-
trisIO – Directions for IO0-IO3. 0=Input, 1=Output.
-
*stateD – Output states for D0-D15.
-
*stateIO – Output states for IO0-IO3.
-
updateDigital – If >0, tris and state values will be written. Otherwise, just a read is performed.
Outputs:
-
*idnum – Returns the local ID or –1 if no LabJack is found.
-
*trisD – Returns a read of the direction registers for D0-D15.
-
*stateD – States of D0-D15.
-
*stateIO – States of IO0-IO3.
-
*outputD – Returns a read of the output registers for D0-D15.