- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 10

Thema: STM32 F103 - I2C Probleme

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    02.11.2005
    Alter
    49
    Beiträge
    1.146
    Was mir hier gerade noch auffällt:
    In MX_I2C1_Init() rufst Du die Funktion HAL_I2C_Init() auf.
    In Deinem zweiten Code-Schnippsel heißt die Funktion HAL_I2C_MspInit().
    Soll das so sein?

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.06.2010
    Ort
    Darmstadt
    Beiträge
    136
    Zitat Zitat von askazo Beitrag anzeigen
    Was mir hier gerade noch auffällt:
    In MX_I2C1_Init() rufst Du die Funktion HAL_I2C_Init() auf.
    In Deinem zweiten Code-Schnippsel heißt die Funktion HAL_I2C_MspInit().
    Soll das so sein?
    Nein das ist nicht ganz Richtig. Die HAL_I2C_MSPInit() wird in der Main in der Funktion HAL_Init() aufgerufen.
    Es gibt keine Probleme, es gibt nur Lösungen

  3. #3
    HaWe
    Gast
    hi,
    falls es immer noch nicht geht und bevor alle Stränge reißen:
    Versuchs doch mal mit der Arduino-IDE...:
    https://www.youtube.com/watch?v=MLEQk73zJoU

    (I2C lässt sich mit der Wire class extrem einfach nutzen und testen.)
    Geändert von HaWe (02.02.2018 um 18:26 Uhr)

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    30.06.2010
    Ort
    Darmstadt
    Beiträge
    136
    Hab es nun hin bekommen.
    Lag einerseits daran dass die I2C Adresse um 1 geschiftet werden muss (wegen R/W byte), und anderer seits funktioniert bei mir nur der
    Code:
    hal_status = HAL_I2C_Mem_Write(&hi2c1, DEVICE_ADDRESS<<1, control, 1, &arg_val, 1, I2C_TIMEOUT);
    Befehl.

    mit
    Code:
    HAL_I2C_Master_Transmit(&I2C_HANDLER, DEVICE_ADDRESS<<1, (uint8_t*) buffer, 2, I2C_TIMEOUT);
    geht es bei mir nicht.
    Warum das so ist weiß ich nicht, aber nun funktioniert alles.

    Vielen Dank schonmal !
    Es gibt keine Probleme, es gibt nur Lösungen

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.03.2011
    Beiträge
    1.899
    Da ich weder die Funktion

    HAL_I2C_Mem_Write()

    noch die Funktion

    HAL_I2C_Master_Transmit()

    kenne, kann ich dir da nicht helfen. Poste doch einfach mal die Doku zu diesen Funktionen, dann kann man ja mal die Unterschiede herausarbeiten.

    MfG Klebwax
    Strom fließt auch durch krumme Drähte !

Ähnliche Themen

  1. STM32 als Arduino
    Von stochri im Forum Arduino -Plattform
    Antworten: 5
    Letzter Beitrag: 20.08.2017, 10:21
  2. STM32 - Interrupts
    Von White_Fox im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 7
    Letzter Beitrag: 05.11.2016, 20:43
  3. STM32 + Kamera
    Von Wsk8 im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 15
    Letzter Beitrag: 11.03.2014, 20:26
  4. stm32 discovery
    Von drew im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 17
    Letzter Beitrag: 07.04.2011, 16:55
  5. STM32 + blinkende LED
    Von Mountainking im Forum Konstruktion/CAD/3D-Druck/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 41
    Letzter Beitrag: 11.11.2009, 14:48

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress