임베디드/touchGFX_STM32

[stm32F746] 100ms마다 USART1 1byte tx test

jaewoo93 2020. 9. 1. 14:14

* 목표 : 타이머를 사용하여 100ms마다 UART1 1byte data(0x1) 송신

 

1. 코드 작성(main.c)

 

/* USER CODE BEGIN PV */
volatile int gTimerCnt;   // Count를 위한 변수
/* USER CODE END PV */

 

-----------------------------------------------------------------

- 타이머 시작 함수 호출

/* USER CODE BEGIN 2 */
  if(HAL_TIM_Base_Start_IT(&htim3) != HAL_OK)
  {
  Error_Handler();
  }

/* USER CODE END 2 */

 

--------------------------------------------------------------------

- 타이머 콜백함수 : 1ms를 100을 카운트하여 100ms마다 0x1 데이터 송신

 

/* USER CODE BEGIN 4 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
gTimerCnt++;
if(gTimerCnt == 100)
{
gTimerCnt = 0;
USART1->TDR = 0x1;   // 데이터 송신
}
}
/* USER CODE END 4 */