Crazy-Geeks / STM32-ARGB-DMA

STM32 Library for Addressable LEDs: WS2812(b), WS2811, SK6812, etc. Supports RGB & RGBW LEDs.
MIT License
84 stars 25 forks source link

Работа библиотеки на stm32f407vet #15

Open ShadowPRM opened 1 month ago

ShadowPRM commented 1 month ago

В процах серии f4xx (проверял конкретно на f407vet, но скорее всего и на других этой серии так же), тактирование таймеров от от шин APB, отличается о тех что указаны в библиотеке. В коде использую таймер 1 с DMA2 CH2.

Для себя сделал следующую коррекцию файла ARGB.c : /// Timer's RCC Bus // #if TIM_NUM == 1 || (TIM_NUM >= 8 && TIM_NUM <= 11) // #define APB1 // #else // #define APB2 // #endif

/// Timer's RCC Bus (для stm32f407VET) //отредактировал ShadowPRM

if (TIM_NUM >= 2 && TIM_NUM <= 7) || (TIM_NUM >= 12 && TIM_NUM <= 14)

define APB1

else

define APB2

endif

Первоисточник: RM0090 Reference manual STM32F405/415, STM32F407/417, STM32F427/437 and STM32F429/439 advanced Arm®-based 32-bit MCUs (с.180). Дополнительная информация: https://microsin.net/programming/arm/stm32-timers-clocked-from-internal-clock-frequency-apb1-i-apb2.html

Можно прошерстить разные серии процов и написать опцию в ARGB.c (выбор серии проца).