I'm trying to communicate in I2C between a MSP430FR2433 and an MPU6050. I can send the start bit then the slave address (0x68) followed by the write bit (0) but the slave send me a NACK. I'm using the GY-521 board and there are two pull-ups of 4k7. The clock is at 100 kHz which is under the maximum. I could once make the communication but since I always get a NACK
Electronic – I2C communication between MPU6050 and MSP430FR2433
i2cmsp430
Related Topic
- I2C protocol debugging using oscilloscope
- Electrical – I2C Master communication with a Ten bit slave
- Electrical – I2C Multiple Masters
- Electrical – I2C Write Operation on TCA9539
- Electronic – arduino – Trouble initiating I2C communication between Arduino and 3.3V Slave
- Electrical – Two PIC 18f4620 , one as master & the second is slave I2C communication problem
- Electronic – MSP430 MPU9250 MPU6050 I2C: After sending the address NACK
Best Answer
Have you considered the often confused issue of the slave address being considered a 7-bit quantity versus an 8-bit quantity?
When a slave address is considered an 8-bit quantity the least significant bit (LSB) of the address is the R/W bit so the slave device looks like it responds to two addresses, one for read and the other for write.
When specified as a 7-bit quantity the slave address is encoded as a value independent from the R/W bit.
Your waveform picture shows the 0x68 address encoded as 7-bits. But it could be that the device data sheet may have specified as an 8-bit in which case you may need to send out that first byte of the I2C protocol as a value of 0x68 instead of the 0xD0 value you have used now.