I was reading a document and they said the address of the SAVE register is 0x00 and the address of the CALSW is 0x01. However, each register is 16-bit wide, so the address of the CALSW register must be 0x02, right? In fact, they use the register address 0x01 to calibrate this sensor. This is the SINDT sensor from WITMOTION. I'm really quite confused, maybe I missed some basic knowledge. Below is some information contained in the datasheet(Chapter 5.1):
Perhaps a more intuitive way to understand this is if you look at it as an array.
uint16_t register[0x0B]; #define REG_ADDR_SAVE 0x00 #define REG_ADDR_CALSW 0x01 #define REG_ADDR_RSW 0x02 .. #define REG_ADDR_GZOFFSET 0x0A
The address (16-bit) is the index, and the register data (16-bit) is the indexed entry.
For example, with
register[REG_ADDR_CALSW] you can access the