SX Microcontroller Input / Ouput Methods for I2C

NEW! RS-232 / I²C-Adapter & Parallel I/O Module

Virtual Peripherals

 

Integrations:

Also:

William Says:

I was debugging my project that uses an I2C EEprom and found a small bug in the example VP code. At the end of the I2CRead subroutine, after sending a Stop, the example code sends an ACK. This appears to cause the Start sent with the next command to fail, not a big deal since the Start is repeated again. The documentaton for the I2C EEproms, under READ OPERATIONS, states:

"... The 24xx00 will then issue an acknowledge and transmits the eight bit data word. The master will not acknowledge the transfer but does generate a stop condition and the device discontinues transmission (Figure 8-2). After this command, ..."

Comment out the 2 lines that send the ACK and it works fine:


:non_seq        JMP     Send_stop               ; no, signal stop & exit
; doc says "The Master will not acknowledge the transfer but does
generate a stop ..."
;		CLRB    out_bit                 ; yes, setup acknowledge bit
;		CALL    Write_bit               ;   and send it
		RETP                            ;leave and fix page bits


Comments: