Quantcast
Viewing all articles
Browse latest Browse all 5064

Interfacing (DSI, CSI, I2C, etc.) • Reading Registers greater than 16 Bit via I2C

Hello. Wondering if anyone familiar with Python and I2C can help me.

I am attempting to read the contents of EEPROM registers of an I2C enabled Microcontroller (Allegro A89307 - https://www.allegromicro.com/-/media/fi ... asheet.pdf). See Pages 22 onwards for Register Details.

For the registers, the Datasheet is referencing 'Bits in the fashion of 17:16, Bits 17:0, Bits 16:16, etc, which suggests the Register sizes are either 24bit, or 32bit.

I am able to retrieve 8 bit and 16 bit data from the specified Register addresses with the below Python Function (where 0x55 is the Device Source Address, and 0x4E is the Register Address).

i2cget -y 1 0x55 0x4E b
i2cget -y 1 0x55 0x4E w

However, I am unable to retrieve 24 and 32 bit data from the Registers. Does anyone know how I can return 24/32 bit data?

Statistics: Posted by Jim357 — Sun Oct 13, 2024 12:28 am — Replies 0 — Views 13



Viewing all articles
Browse latest Browse all 5064