I think "i2c_read()" can only be used by I2C master device to read data from slave device.
Is this answer correct?

I think "i2c_read()" can only be used by I2C master device to read data from slave device.
Is this answer correct?

Hello,
I agree that it is a bit unintuitive, but you can use this API as an I2C slave to read data from the I2C master as well.
Best regards,
Edvin
In the param description of "i2c_read", the 4th param "addr" is the target i2c device address.
Only a slave device has i2c address.
If a slave device uses "i2c_read" to read, what address should we use?

That's a good point. I just thought it would since the description didn't specify I2C master, but I see that it uses the "controller" and "device" terminology.
I contacted the devacademy team, and I believe they updated the question already.
Thank you for reporting!
Best regards,
Edvin
Hi, I think your understanding of i2c_read() is reasonable, as I2C controllers generally read data from target devices. However, it’s best to check the official Nordic documentation to confirm the correct answer and understand how the function works in this specific lesson. I also recommend telenor quiz today answer to anyone who enjoys daily quizzes and wants to improve their general knowledge. It offers quiz questions and answers on various topics, providing an easy and engaging way to test knowledge and learn new facts. Exploring different quiz platforms can be a good way to keep learning enjoyable alongside technical studies. I hope this helps, and good luck with your quiz!
Thanks.