PCA9548A: I2C read always returns the register address value

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

PCA9548A: I2C read always returns the register address value

641 Views
erikcheesebroug
Contributor I

Hello,

I am confused about how to read the command register. Say I perform an I2C write to device register 0x00 with value 0x07. When I then perform an I2C read from device register 0x00, the data I get is 0x00. If I perform and I2C read of 8 bytes starting at device register 0x00, I get :

0x00:0x07 = 0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07

0 Kudos
1 Reply

558 Views
lisettelozano
NXP Employee
NXP Employee

Hello Erik, 

First, we apologize for the delayed response. 

The control register can be read in order to determine which channel is enabled or to check that a previous switch command has been correctly interpreted by the slave (you can select more than one channel at the same time) depending on what you write to this register. When you perform a read to the control register, you will receive the channel status; therefore, in your example, when you write 0x00 you are receiving 0x00. When you performed the read of 8 bytes 0x00:0x07; you will read from 0x00 and incrementing until 0x07 (0x00 0x01 0x02 0x03 0x04 0x05 0x06 0x07).

I hope this information can be helpful.

Have a great day, 

Paulina

0 Kudos