улучшение макросов для тиков

This commit is contained in:
Razvalyaev 2025-11-28 18:18:19 +03:00
parent 11c00f1e0c
commit c0733a1d31

View File

@ -192,7 +192,7 @@ typedef struct // struct with variables for encoder
* @return Количество тиков для достижения заданной частоты.
* @details Расчет: (1 000 000 * частотааймера) / желаемаяастота.
*/
#define TIM_FreqToTick(_freq_, _timfreqMHz_) ((1000000*(_timfreqMHz_))/(_freq_))
#define TIM_FreqToTick(_freq_, _timfreqMHz_) (((1000000*(_timfreqMHz_))/(_freq_))-1)
/**
* @brief Преобразование миллисекунд в количество тиков таймера.
@ -201,7 +201,7 @@ typedef struct // struct with variables for encoder
* @return Количество тиков для заданного времени.
* @details Расчет: (мс * 1000 * частотааймера).
*/
#define TIM_MillisToTick(_ms_, _timfreqMHz_) ((uint32_t)((_ms_) * 1000UL * (_timfreqMHz_)))
#define TIM_MillisToTick(_ms_, _timfreqMHz_) (((uint32_t)((_ms_) * 1000UL * (_timfreqMHz_)))-1)
/**
* @brief Преобразование микросекунд в количество тиков таймера.
@ -210,7 +210,7 @@ typedef struct // struct with variables for encoder
* @return Количество тиков для заданного времени.
* @details Расчет: (мкс * частотааймера).
*/
#define TIM_MicrosToTick(_us_, _timfreqMHz_) ((uint32_t)((_us_) * (_timfreqMHz_)))
#define TIM_MicrosToTick(_us_, _timfreqMHz_) (((uint32_t)((_us_) * (_timfreqMHz_)))-1)
/**
* @brief Установка автоперезагрузки (ARR) с принудительным обновлением теневого регистра.