STM32 Timer Interrupts (Dev Note)

/* USER CODE BEGIN 0 */
void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim)
{
	if(htim->Instance == TIM3)/// Check Is Timer 3 had made interrupt
	{
	    if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_1) // RISING from LOW to HIGH
	    {
	       Value1 = HAL_TIM_ReadCapturedValue(&htim3, TIM_CHANNEL_1); // Read the timer's value
	       __HAL_TIM_SET_COUNTER(&htim3, 0x0000); // Reset timer's counter
	    } else
	    if(htim->Channel == HAL_TIM_ACTIVE_CHANNEL_2) // FALLING from HIGH to LOW
	    {
	       Value2 = HAL_TIM_ReadCapturedValue(&htim3, TIM_CHANNEL_2); // Read the timer's value
	    }
	}
 
}
...
int main(void)
{
...
  /* USER CODE BEGIN 2 */
  HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_1);
  HAL_TIM_IC_Start_IT(&htim3, TIM_CHANNEL_2);
...



1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)

Загрузка...

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Optionally add an image (JPEG only)