티스토리 뷰

STM32Fxx

STM32F429 - TIM Counter (CUBE MX)

라이다 2018. 9. 10. 23:17
반응형

5. TIM Counter

           -이번 장은 외부에서 입력된 Pulse를 카운터 하는 방법을 배운다

 

회로도

이번 장에서는 TIM10이 아닌 TIM1을 쓸 것이다 TIM1 pulse counter가 있기 때문이다 TIM1 USER버튼에 의한 pulse를 입력 받아야 하므로 PA0-PE7을 점퍼 선으로 연결한다.



CUBE MX 설정

Clcok SourceETR2(External Trigger)로 설정한다 외부 펄스신호를 클럭소스로 사용하겠다는 뜻이다.

PG13핀에 달려 있는 LED로 인터럽트 테스트를 할 예정이니 PG13output 설정 해준다.




Prescaler(PSC – 16 bits value): 1로 설정하여 클럭이 2번 들어왔을 시 카운터가 1씩 증가하게 된다

Counter Period: 1로 설정하여 2번의 카운터가 들어왔을 시 초기화 되도록 한다(현재 인터럽트를 설정하였으니 총 4번의 펄스가 들어오면 LED가 껏다 켜진다)

(나머지 기능들은 RM0090 데이터 시트에서 검색하면 자세한 설명이 나온다 현재 중요하지 않은 기능이니 생략한다)

 

 

Source Code

/* USER CODE BEGIN 2 */

  HAL_TIM_Base_Start_IT(&htim1);

/* USER CODE END 2 */

.

.

/* USER CODE BEGIN 4 */

void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)

{

  HAL_GPIO_TogglePin(GPIOG,GPIO_PIN_13);

}

/* USER CODE END 4 */



실행 결과


USER버튼을 Prescaler(1+1) * Counter(1+1) = 4번 누를 때마다 PG13LEDOn Off 된다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함