How do i read multiple bytes with one command on arduino?

I have a CCS811 sensor and the bytes i need are in the same register (0x02), the datasheet says it can be up to 8bytes. there are no commands to read more than 2 bytes in the document, so is there another way than using:
readRegister(dev,[address],[precision])?
I only use the Arduino Toolbox for matlab right now.

1 commentaire

Were you able to get this going? I noticed there is a driver for the CCS811 in the arduino support package for 2022a.

Connectez-vous pour commenter.

 Réponse acceptée

Helper
Helper le 23 Août 2018
The 'read' function of i2cdev can be used. For more information please refer to the following documentation link https://www.mathworks.com/help/supportpkg/arduinoio/ref/read.html

2 commentaires

"Doesn't answer the question"
@Pommel Knight:
The CCS811 sensor is connected by way of I2C bus according to https://learn.adafruit.com/adafruit-ccs811-air-quality-sensor
The page that staff linked to is specifically about a read() method for reading from I2C bus attached to Arduino, https://www.mathworks.com/help/supportpkg/arduinoio/ref/arduinoio.i2cdev.read.html and the read() method has a required argument that is the number of bytes to read.
Thus, using read(dev, 8) should return the 8 bytes that the poster needs.
Is this not an answer to the question?

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by