Forum: Mikrocontroller und Digitale Elektronik STM32F03xxx Verständnis Frage


von Jan H. (janiiix3)


Lesenswert?

Nabend.

Bin gerade dabei bei einem STM32F030xx die I2C Einheit zu aktivieren.
In der Library von STM gibt es für die "Alternate Functions" mehrere
#defines für die I2C1 Schnittstelle
1
/** @defgroup GPIO_Alternate_function_selection_define
2
  * @{
3
  */
4
5
/**
6
  * @brief  AF 0 selection
7
  */
8
#define GPIO_AF_0            ((uint8_t)0x00) /* WKUP, EVENTOUT, TIM15, SPI1, TIM17,
9
                                                MCO, SWDAT, SWCLK, TIM14, BOOT,
10
                                                USART1, CEC, IR_OUT, SPI2, TS, TIM3,
11
                                                USART4, CAN, TIM3, USART2, USART3,
12
                                                CRS, TIM16, TIM1 */
13
/**
14
  * @brief  AF 1 selection
15
  */
16
#define GPIO_AF_1            ((uint8_t)0x01) /* USART2, CEC, TIM3, USART1, IR,
17
                                                EVENTOUT, I2C1, I2C2, TIM15, SPI2,
18
                                                USART3, TS, SPI1 */
19
/**
20
  * @brief  AF 2 selection
21
  */
22
#define GPIO_AF_2            ((uint8_t)0x02) /* TIM2, TIM1, EVENTOUT, TIM16, TIM17,
23
                                                USB */
24
/**
25
  * @brief  AF 3 selection
26
  */
27
#define GPIO_AF_3            ((uint8_t)0x03) /* TS, I2C1, TIM15, EVENTOUT */
28
29
/**
30
  * @brief  AF 4 selection
31
  */
32
#define GPIO_AF_4            ((uint8_t)0x04) /* TIM14, USART4, USART3, CRS, CAN,
33
                                                I2C1 */
34
35
/**
36
  * @brief  AF 5 selection
37
  */
38
#define GPIO_AF_5            ((uint8_t)0x05) /* TIM16, TIM17, TIM15, SPI2, I2C2,
39
                                                MCO, I2C1, USB */
40
41
/**
42
  * @brief  AF 6 selection
43
  */
44
#define GPIO_AF_6            ((uint8_t)0x06) /* EVENTOUT */
45
/**
46
  * @brief  AF 7 selection
47
  */
48
#define GPIO_AF_7            ((uint8_t)0x07) /* COMP1 OUT and COMP2 OUT */

Woher weiß ich jetzt welches GPIO_AF_x ich wählen muss um die I2C1 
Schnittstelle zu benutzen?

von Jim M. (turboj)


Lesenswert?

Aus dem Handbuch / Reference Manual. Dort sollte die Pinbelegung der AF 
drin stehen.

von Nico W. (nico_w)


Lesenswert?

Das steht im Datenblatt. Sitz hier braucht am Tablet. Google mal nach 
"stm32f030 datasheet". Seite 33ff.

von Jan H. (janiiix3)


Lesenswert?

Wo genau? Welche Seite?

von Nico W. (nico_w)


Lesenswert?

Jim M. schrieb:
> Aus dem Handbuch / Reference Manual. Dort sollte die Pinbelegung der AF
> drin stehen.

Ne. Im RM steht das nicht. Die Alternate Functions stehen immer im 
Datasheet.

Oh man. Autokorrektur ist manchmal mein Feind.

von Jan H. (janiiix3)


Lesenswert?

Ah. Du meintest Seite 33. Habs gefunden
Danke. Also steht das jeweils immer für jeden IC im Datenblatt?

von Nico W. (nico_w)


Lesenswert?

Jan H. schrieb:
> Also steht das jeweils immer für jeden IC im Datenblatt?

Richtig.

von Oh_man (Gast)


Lesenswert?

Bin damit auch schonmal ordentlich auf die Nase gefallen. Die Kommentare 
zu den AF in der Header hätten sie sich am  besten sparen können. Oder 
direkt aufs datasheet verweisen können.

von Jan H. (janiiix3)


Lesenswert?

Ja das ist verwirrend. Es gibt laut Header vorallem mehrere 
Möglichkeiten.

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.