* I2C ref doc 'repeated' description * Note the non-endianness for one byte formats * trigger rebuild
1.8 KiB
i2c Write Number
Write a number to a device at an I2C address using a specified number format.
pins.i2cWriteNumber(0, 0, NumberFormat.Int8LE, true);
~hint
Simulator
This function needs real hardware to work with. It's not supported in the simulator.
~
Parameters
- address: the 7-bit I2C address of the device to send to send value to.
- value: the number to send to address.
- format: the NumberFormat for value.
- repeated: if
true
, don't send a stop condition after the write. Otherwise, a stop condition is sent whenfalse
(the default).
~ hint
A repeated start condition is set to help make sure that when you want to write multiple numbers from the device at one time, it can happen without interruption. A start conditon is sent (if repeated is true
) each time a number is written without a matching stop condition. When the last number is written, the stop conditon can be sent by setting repeated to false
. For single writes, don't use repeated or set it to false
.
~
Examples
Write a big endian number to a device
Send the value 2055
to the 7-bit I2C address as a 32-bit number. The 32
, big-endian, and integer chosen for the format.
pins.i2cWriteNumber(32, 2055, NumberFormat.Int32BE, false);
Reapeted writes
Send three byte values to a device at address 33
.
pins.i2cWriteNumber(33, 19, NumberFormat.Int32BE, true);
pins.i2cWriteNumber(33, 61, NumberFormat.Int32BE, true);
pins.i2cWriteNumber(33, 87, NumberFormat.Int32BE, false);