I2c repeated start question
-
i am getting funny values when i read back from registers i wrote.
i am trying to get my accelerometer working and it is somehow kind of working .. i wonder if this could be a problem with micropython
the datasheet says" The MMA8451Q expects repeated starts to be used to randomly read from specific registers."
what does that mean? how can it affect normal micropython code?
-
Thanks
looks like it is doing good now
-
But first you should send a command to start measuring.
The data sheet should tell you which one.
Command in my situation is:i2c.writeto(addr, bytearray(b'\x20\x24'))
-
@iotmaker The library is doing this correctly.
You don't have to bother about ST, AK, SR, R, NAK and SP things.
I'am not using the registers and using another I2C device.My code looks like this:
data = i2c.readfrom(addr, 6)
-
the datasheet has this diagram when you read a register the master send device address, register address and then a SR repeated start condition..
i wonder if this is what the I2C library does in micropython?
-
@iotmaker Are you using clock stretching? This is not supported yet.
Can you share your code? The information given is not enough to answer your question. 100th of options could cause the issue.