beautypg.com

Calibre UK IC Communication Adapter ICA93LV User Manual

Page 18

background image

Revision 1.7

Page 17 of 27

09/12/1999

Setnack 1 for no acknowledge 0 for acknowledge.

Parameters returned

I

2

Cdata, 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.

IMPORTANT: SETNACK MUST = 1 WHEN READING THE LAST AND
THE LAST BUT ONE BYTES IN A SEQUENCE OF BYTES

SETNACK MUST = 0 FOR ALL OTHER READS. IF THIS FORMAT IS
NOT STRICTLY FOLLOWED THEN THE ADAPTER AND BUS WILL
NOT OPERATE CORRECTLY.

WHEN READING ANOTHER I2C DEVICE THE FIRST BYTE READ
USING THE READBYTE FUNCTION IS ALWAYS THE SLAVE
ADDRESS OF THAT DEVICE. THIS MUST BE READ AND
DISCARDED BEFORE THE REAL DATA CAN BE READ. DO NOT
COUNT THIS EXTRA READ WHEN CONSIDERING WHETHER OR
NOT TO ACKNOWLEDGE.

Should a time-out occur then an error code 8005H is returned, otherwise
the data is returned. Readbyte is compatible with both master read and
slave read modes.

sendstop

Function specification

Int sendstop ( )

Parameters returned

ErrCode. If the transfer time out occurs error code 8002H is returned
otherwise the status is returned.

Prerequisites

Adapter must be configured using setup. Should normally only be used
at the end of transmission. Correct acknowledge sequence must have
been applied if the transmission was a read.

Functional description

Instruct the adapter to send a stop code and wait for it to be sent. Should
a time-out occur during the sending of a stop then an error code 8002H
is returned, otherwise the status is returned.

restart

Function specification

Int restart (int slaveaddress, int setnack)

Slaveaddress is the address to be accessed via the I2C, e.g. A1H

Setnack 1 for no acknowledge 0 for acknowledge – see Functional
Description.

Parameters returned

ErrCode. If the transfer time out occurs error code 8003H is returned
otherwise the status is returned.

Prerequisites

Adapter must be configures using setup. A start and slave address must
have previously been sent using sendaddress. Usually a data pointer
would already have been written using writebyte.

Functional description

Sends a start code and the slave address specified and presets the
acknowledge status depending on the value of setnack. 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 8003H is returned,
otherwise the status is returned.