Hallo, ich nutze den STM32 mit EM::BLOCKZ und dem HAL. Uart, CAN etc.. klappt alles. Jetzt brauche ich noch I2C. Die stm32f4xx_hal_i2c.h/c ist da. Auch die Funktionen sind dort drin. Komischerweise sagt er mir (undefined reference, also .c ist ihm unbekannt). Kann doch eigentlich nicht sein? Ich verstehe das Problem nicht, bei UART etc.. geht alles, gleiches Schema mit dem I2C gemacht da meckert er nur.
vermutlich fehlt ein globales #define für das spezifische POD.
Hast Du in der Datei "stm32f4xx_hal_conf.h" die Auskommentierung von "#define HAL_I2C_MODULE_ENABLED" rausgenommen ?
Ruediger A. schrieb: > vermutlich fehlt ein globales #define für das spezifische POD. Wo muss ich das hinzufügen? Ich habe schon in der .c #include "stm32f4xx_hal_i2c.h" hinzugefügt. Ohne Erfolg.
Klaus Skibowski schrieb: > Hast Du in der Datei "stm32f4xx_hal_conf.h" die Auskommentierung von > "#define HAL_I2C_MODULE_ENABLED" rausgenommen ? Ich habe keine conf.h nur eine conf_template.h Aber ein solches macro habe ich nie verändert, muss ich wahrscheinlich machen Dort sind zwar die defines, also wenn #define HAL_I2C_MODULE_ENABLED dann bindet er die lib ein, wusste ich noch gar nicht, hatte da schonmal Probleme, da habe ich die _spi.h oder ähnliches einfach manuell eingebunden. Jetzt macht es auch mal richtig sinn. Habe das Macro: #define HAL_I2C_MODULE_ENABLED hinzugefügt, aber macht er tzrd. nicht. In der _hal.h wir die #include "stm32f4xx_hal_conf.h" eingebunden.
Klaus Skibowski schrieb: > Hast Du in der Datei "stm32f4xx_hal_conf.h" die Auskommentierung von > "#define HAL_I2C_MODULE_ENABLED" rausgenommen ? Ich habe sie gefunden, die lag direkt im Verzeichnis. Habe dort die Auskommentierung rausgenommen, jetzt geht es! Super! DANKE! Bei den anderen Schnittstellen hatte das CubeMX gemacht, dachte ich brauche das für i2c nicht komplett ersetzten, jetzt bin ich schlauer!
Freut mich !!! Wenn Du mit CubeMX neue Module hinzufügst und das Projekt neu erzeugen lässt werden die entsprechenden Dateien u.a. auch die hal_conf.h und die hal_msp.c angepasst bzw. erweitert.
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.