INACKS
  • Welcome to the IS4310 Modbus Chip Wiki
  • Datasheet
    • Presentation
    • Description
      • Function Codes
      • Exception Codes
      • IS4310 Advantages
      • Modbus UART Port
    • Pin Description
    • Memory Description
      • Memory Map Table
      • HOLDx Registers
      • MBADR Register
      • MBBDR Register
      • MBPAR Register
      • MBSTP Register
    • I2C-compatible Bus Description
      • Single Word Read
      • Multiple Word Read
      • Single Word Write
      • Multiple Word Write
  • Hardware Examples
    • RS485 Design Example
    • Isolated RS485 Design Example
    • Bus Topology
    • Cable Wiring
  • Firmware Examples
    • Arduino Example
    • STM32 Reading Example
    • STM32 Writing Example
  • Appendix
    • Mechanical Drawings
    • Ordering
    • Product Selection Guide
    • Documentation Feedback
    • Customization
    • Legal
Powered by GitBook
On this page
  1. Datasheet
  2. I2C-compatible Bus Description

Multiple Word Write

PreviousSingle Word WriteNextRS485 Design Example

Last updated 2 months ago

A Multiple Word Write performs a similar operation to a Single Word Write, but instead of writing to only one register, it can write to a block of up to 500 registers in a single operation.

To perform a Multiple Word Write, follow the same procedure as for a Single Word Write until the first data word is received. After receiving the first word, instead of generating a Stop Condition, the Microcontroller should continue sending data words. To conclude the write operation, after sending the last data word, the Microcontroller should generate a Stop Condition.

With each word written, the Pointer Register increments by one.

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 within the valid memory range (0 to 503) but exceeds the last memory register (503), a rollover to position 0 will occur. For example, writing a value to register 504 will result in writing the value to register 0.

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)