본문 바로가기

공부/STM32F1

15.[stm32f103][hal] 타이머 (6) _ Timer PWM One Pulse Mode

728x90
반응형

1. STM32Cube 설정

 

원펄스 모드 에 대해서 알아볼까 합니다.

원펄스 모드 말 그대로 한번만 펄스를 준다는 말이지요~

소스랑 결과를 같이 보시면 이해가 빨리 될거 같습니다. 

 

 

 

 

TIM8 설정 부분에서 Repetition 부분이 새로 생긴게 보일실겁니다.

이부분이 몇번의 펄스를 주는가 입니다. 

 

2. 소스

int main(void)
{
 
  HAL_Init();
 
  SystemClock_Config();
 
  MX_GPIO_Init();
  MX_TIM8_Init();
 
  /* USER CODE BEGIN 2 */
  HAL_TIM_PWM_Start(&htim8, TIM_CHANNEL_1);
  /* USER CODE END 2 */
 
  while (1)
  {
    HAL_TIM_PWM_Start(&htim8, TIM_CHANNEL_1);
      HAL_Delay(500);
 
  }
  /* USER CODE END 3 */
 
}
 

 

3. 결과

 

 

 

3. 응용소스

위에서 타이머 2도 같이 설정을 했습니다.

타이머2를 연동해서 원펄스 모드를 이용해봅시다. 

 

main.c

int main(void)
{
  HAL_Init();
 
  SystemClock_Config();
 
  MX_GPIO_Init();
  MX_TIM8_Init();
  MX_TIM2_Init();
 
  /* USER CODE BEGIN 2 */
  HAL_TIM_OC_Start_IT(&htim2,TIM_CHANNEL_1);
  /* USER CODE END 2 */
 
  while (1)
  {
 
 
  }
 
}

stm32f1xx_it.c

void TIM2_IRQHandler(void)
{
  /* USER CODE BEGIN TIM2_IRQn 0 */
  HAL_TIM_PWM_Start(&htim8, TIM_CHANNEL_1);
  /* USER CODE END TIM2_IRQn 0 */
  HAL_TIM_IRQHandler(&htim2);
  /* USER CODE BEGIN TIM2_IRQn 1 */
 
  /* USER CODE END TIM2_IRQn 1 */
}

 

 

728x90
반응형