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?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.