[STM32]stm32f103에서 1초 타이머 만들기

2021년 11월 04일 by 진아사랑해

    [STM32]stm32f103에서 1초 타이머 만들기 목차
반응형

Timer 4를 사용하여 1초 타이머를 만들었다

위 그림 처럼 CubeMX에서 설정을 한 후에

main.c의 초기화 이후에 나오는 "USER CODE BEGIN "에 타이머 4를 가동 시키는 명령어를 입력한다

CubeMX에서 타이머 4는 인터럽트를 사용하도록 설정되어 있다

 

아래의 코드는 Timer 인터럽트가 발생하면 수행되는 모듈로 어디에나 선언되어 있으면 된다

나같은 경우는 main.c에 추가하였다

 

/* USER CODE BEGIN 4 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
  if (htim->Instance == htim4.Instance) 
  {
    HAL_GPIO_TogglePin(TEST_OUT_GPIO_Port, TEST_OUT_Pin);
  }

}

 

타이머를 하나만 사용하면 " if (htim->Instance == htim4.Instance) " 이 문장은 사용할 필요가 없다

그러나 나같은 경우는 Timer3, 4를 사용함으로 
Timer 4에서 인터럽트가 발생하여야 GPIO Pin을 토글하게 동작시켰다

 

즐거운 시간되세요

 

 

반응형