beautypg.com

4 i2c example: slave mode, transmit, 11 .5 .4 i, C example: slave mode, transmit -15 – Maxim Integrated MAXQ622 User Manual

Page 170: C example: slave mode, transmit

background image

MAXQ612/MAXQ622 User’s Guide

Maxim Integrated

11-15

11.5.4 I

2

C Example: Slave Mode, Transmit

I

2

C configured as slave with address 1Ah:

; Setup for Slave Mode Receive
move I2CSLA, #01ah

; I2C Slave Address = 01ah

move I2CCN, #0001h

; I2CEN = 1, I2CMST = 0, I2CMODE = 0, I2CSTART = 0

call wait_start

; Polling routine to wait for I2CSTART to be set, indicating

;

a

received

START

;; Check for address match
move ACC, I2CST
and #0020h

; Check for Address Match flag set

cmp #0020h
jump ne, no_match

; Not an address match

move ACC, I2CCN

; Check transfer mode is set

and #004h
cmp #004h
jump ne, not_sl_xmit

; If transfer mode is low, not a slave transmit, else:

move I2CBUF, #0aah

; Data byte to be transmitted

call wait_xmit

; Poll for transmit done

;; Verify ACK received from master
move ACC, I2CST
and #080h
cmp #000h
jump ne, FAIL

; If NACK bit set, handle retransmission, else continue

This manual is related to the following products: