AnsweredAssumed Answered

i2c slave or master ???two carts stm32

Question asked by TARHAN SAMAH on Jan 19, 2018
Latest reply on Jan 19, 2018 by TARHAN SAMAH

hello i need to use i2c to exchange data between two stm32f103c8 , 

one sends datas the other blinks and in both sides sends and receive to each other , i use a simple exemple but in one side it works one is master transmitting then slave is receing byy interrupt 



exemple stm(cart1) master trnsmits to slave -------------------------------> stm (cart2) slave receive ITby interrupts 



but how to make boths sides 


stm(cart1)   transmit master receive slave or recieve master IT  ----->stm(cart1)transmit master or slave and recieve

                                                                                                    <-----slave or master 

i cannot make it fullduplex wit same lines data and clk: 

HAL_I2C_Slave_Receive_IT(&hi2c2,0,(uint8_t *)aRxBuffer,1);//ENABLE RECEIVE IC2 INTERRUPT 


void HAL_I2C_SlaveRxCpltCallback(I2C_HandleTypeDef *hi2c)
if (hi2c->Instance == I2C2 )

    HAL_GPIO_TogglePin(GPIOC, GPIO_PIN_13);//blink led if we received an interrupt byte from i2c line


   HAL_I2C_Slave_Receive_IT(&hi2c2,(uint8_t *)aRxBuffer,1);//ENABLE RECEIVE IC2 INTERRUPT









it bugs and i dont have any result both sides or one side ,

can you advice me one device can only be master or slave or can switch from one to another ,,, just i need to know how to send and receieve same time ???