I need your help to understand why it seems the I2C address being sent to the slave device is not as assigned to the component. I am using the I2C_LCD component and using an address of 68 ($44). When I look at the scope of the signal it appears the address being sent it twice the value. So, I decided to try something different by using an address of 1. I am adding two graphics for review. One is simply the scope of a start and stop command. The pattern looks correct.
The second graphics of the start command for the I2C_LCD with the address set to one in the properties window for the I2C_LCD. The address in the graphics appears to be a value of 2. Can you confirm my understanding or whether I am wrong. I cannot explain the other byte sent as I was not sending anything other that the start command for the I2C_LCD device.
Thank you
I2C address error with I2C_LCD component
I2C address error with I2C_LCD component
- Attachments
-
- Using a device address of 1
- Address 0x01.jpg (142.34 KiB) Viewed 3491 times
-
- Start Stop Graphics
- Start Stop Graphics.jpg (89.72 KiB) Viewed 3491 times
- LeighM
- Matrix Staff
- Posts: 2178
- Joined: Tue Jan 17, 2012 10:07 am
- Has thanked: 481 times
- Been thanked: 699 times
Re: I2C address error with I2C_LCD component
I2C uses 7 bit addressing, and this is set in the first byte in bit positions 1 to 7 (msb),
bit 0 is used to indicate a read or a write transaction,
hence this can look to double the address.
bit 0 is used to indicate a read or a write transaction,
hence this can look to double the address.
Re: I2C address error with I2C_LCD component
Absolutely right !!! I had forgotten about that. Thank you !!!