sygnal zegarowy do AFIO w STM32

Mar 19, 2012 4 Replies

Czesc. chcialbym Was poprosic o pomoc w zrozumieniu pewnych ustawien w STM32. Czytam sobie na temat fukcji alternatywnych wyprowadzen i nie moge doszukac sie jakiegos przyzwoitego opisu odnosnie sygnalu zegarowego tzw. funkcji alternatynej i takiego sygnalu RCC_APB2Periph_AFIO? Czy to jest tak ze wlaczenie np TIM3 prowadzi do koniecznosci wlaczenia sygnalu zegarowego do samego Timera oraz wlasnie tej funkcji alternatywnej i czy samo GIPO tez trzeba uaktywnic? W RM008 patrzac na tzw. Clock tree nie widac tego sygnalu RCC_APB2Periph_AFIO, wiec tak na prawde co on taktuje?


W dniu 2012-03-19 08:04, slawek7 pisze:

Ten zegar zasila jakby blok funkcji alternatywnych pinów GPIO :). Sam tego do końca nie rozumiem i tym bardziej nie potrafię wytłumaczyć, ale żeby używać "alternatywnych funkcji pinów" (czyli nie jako GPIO, ale np. wyjście PWM, wejścia zegarowe, Tx, Rx, SDA, SCL, MISO, MOSI itp itd) to powinieneś włączyć ten zegar. Więc odpowiadając na Twoje pytania:

- jeśli chcesz używać timera 3, ale tylko "wewnętrznie" (taktowany z proca, nie wyprowadza żadnego PWMa czy czegoś na zewnątrz, to nie musisz tego włączać.

- jeśli chcesz użyć Timera X, ale chcesz używać jego sygnałów na zewnątrz (CLK, Caputre, PWM...), to MUSUISZ włączyć ten zegar.

- czy musisz włączyć zegar do GPIO, na którym jest ten pin - nie wiem, nie orientuję się (możesz sprawdzić), ale obawiam się, że tak, gdyż konfigurację na funkcję alternatywną wykonujesz w rejestrach GPIO.

Sprawdziłem jak to jest w korsie z EdW i tam niestety nie jest włączany ten układ a wykorzystują zarówno I2S, I2C, PWM i pozostałe bloki peryferyjne, więc o co chodzi?

W dniu 20.03.2012 13:46, slawek7 pisze:

Nie widziałem tego kodu, więc ciężko mi się odnieść. Niewykluczone, że to ich błąd, albo ja się mylę - też sobie głowy za to uciąć nie dam ;). Moim zdaniem powinno to być włączone i zawsze to po prostu włączone. Na początku zabaw z STM32 tego nie włączyłem i coś mi nie działało... . A pytasz bardziej praktycznie, czy teoretycznie?

Aby skorzystac, np. z kontrolera SPI nalezy wlaczy zegar dla wybranego modulu SPI, wyszystkie moduly GPIO na ktorych pinach sa zamapowane porty SPI oraz wlaczyc modul AFIO - zapewnia on przemapowanie (remap alternate functions) pinow SPI oraz prawidlowo skonfigurowac moduly GPIO oraz w przypadku przemapowania AFIO. Najprawdopodobnie przy uzyciu domyslnego mapowania pinow (default alternate functions) nie ma potrzeby wlaczania AFIO jednakze osobiscie tego nie sprawdzalem - projekt wymagal ode mnie uzycia przemapowanych pinow.

Co do timera to w przypadku wykorzystania go jako wewnetrznego "licznika" tj. nie sa dostarczane/wyprowadzane sygnaly wystarczy wlaczyc tylko modul TIM.

pozdrawiam

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required