Issue 1.4
18/06/98
Page 5
The acknowledge is set ready for the data transfer after the address and
hence in read mode (odd address being sent) if only one byte is to be read
the setnack parameter must equal 1. If more than one byte is to be read or if
in write mode (even address being sent) then setnack must equal 0.
The function waits for the address to be sent. Should a time-out occur during
the sending of an address then an error code 8001H is returned, otherwise
the status is returned.
2.7.3.
writebyte
Function specification
Int writebyte(int wrData)
Parameters are:
int wrData
This is the byte of data to be written.
Parameters returned
int ErrCode
.
If the software fails to open a handle to the driver 0x9000 is returned.
If the transfer time out occurs error code 8004H is returned otherwise the
status is returned.
Prerequisites
Adapter must be configured using
setup
, start and write address sent by
sendaddress
.
Functional description The function writes the data to the adapter and then waits for it to be sent.
Should a time-out occur during the sending of the data then error code 8004H
is returned, otherwise the status is returned.
Writebyte is compatible with both master write and slave write modes.
2.7.4.
readbyte
Function specification
Int readbyte(int setnack)
Parameters are:
int setnack
This controls whether the adapter transmits an acknowledge down the I2C
bus on reception of a byte. The last byte received during a transfer must not
be acknowledged, in all other cases acknowledge must be enabled. If
setnack = 0 then acknowledge is enabled, if setnack = 1 then acknowledge is
disabled. Therefore, if the LAST BUT ONE byte is to be read, setnack should
be set to =1; in all other cases it is to be set = 0 (in the case of reading 1 byte
only, the acknowledge will have been disabled by sendaddress and so should
now be enabled again after reading the data, hence setnack = 0 for reading a
single byte of data).
The first read from the adapter following a write to it will result in the data that
was written being returned. This data MUST be read and discarded before
real data can be read, DO NOT count this extra read when considering
whether or not to acknowledge.
Parameters returned
int I2CData
If the software fails to open a handle to the driver 0x9000 is returned.
The data read, if a time-out occurs the ErrCode 8005H is returned.
Prerequisites
Adapter must be configured using
setup
, start and read address sent by
sendaddress
.
Functional description If setnack is 1 the function writes 40H to the control register to establish the
correct acknowledge procedure.
The data is read from the adapter.
Readbyte is compatible with both master read and slave read modes.