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 Read

PreviousSingle Word ReadNextSingle Word Write

Last updated 2 months ago

Multiple Word Read functions similarly to Single Word Read but can read a block of up to 500 registers in a single operation. Remember, the registers are 16-bit words consisting of 2 bytes, so the number of registers retrieved should always be even.

To perform a Multiple Word Read, follow the same procedure as for a Single Word Read until the first data word is received. After receiving the first word, instead of generating a Not Acknowledge (NACK), the microcontroller should continue acknowledging (ACK) each received data byte from the IS4310 for as many words as it intends to read. To conclude the read operation, after reading the last data word, the microcontroller should generate a Not Acknowledge (NACK) and a Stop Condition.

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

Invalid Memory Addressing

The valid memory range of the IS4310 goes from addresses 0 to 503.

If the Read Operation is performed with a Pointer Register within the valid memory range (0 to 503), but the data retrieval extends beyond register 503, a rollover to position 0 will occur. For example, the value of register 504 will correspond to the content of register 0.

If a Read Operation is performed with a Pointer Register value higher than 503, the read result will be 0xFFFF.

(Click to enlarge)

IS4310 Multiple Word Read I2C Frame