Arduino Due I2C "endTransmission(uint8_t sendStop)"
LukeYoung3000 opened this issue · 1 comments
Hi Guys, I have been working on a project using the Arduino Uno as an I2C master for the VCNL4035 proximity sensor and would like to use the Arduino Due instead. My code currently works on the Uno but dose not work correctly on the Due. When selecting a register to read on the VCNL it is required that the I2C bus dose not see a stop or else the VCNL resets its register pointer to the default address. On the Uno I use Wire.endTransmission(false) to keep the bus closed before reading data from the required address. However, on the Due this function dose not appear to do the same thing. When I look at the code in Wire.cpp (ArduinoCore-sam) Line 212, the "endTransmission" function has an argument "uint8_t sendStop" however I don't see that variable being used in the function so I was just wondering if sendStop even dose anything?
Cheers
- Luke
Hi there, I've just run into the same problem. I've been trying to use a Pyreos EZpyro infrared sensor with the DUE board. This sensor only returns data if a restart condition is used between the send and receive part of the code. I verified that the variable "sendStop" doesnt do anything in version 1.6.12 of the SAM library. I also monitored the signals on the bus and observed the stop and start conditions happening. Best Matthias