Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

PSoC™ Creator & Designer Forum Discussions

Not applicable

I2C_LCD component V1.20

I have been trying to get this to work for ages until I put an I2C analyzer on the clock & data lines and got the following results

Write to address 0X26 writes to 0x26

Write to address 0X27 writes to 0x26  <-- this is why I have been beating my head against a wall for hours

Write to address 0X28 writes to 0X28

Has anyone else experienced this?

1 Reply
Level 8
Level 8
100 likes received 50 likes received 25 likes received

This is because I2C distinguishes between read (1) and write (0) using the least significant bit in the address. Which is also the reason why normally addresses are specified in 7bit, leaving out the LSB (so you need to shift it left one bit to get an 8bit address).

So on the bus, 0x26 is a write to device 0x13(7bit)/0x26(8bit), whereas 0x27 is a read from 0x13/0x26.