[an error occurred while processing this directive]
|
Вот попытка прочитать из EEPROM последовательно пять байт, начиная с
нулевого адреса. Но читается только первый байт - дальше глухо :-(
rcall i2c_init ;initialize I2C interface
;Select device address and write
ldi i2cadr,m24128+i2cwr ; Set device address and write
rcall i2c_start ; Send start condition and address
;The MSB of address is sent first:
ldi i2cdata,0 ; Write word address
rcall i2c_write ; Execute transfer
;Sent LSB of address:
ldi i2cdata,0 ; Write word address
rcall i2c_write ; Execute transfer
;Select device address and read
ldi i2cadr,m24128+i2crd ; Set device address and read
rcall i2c_rep_start ; Send start condition and addr
clc ; Yes acknowledge
rcall i2c_read ; Execute transfer (read)
ldi XL,0x70
st X,i2cdata
clc ; Yes acknowledge
rcall i2c_read ; Execute transfer (read)
ldi XL,0x71
st X,i2cdata
clc ; Yes acknowledge
rcall i2c_read ; Execute transfer (read)
ldi XL,0x72
st X,i2cdata
clc ; Yes acknowledge
rcall i2c_read ; Execute transfer (read)
ldi XL,0x73
st X,i2cdata
sec ; No acknowledge
rcall i2c_read ; Execute transfer (read)
ldi XL,0x74
st X,i2cdata
rcall i2c_stop ; Send stop condition - releases bus
E-mail: info@telesys.ru