본문 바로가기

STM32/touchGFX_STM32

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

728x90

* 목표 : 타이머를 사용하여 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 */

728x90

'STM32 > touchGFX_STM32' 카테고리의 다른 글

[stm32F746] UART + LED control  (0) 2020.09.01
[stm32F746] UART Echo 프로그램  (0) 2020.09.01
[stm32F746] UART 송신  (0) 2020.09.01
[stm32F746] 3. 외부인터럽트 + 타이머  (0) 2020.09.01
[stm32F746] 2. EXTI (외부인터럽트)  (0) 2020.08.31