---
name: "modbus_write_registers"
section: "3"
platform: "linux"
package: "libmodbus-dev"
version: "3.1.6-2.1"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/modbus_write_registers"
---

# modbus\_write\_registers(3)

write many registers

## NAME

modbus\_write\_registers - write many registers

## SYNOPSIS

**int modbus\_write\_registers(modbus\_t \****ctx***, int** *addr***, int** *nb***, const uint16\_t \****src***);**

## DESCRIPTION

The **modbus\_write\_registers()** function shall write the content of the *nb* holding registers from the array *src* at address *addr* of the remote device.

The function uses the Modbus function code 0x10 (preset multiple registers).

## RETURN VALUE

The function shall return the number of written registers if successful. Otherwise it shall return -1 and set errno.

## SEE ALSO

[**modbus\_write\_register**(3)](/modbus_write_register/3.md) [**modbus\_read\_registers**(3)](/modbus_read_registers/3.md)

## AUTHORS

The libmodbus documentation was written by Stéphane Raimbault \<stephane.raimbault@gmail.com\>
