ben schrieb:
> Wenn ich nun Versuche PA8 als externe Clock zu verwenden, wird der DMA
> nicht mehr ausgelöst
>
> Pin initialisierung
>
1 | > RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
|
2 | >
|
3 | > GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
|
4 | > GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;
|
5 | > GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_DOWN;
|
6 | > GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
|
7 | > GPIO_Init(GPIOA, &GPIO_InitStructure);
|
8 | >
|
9 | > GPIO_PinAFConfig(GPIOA,GPIO_Pin_8,GPIO_AF_2);
|
10 | >
|
Schau Dir evtl. die letzte Zeile einmal genauer an und vergleiche Deine
Parameter mit der Funktionsbeschreibung von "GPIO_PinAFConfig(...)" in
"stm32f0xx_gpio.c" - sprich mit dem, was oberhalb der Funktion als
Kommentar steht.
Lt. dieser Beschreibung sollte es also eher wie folgt lauten:
1 | GPIO_PinAFConfig(GPIOA, GPIO_PinSource8, GPIO_AF_2);
|
Jetzt hätte es per Zufall vielleicht noch passen können, wenn GPIO_Pin_8
und GPIO_PinSource8 dieselbe Zahl referenziert hätten.
Leider ist das nicht der Fall:
1 | #define GPIO_Pin_8 ((uint16_t)0x0100)
|
2 | #define GPIO_PinSource8 ((uint8_t)0x08)
|
Ich hoffe, das war die Nadel im Heuhaufen ...
(ich kanns selber leider nicht testen, weil ich einen STM32F0xx habe)
Viele Grüße
Igel1