Changing the Default I2C Address of STSAFE-A110
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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.
- Labels:
-
Cryptography
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎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
