Calibre UK IC Communication Adapter ICA93LV User Manual
Page 12

Revision 1.7
Page 11 of 27
09/12/1999
Name:
setup (baseaddr%, own%, sclk%)
Usage:
call setup(baseaddr%, own%, sclk%)
Function:
procedure to set up I
2
C Communications Adapter.
Parameters are:
baseaddr%
base address of adapter set by links on circuit board.
own%
I
2
C address to which the adapter is to respond in slave mode. This forms the
upper 7 bits of the 8 bit address, the lowest bit being the Read(1) or Write (0) bit.
This means that if own% = &h57, the card will respond to a Write to address
&hAF. Be sure not to select an address that is already in use by any other device
in your I
2
C system. If own% &h00 the adapter will monitor all I
2
C bus information
but will not affect any data transfers, thus acting as a bus monitor
sclk%
the SCL clock rate (bit rate for I
2
C serial bus).
Value of sclk%
Approximate SCL (kHz)
0
90
1
45
2
11
3
1.5
Value Returned:none.
I
2
C status on exit from routine:
The I
2
C Communications Adapter will have the serial interface enabled, also data
reception acknowledge will be enabled. The status register will contain &h81
(assuming that no other masters exist on the I
2
C system, if this is not the case
then the contents of the status register will also depend on externally generated
bus activity).
Example Usage:
(see also sample programs)
$include “i2c.inc”
‘* This contains the I
2
C routines*
baseaddr% = &h310
‘* Adapter’s base address = &h310 (hex) *
own% = &h57
‘* Own slave address set to &h57 (hex) *
sclk% = 1
‘* Serial clock rate set to 45KHz *
call setup(baseaddr%, own%, sclk%)
print”I
2
C Communications Adapter initialised”
‘* This will set up the I
2
C Communications Adapter with a base address *
‘* of &h310, an I
2
C slave address of &hAE and a SCL clock rate of *
‘* approximately 45KHz *
5.2.2.
I
2
C Status Checking Routine
Name:
FNgetstatus%(Controladdress%)
Usage:
status% = FNgetstatus%(controladdress%)
Function:
function to read status register of I
2
C Communications Adapter.
Parameters are:
controladdress%
address of I
2
C control register. This is equal to 1+(base address of adapter set
by links on circuit board).
Value Returned:
where status is an integer from &h00 to &hFF which indicates the current status
of the I
2
C communications Adapter. Appendix A for details of the status values
returned.
I
2
C status on exit from routine:
The status of the I
2
C Communications Adapter will not be affected by using the
FNgetstatus% function.
Example Usage:
(see also sample programs)
$include “i2c.inc”
‘* This contains the I
2
C routines *