Home » Post » STM » STM32F0 TIM (타이머) 인터럽트 코드 작성하기

STM32F0 TIM (타이머) 인터럽트 코드 작성하기

STM32F0 TIM 설정하고 코드를 작성하는 예제입니다.

STM32F091 TIM 목차

  1. STM32F0XX TIM(타이머) 인터럽트 CUBEMX로 초기설정하기
  2. STM32F0XX TIM(타이머) 인터럽트 코드 작성하기 (현재 포스팅)

 

HAL_TIM_Base_Start_IT()

타이머에서 인터럽트를 동작시키려면 위 함수를 시작해야한다.

입력인자로 동작시킬 타이머를 입력해준다.

 

while문 안에 코드 한줄 추가하고, 타이머를 적어준다.

 

HAL_TIM_PeriodElapsedCallback()

인터럽트는 while문에서 동작하는 것이 아니므로, 별도의 콜백함수를 사용해야한다.

while문 안에 코드가 동작하고 있다가, 인터럽트가 걸리면 callback 함수 안이 구동되었다가 다시 while문으로 돌아가는 식이다.

 

그래서 위처럼 함수를 적어주고 토글을 해주었다.

if문을 추가한 이유는 간단하다.

타이머가 한두개가 아니고 엄청 많다.

타이머의 종류에 상관 없이 인터럽트가 걸리면 무조건 저 콜백함수가 호출된다.

그 중에서 타이머1에 대해서만 LED가 Toggle 될 수 있게 코드를 작성한 것이다.

 

결과는 아래와 같다.

 

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.