4.17 - DigitalIO [U12 Datasheet]
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.