Skip to content

Wire library read() returns 0xFF on reading only one byte #549

Open
@velechit

Description

@velechit

I am having a weird problem with my I2C code. The problem is that when I try to read only 1 byte in the master I get 0xFF but if I read 2 bytes I get proper value of the first byte.

Wire.requestFrom(SLAVE_ADDRESS, 1);
data = Wire.read();

=> gives data as 0xFF

Wire.requestFrom(SLAVE_ADDRESS, 2);
data0 = Wire.read();
data1 = Wire.read();

=> gives data0 as 0xA5 (which is expected from the single byte read)

Am I doing anything wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions