Instruction manual

Table Of Contents
PC215E Page 106
6.6.12 Bi-Directional Data Bus Functions
6.6.12.1 Prepare an 8-bit Bi-Directional Data Bus - DIOsetBiDirectionalBus
Programs Group A of a DIO chip for Mode 2 ‘Strobe bi-directional bus I/O operation’. Group B
(Port B and Port C-lower) are not used in the bi-directional bus, and are programmed by this
function for Mode 0 input or output as specified in the isPBip and isPCLip arguments. They
can be accessed in the normal way using the DIOsetData and DIOgetData functions. Up to
three bi-directional buses are available per board (if PPIs are available). See section 4.2.12 for
more details on the Bi-directional Bus application.
i = DIOsetBiDirectionalBus (h, chip, isPBip, isPCLip, bIn, bOut)
where
h Integer. Board handle as issued by function
registerBoard.
chip Integer. Address offset of the DIO chip. Use
one of the following pre-defined constants:-
PPIX = 0
PPIY = 8
PPIZ = 16
isPBip Integer. Non-zero if Port B is to be set as input,
zero if output.
isPCLip Integer. Non-zero if Port C-lower are to be set
as input, zero if output.
bIn Integer. Handle to a buffer previously allocated
as 2-bytes per item by the allocateBuf function.
This buffer will be used to store incoming digital
input data from the bus.
bOut Integer. Handle to a buffer previously allocated
as 2-bytes per item by the allocateBuf function.
This buffer should contain digital output data to
be send out onto the bus upon request.
Returns Integer:
Positive handle to the bi-directional bus. Use this handle in the call
to DIOfreeBiDirectionalBus when finished, to free the DIO
resources.
or ERRHANDLE
ERRCHAN
ERRBUFFER
Prior Calls registerBoard
See Also enableInterrupts
DIOfreeBiDirectionalBus