I have a 20X2 configured as an I2C slave, writing a value to the scratchpad, which I want to retrieve later using python code on the raspberrypi.
There are 2 devices on the bus - the 20X2 and an ADC. Both are powered by 5V but are connected to the RPi I2C through a level converter to match the RPi 3.3V bus.
Both devices are visible to the RPi when I run i2cdetect. I can communicate fine with the ADC. However, as soon as I try to communicate with the 20X2, the I2C bus seems to crash. I am using smbus on the RPi.
When I run i2cdetect on the RPi, it runs very slowly and no devices are detected. The RPi has to be powered down and restarted to recover. I am running the 20X2 at 16MHz as I read somehwere that I2C may may be marginal at 8MHz.
No doubt rather difficult to solve this one from my explanation, but any clues would be appreciated!
There are 2 devices on the bus - the 20X2 and an ADC. Both are powered by 5V but are connected to the RPi I2C through a level converter to match the RPi 3.3V bus.
Both devices are visible to the RPi when I run i2cdetect. I can communicate fine with the ADC. However, as soon as I try to communicate with the 20X2, the I2C bus seems to crash. I am using smbus on the RPi.
When I run i2cdetect on the RPi, it runs very slowly and no devices are detected. The RPi has to be powered down and restarted to recover. I am running the 20X2 at 16MHz as I read somehwere that I2C may may be marginal at 8MHz.
No doubt rather difficult to solve this one from my explanation, but any clues would be appreciated!