
MAXQ Family User’s Guide:
MAXQ8913 Supplement
22-8
22.2.2 I
2
C Example 2: Master Mode Receive
; I2C configured as master, receive from slave address 08h:
; Setup for Master Mode Receive
move I2CCN, #047h ; I2CEN = 1, I2CMST = 1, I2CMODE = 1, I2CSTART = 1
call wait_start ; Polling routine to wait for I2CSTART to clear
call wait_busy ; Polling routine to wait for I2CBUSY to clear
move I2CIE.2, #01h ; Enable Receive Ready Interrupt
move I2CBUF, #008h ; Slave address set to 08h
call wait_tx_complete ; Wait for transmit interrupt
call wait_rxbuf ; Wait for receive interrupt
;; Byte received in I2CBUF, clear I2C interrupt flag and wait for next interrupt
22.2.3 I
2
C Example 3: Slave Mode Receive
; I2C 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 ; If address match bit not set, not for us, else:
move I2CIE.2, #01h ; Enable Receive Ready Interrupt
call wait_rxbuf ; Wait for a receive interrupt
;; Byte received in I2CBUF, clear I2C interrupt flag and wait for next interrupt
Maxim Integrated
Comentarios a estos manuales