2020-03-04 12:28 AM
Chapter 8.5 says write the register value as two bytes (Low and High), but all pictures and descriptions later sends only one byte for the register value. Whats correct?
If I send START ADR(WRITE) REG START ADR(READ) VALUE STOP the ADR byte is acknowledged, but the value read from the STWLC33 is always 0.
If I send START ADR(WRITE) 0x00 REG START ADR(READ) VALUE STOP the ADR byte is acknowledged and a value is returned. But most values read makes no sense.
If I read the register 0x02(Chip_Rev) I get 0x05, but the data sheet says 0x01.
If I read register 0x46 and 0x47 (Die Temp) I get for 0x46 => CA and for 0x47 => 0x0B. 0x47 is the high byte of the die temperature and according the data sheet only bits 0 and 1 can be set, the others are 0, but 0x0b => 00001011. The calculated temperature is also wrong if I use only the two lower bits. Die Temp = 0x3CA -> 377 - 0x3CA / 2 = -108°C. We have at least 22°C in our office. Register 0x46 changes the value slightly if I put my finger on the chip, what makes sense if its a temperature.
If I write into register 0x8F (NVM_Control) 0x43 (read sector 3) and read it back a few times, the register read back is always 0x43, I would expect that after a while (250us) the value changes to 0x03.
Reading back the register 0x44 and 0x45 (IOUT) makes sense, the current seems to be correct.
Table 10 in the data sheet is completly wrong.
If I enter "STWLC33" in the search field of st.com, your home page does not find the STWLC33 ic, I have all my data sheets from mouser.com.
Do you have any idea how to solve the problem?