STM32 I2C ADDR Flag

Gast #2678484
Lesenswert?

Hallo Leute,

ich habe ein Problem mit dem I2C beim STM32.

Ich bin gerade dabei einen BMP085 über I2C aufzuwerten.

Das Problem ist folgendes:

Wie ihr in dem Bild seht wird das ADDR Flag beim senden der Adresse 
gesetzt. Soweit so gut, aber wenn ich danach den CheckEvent aufführen 
ist das Flag auf einmal zurückgesetzt und somit geht der Check natürlich 
in den Errorzustand.

Hier mein Code:

.
.
.
// I2C1
RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE);
I2C_DeInit(I2C1);

  /* I2C configuration */
  I2C_InitStructure.I2C_Mode = I2C_Mode_I2C;
  I2C_InitStructure.I2C_DutyCycle = I2C_DutyCycle_2;
  I2C_InitStructure.I2C_OwnAddress1 = 0x32;
  I2C_InitStructure.I2C_Ack = I2C_Ack_Enable;
  I2C_InitStructure.I2C_AcknowledgedAddress = 
I2C_AcknowledgedAddress_7bit;
  I2C_InitStructure.I2C_ClockSpeed = 10000;

 /* Apply I2C configuration after enabling it */
  I2C_Init(I2C1, &I2C_InitStructure);

  /* I2C Peripheral Enable */
  I2C_Cmd(I2C1, ENABLE);
.
.
.

I2C_GenerateSTART(I2C1, ENABLE);
while(!I2C_CheckEvent(I2C1, I2C_EVENT_MASTER_MODE_SELECT));
I2C_Send7bitAddress(I2C1, 0xee, I2C_Direction_Transmitter);
while(!I2C_CheckEvent(I2C1, 
I2C_EVENT_MASTER_TRANSMITTER_MODE_SELECTED));
.
.
.

Hat jemand von Euch eine Idee was ich falsch mache?
Angehängte Dateien:

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren