STM32F0 TIM 설정하고 코드를 작성하는 예제입니다.
STM32F091 TIM 목차
HAL_TIM_Base_Start_IT()
타이머에서 인터럽트를 동작시키려면 위 함수를 시작해야한다.
입력인자로 동작시킬 타이머를 입력해준다.
while문 안에 코드 한줄 추가하고, 타이머를 적어준다.
HAL_TIM_PeriodElapsedCallback()
인터럽트는 while문에서 동작하는 것이 아니므로, 별도의 콜백함수를 사용해야한다.
while문 안에 코드가 동작하고 있다가, 인터럽트가 걸리면 callback 함수 안이 구동되었다가 다시 while문으로 돌아가는 식이다.
그래서 위처럼 함수를 적어주고 토글을 해주었다.
if문을 추가한 이유는 간단하다.
타이머가 한두개가 아니고 엄청 많다.
타이머의 종류에 상관 없이 인터럽트가 걸리면 무조건 저 콜백함수가 호출된다.
그 중에서 타이머1에 대해서만 LED가 Toggle 될 수 있게 코드를 작성한 것이다.
결과는 아래와 같다.