2025-02-13 12:46 AM
I have a question regarding the use of the STSAFE-A110.
Currently, the default I2C address of the STSAFE-A110 is set to 0x20. It is possible to change this address?
If it is possible, could you please explain how to do it?
Thank you in advance for your assistance.
Solved! Go to Solution.
2025-02-24 6:00 AM
Hi @y_yamamoto ,
Actually, the I2C parameters can be changed by personalization.
On evaluation part (STSAFA110xxSPL02/3), you can change the I2C address as well.
You need to use the StSafeA_PutAttribute() command with
InAttributeTag to STSAFEA_TAG_I2C_PARAMETER
pInData to a 2 bytes array with bytes 0 is the I2C address on 7 bits shifted by 1 bits.
and bytes 1 shall be 0x04 if you want to keep the I2C address updatable or 0x05 if you want to lock the I2C address.
uint8_t pInData[2] = { 0x20 << 1, 0x4};
StSafeA_ResponseCode_t status;
status = StSafeA_PutAttribute(pStSafeA, STSAFEA_TAG_I2C_PARAMETER, pInData, sizeof(pInData), STSAFEA_MAC_NONE);
Once you have executed this command, you have to do a power cycle on the STSAFE-A to make it active.
Best Regards,
Benjamin
2025-02-24 6:00 AM
Hi @y_yamamoto ,
Actually, the I2C parameters can be changed by personalization.
On evaluation part (STSAFA110xxSPL02/3), you can change the I2C address as well.
You need to use the StSafeA_PutAttribute() command with
InAttributeTag to STSAFEA_TAG_I2C_PARAMETER
pInData to a 2 bytes array with bytes 0 is the I2C address on 7 bits shifted by 1 bits.
and bytes 1 shall be 0x04 if you want to keep the I2C address updatable or 0x05 if you want to lock the I2C address.
uint8_t pInData[2] = { 0x20 << 1, 0x4};
StSafeA_ResponseCode_t status;
status = StSafeA_PutAttribute(pStSafeA, STSAFEA_TAG_I2C_PARAMETER, pInData, sizeof(pInData), STSAFEA_MAC_NONE);
Once you have executed this command, you have to do a power cycle on the STSAFE-A to make it active.
Best Regards,
Benjamin