타이머
: 몇번의 신호가 들어 올 때 마다, 한번 씩 Interrupt 발생시키 는 장치
TIMER마다 조금 씩 다르다
TIMER 1 : 세부 설정이 가능한 Interrupt ( 데이터 시트 참고 필요
TIMER 2,3,4 : 범용적 사용 가능
오실로스코프를 통해 주기 및 주파수를 확인할 수 있다.
오실로스코프
: 시간의 흐름에 따른 전압차(신호)를 확인하기 위한 계측기
타이머 사용 이유 : 어떤 주기를 갖는 파형
을 만들기 위해
장치마다 정해진 carrer 주파수
가 있다.
ex) 서보모터 50hz
주파수에 따라 플리커 현상
도 발생할 수 있다.
Internel Clock을 사용하여 8[Mhz]를 사용한다.
분주비를 8000으로 하여 1[khz]로 보내게 설정해준다. 주기는 1[ms]가 된다.
Count Period를 1000으로 설정해주었기 때문에, 결과적으로 1000[ms] 즉, 1초 마다 신호가 간다.
1초 주기로 UART에 # 전송 코드
HAL_TIM_PeriodElapsedCallback
를 사용
uint8_t ch = '#';
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
HAL_UART_Transmit(&huart2,&ch,1,100);
}
main 윗 부분
==============================
main 아랫부분
HAL_TIM_Base_Start_IT(&htim2); // 타이머 시작 코드