HAL STM32 I2C und interrupt betrieb?

Gast #4598165
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
Gast #4598279
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

;)

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