Skip to main content
David.Cheng
Associate III
December 19, 2019
Solved

the code from st example

  • December 19, 2019
  • 1 reply
  • 1560 views
I2C_Cmd(sEE_I2C, ENABLE);
 /* sEE_I2C configuration after enabling it */
 I2C_Init(sEE_I2C, I2C_SPEED, I2C_SLAVE_ADDRESS7, I2C_Mode_I2C, I2C_DutyCycle_2,
 I2C_Ack_Enable, I2C_AcknowledgedAddress_7bit);

do the init order have some problem?

below one is common:

void Init(void)
 
 {
 
 I2C_DeInit(I2C1);
 I2C_Init(I2C1,IICSPEED, host_address, I2C_Mode_I2C,I2C_DutyCycle_2, I2C_Ack_Enable, I2C_AcknowledgedAddress_7bit);
 I2C_Cmd(I2C1,ENABLE);
 }

I2C_Cmd(sEE_I2C, ENABLE);
I2C_DeInit(sEE_I2C);
 /* sEE_I2C configuration after enabling it */
I2C_Init(sEE_I2C, I2C_SPEED, I2C_SLAVE_ADDRESS7, I2C_Mode_I2C, I2C_DutyCycle_2,
I2C_Ack_Enable, I2C_AcknowledgedAddress_7bit);

is there some bug like above

    This topic has been closed for replies.
    Best answer by Tesla DeLorean

    I think I'd have the Cmd before the DeInit.

    For ST's I2C the usual means to set up is Cmd then Init, issue with the pins and I2C peripheral getting stuck in BUSY state.

    1 reply

    Tesla DeLorean
    Tesla DeLoreanBest answer
    Guru
    December 19, 2019

    I think I'd have the Cmd before the DeInit.

    For ST's I2C the usual means to set up is Cmd then Init, issue with the pins and I2C peripheral getting stuck in BUSY state.

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    David.Cheng
    Associate III
    December 20, 2019

    issue with the pins and I2C peripheral getting stuck in BUSY state?

    could you say more about it