Forum: Mikrocontroller und Digitale Elektronik HAL STM32 I2C und interrupt betrieb?


von "S"ehr "T"oller" "M"icrocontroller (Gast)


Lesenswert?

Hallo,

ich frage mich, warum man die I2C Interruptfunktionen nutzt?


HAL_I2C_Master_Transmit_IT
HAL_I2C_Master_Receive_IT

wenn das jeweilige mit dem Datensenden/empfangen fertig ist werden
folgende Callbacks aufgerufen:

void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)

bzw.

void HAL_I2C_MasterRxCpltCallback(I2C_HandleTypeDef *hi2c)


generell wie ist das sinnvoll zu verwenden?

und konkret:

Ich rufe nun einmal

HAL_I2C_Master_Transmit_IT

und erwarte, dass es bald darauf zur Ausführung von
void HAL_I2C_MasterTxCpltCallback(I2C_HandleTypeDef *hi2c)

kommt

doch stattdessen

wird

HAL_I2C_Master_Transmit_IT

nur einmal ausgeführt

und beim erneuten Ausführungsversuch geschieht gar nichts mehr!?

VG

von "S"ehr "T"oller" "M"icrocontroller (Gast)


Lesenswert?

OK hat sich schon zum Teil wieder erledigt.....

ich muss wohl tatsächlich warten bis fertig gesendet wurde bzw. fertig 
empfangen wurde, also
die Funktionsaufrufe

HAL_I2C_Master_Transmit_IT

und

HAL_I2C_Master_Reiceive_IT

gegeneinander verriegeln

;)

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
Noch kein Account? Hier anmelden.