> For the complete documentation index, see [llms.txt](https://inacks.gitbook.io/is4310-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://inacks.gitbook.io/is4310-wiki/datasheet/i2c-compatible-bus-description/single-word-write.md).

# Single Word Write

Writing a single word is an action performed by the Microcontroller (I2C-Master) to write data to any register within the IS4310 memory (I2C-Slave), regardless of the last read or written position. To perform this action, the Microcontroller must first load the address of the IS4310 register to be written into the IS4310's internal Pointer Register. Once the address is set, the Microcontroller can send the data to be stored.

To initiate the Single Word Write operation, the Microcontroller begins by pulling down the SDA line while the SCL line is high, creating a Start Condition. It then sends the IS4310 I2C device address (0x11) with the R/W bit set to '0' (write). Upon receiving the device address, the IS4310 acknowledges it. Subsequently, the Microcontroller sends the two bytes of the Pointer Register address: the most significant byte first, followed by the least significant byte, each acknowledged by the IS4310. This sets the address of the next word to be written in the Pointer Register, preparing the device to receive the data.

The Microcontroller then sends the most significant byte of the word to be written first, which the IS4310 acknowledges. The Microcontroller follows by sending the least significant byte of the word, which the IS4310 also acknowledges. Finally, the Microcontroller issues a Stop Condition by raising the SDA line while the SCL line is high.

After the Stop Condition, if any of the Modbus Configuration Registers (MBADR, MBBDR, MBPAR, MBSTP) are written with a value different from the previous one, a 25 millisecond Flash Memory write cycle will begin.

**Invalid Memory Addressing**

The valid memory range of the IS4310 goes from addresses 0 to 503. If a Write Operation is performed with a Pointer Register higher than 503, the IS4310 will answer with a NACK on the first received byte of the word.

(Click to enlarge)

<figure><img src="/files/1zv5RvBMKPMh6W68q8wu" alt=""><figcaption><p>IS4310 Single Word Write I2C Frame</p></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://inacks.gitbook.io/is4310-wiki/datasheet/i2c-compatible-bus-description/single-word-write.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
