Уведомления
Очистить все
Хочу сделать тахометр на STM32F103 и датчике холла 3144.
Настроил таймер 3 на режим зазвата:

Соответственно вывод с датчика холла подключил к выводу PA6.
Перед основным циклом запускаю таймер 3 и разрешаю захват:
HAL_TIM_Base_Start_IT(&htim3); HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_1);
В main добавил коллбэк:
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
if( htim->Instance == TIM3 )
{
if( htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1 )
{
__HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_UPDATE);
period_width = HAL_TIM_ReadCapturedValue(htim, TIM_CHANNEL_1); //период сигнала
}
}
}
Значение таймера в
period_width
Считывается.
Возникает несколько вопросов:
1)
__HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_UPDATE);
время таймера сбрасывается или мне его нужно сбрасывать?
2) По какой формуле вычислять обороты?
Создатель темы Размещено : 12.10.2018 00:56
Что то теги совсем не работают(
Создатель темы Размещено : 12.10.2018 01:00

