pxt-calliope/docs/reference/pins/i2c-write-number.md

55 lines
1.8 KiB
Markdown
Raw Normal View History

# i2c Write Number
2016-07-05 21:30:28 +02:00
Write a number to a device at an I2C address using a specified number format.
2016-07-05 21:30:28 +02:00
```sig
pins.i2cWriteNumber(0, 0, NumberFormat.Int8LE, true);
2016-07-05 21:30:28 +02:00
```
### ~hint
**Simulator**
This function needs real hardware to work with. It's not supported in the simulator.
### ~
## Parameters
2016-07-05 21:30:28 +02:00
* **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](/types/buffer/number-format) for **value**.
* **repeated**: if `true`, don't send a stop condition after the write. Otherwise, a stop condition is sent when `false` (the default).
### ~ hint
A [repeated start condition](http://www.i2c-bus.org/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
2016-07-05 21:30:28 +02:00
### Write a big endian number to a device
2016-07-05 21:30:28 +02:00
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.
2016-07-05 21:30:28 +02:00
```blocks
pins.i2cWriteNumber(32, 2055, NumberFormat.Int32BE, false);
2016-07-05 21:30:28 +02:00
```
2016-08-17 20:18:15 +02:00
### Repeated writes
Send three byte values to a device at address `33`.
```blocks
pins.i2cWriteNumber(33, 19, NumberFormat.Int32BE, true);
pins.i2cWriteNumber(33, 61, NumberFormat.Int32BE, true);
pins.i2cWriteNumber(33, 87, NumberFormat.Int32BE, false);
```
## See also
2016-07-05 21:30:28 +02:00
[i2c read number](/reference/pins/i2c-read-number)
[What's I2C?](http://www.i2c-bus.org/), [number format](/types/buffer/number-format)