cancel
Showing results for 
Search instead for 
Did you mean: 

Communication between stm32f412zgt6 and a secure memory ATMEL AT88SC1216C over I2C

Abd_karim
Associate II

Bonjour à tous, cela fait une semaine que je dois développer une API pour la mémoire sécurisée at88sc12816c
De chez Atmel mais trés malheuresement j’arrive paz à établir la communication entre ma carte maitre qui est un stm32f412zgt6 et la mémoire eeprom.
De mon côté, j’ai bien compris le fonctionnement de la mémoire mais sauf que dans ce dernier les adresses sont diverses, j’explique par exemple pour faire une écriture
dans une UserZone c’est B0 et cet octet ce termine par 0 ce qui est correctement compris par la HAL pour faire de l’écriture en i2c
mais dans le cas d’une lecture aussi par exemple on l’adresse qui se termine encore 0, alros que dans un protocole i2c standard pour lire le dernier bit de l’octet d’adresse doit être
à 1. Et je pense que c’est exactement ce que la HAL ne comprend pas à son niveau. J’ai vraiment besoin d’aide pour avancer

Abd_karim_0-1755591014953.pngAbd_karim_1-1755591044404.png

 

12 REPLIES 12
Abd_karim
Associate II
Do you think I can modify the HAL_I2C_Master_Transmit function so that it does a transmit_receive, if so how?

Hello @Abd_karim 

Since there is no stop or restart condition between sending the command and reading the data, so you may use the sequential HAL I2C API

HAL_I2C_Master_Seq_Transmit_IT(&hi2c1, DEVICE_ADDR << 1, cmd, 4, I2C_FIRST_FRAME);

// Wait for transmit complete (implement callback or polling as needed)

// Start receive (with stop)
HAL_I2C_Master_Seq_Receive_IT(&hi2c1, DEVICE_ADDR << 1, data, 16, I2C_LAST_FRAME);

 

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.
Saket_Om
Abd_karim
Associate II

I am working on a stm32f412zgt6, when I use the HAL_I2C_Master_Transmit function I have a HAL_BUSY type error due to the following function, do you have any idea why?

Abd_karim_0-1756191090964.png