diff --git a/Inc/general_tim.h b/Inc/general_tim.h index 919d2f9..0bcd7af 100644 --- a/Inc/general_tim.h +++ b/Inc/general_tim.h @@ -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) с принудительным обновлением теневого регистра.