I2C STM32 HAL

Gast #5988490
Lesenswert?
• ▲
▼
Hallo,

ich steh gerade etwas auf dem Schlauch.

Möchte eigentlich nur einen einfachen I2C Sensor anschließen und ein 
Register auslesen.

Nach Datenblatt also einmal die Adresse des Device auf den BUS mir R/W=0 
, danach die Adresse des Registers gefolgt von einem Repeated Start und 
der Device-Adresse mit R/W=1.

Nun nutze ich die STM32 HAL-Bibliothek und habe dort die Funktionen
1
HAL_StatusTypeDef HAL_I2C_Master_Receive(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)
2

3
HAL_StatusTypeDef HAL_I2C_Master_Transmit(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint8_t *pData, uint16_t Size, uint32_t Timeout)
4

5
und alternativ evtl.:
6

7
HAL_StatusTypeDef HAL_I2C_Mem_Read(I2C_HandleTypeDef *hi2c, uint16_t DevAddress, uint16_t MemAddress, uint16_t MemAddSize, uint8_t *pData, uint16_t Size, uint32_t Timeout)


Wie nutze ich die Dinger jetzt richtig?

Die Device-Adresse ist: 0xAA
Das aus zu lesende Register im Device ist: 0XBB


Mir ist nicht klar, wie ich die Funtkionen nutze, um den repeated Start 
hin zu bekommen...
Bin dankbar für etwas Unterstützung
Angehängte Dateien:
Beitrag #5988667 wurde von einem Moderator gelöscht.
(Firma: Vescomp) #5988767
Lesenswert?
• ▲
▼
STM32 schrieb im Beitrag #5988490:
> Mir ist nicht klar, wie ich die Funtkionen nutze, um den repeated Start
> hin zu bekommen...

 Wie dir Jim M. bereits schrieb:
> HAL_I2C_Mem_Read() müsste genau den Fall abdecken.

 HAL_I2C_Mem_Read
1
 performs a I2C write operation to select the memory address to read and then reads N bytes.
2
 (START, I2C_Addr+Write, Memory address, repeated start, I2C_Address+Read, N bytes, STOP)

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.