Calibre UK PICA93LV Benutzerhandbuch
CALIBRE
Issue 1.3
Page 18
22/07/99
Example Usage:
(see also sample programs)
' This will write a byte of data to a slave previously addressed by sendaddress. */
Sub main
i2cdata$ = &H69
' Data byte which is to be transmitted */
i2cstatus$ = writebyte (i2cdata$)
if (i2cstatus and &H8000) = &H8000 then
print "Data has not been transmitted status is " + HEX$( i2cstatus%)
else
print "Data has been transmitted"
End If
End Sub
4.3.6.
Send an I2C Stop Routine
Function definition:
sendstop%()
Usage:
i2cstatus% = sendstop
Function:
procedure to send a Stop (end of communication signal) down the I2C Bus,
sending a transmission or reception with a slave which was address
previously by sendaddress.
sending a transmission or reception with a slave which was address
previously by sendaddress.
Parameters are:
None.
Value Returned:
i2cstatus%.
The value returned depends on whether the bus became free.
If the bus became free then the status (&H81) is returned.
If the bus does not became free then the last status read IORed with &H8000
will be returned.
will be returned.
The function will read the status a number of times, waiting for the bus to
become free, before returning an none free status - this number is defined by
the MAXNUMBEROFGOES constant defined in I2CINC.BAS, this value may
be altered to suit your system.
become free, before returning an none free status - this number is defined by
the MAXNUMBEROFGOES constant defined in I2CINC.BAS, this value may
be altered to suit your system.
I2C status on exit:
The status of the Parallel I2C Communications Adapter will be &H81 - bus
idle and no unread / untransmitted data in data register.
idle and no unread / untransmitted data in data register.
Note - this may not be the case in a system where there is another master as
well as the Parallel I2C Communications Adapter, since this other master
may well have taken control of the bus by the time a program next uses
getstatus to read the status register.
well as the Parallel I2C Communications Adapter, since this other master
may well have taken control of the bus by the time a program next uses
getstatus to read the status register.
(See Appendix A for details of status codes).
Example Usage:
(see also sample programs)
' This will write a Stop to the I2C Bus
sub main
i2cstatus = sendstop
print "Stop has been transmitted status is " + HEX$( i2cstatus%)
end sub