Top.Mail.Ru
Уведомления
Очистить все

[Решено] Тахометр на STM32F103

(@knf18)
New member

Хочу сделать тахометр на 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
(@knf18)
New member

Что то теги совсем не работают(

ОтветитьЦитата
Создатель темы Размещено : 12.10.2018 01:00
Поделиться: