아!두이노, 라즈베리, 코딩 노가다

Uart 시리얼 통신 #3 본문

STM32

Uart 시리얼 통신 #3

아이스뭐라카노 2025. 12. 25. 16:00
반응형

우선 시리얼 통신으로 stm32에서 보내는것 부터 하자.

PC는 받는것이 될것이다.

PC에서도 새팅 할 것이 기본적으로 필요하니 잘 알아두자.

물론 프로그램마다 약간이 다를수 있는데 기본적인것은 동일 하다.

 

기본적인 설정값은 이렇게 설정되니, 참고 하기 바란다. 

본인도 기본적인 설정값에서 변경한것은 없다.

static void MX_USART2_UART_Init(void)
{

  /* USER CODE BEGIN USART2_Init 0 */

  /* USER CODE END USART2_Init 0 */

  /* USER CODE BEGIN USART2_Init 1 */

  /* USER CODE END USART2_Init 1 */
  huart2.Instance = USART2;
  huart2.Init.BaudRate = 115200;
  huart2.Init.WordLength = UART_WORDLENGTH_8B;
  huart2.Init.StopBits = UART_STOPBITS_1;
  huart2.Init.Parity = UART_PARITY_NONE;
  huart2.Init.Mode = UART_MODE_TX_RX;
  huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
  huart2.Init.OverSampling = UART_OVERSAMPLING_16;
  if (HAL_UART_Init(&huart2) != HAL_OK)
  {
    Error_Handler();
  }
  /* USER CODE BEGIN USART2_Init 2 */

  /* USER CODE END USART2_Init 2 */

}

 

 

아래 함수는 보내는것이다. 

특별할것은 없지만, 보내는 함수는 잘 알아 두자 .

그리고  huart2 변수도 잘 알아 두자.

void StartDefaultTask(void *argument)
{
  /* USER CODE BEGIN 5 */
  /* Infinite loop */
  static char text[1024];

  for(;;)
  {
	  sprintf((char*)text, "send message > %s\r\n", (char*)"test Message");
	  HAL_UART_Transmit(&huart2, (uint8_t*)text, strlen(text), 1024);
	  osDelay(1000);
  }
  /* USER CODE END 5 */
}

 

 

다음은 PC쪽 설정이다.

본인은 테라텀이나 PUTTY를 주로 사용한다.

 

 

 

 

'STM32' 카테고리의 다른 글

Uart 시리얼 통신 #5  (0) 2025.12.28
Uart 시리얼 통신 #4  (0) 2025.12.26
Uart 시리얼 통신 #2  (0) 2025.12.23
Uart 시리얼 통신 #1  (0) 2025.12.23
LED On/Off #8  (0) 2025.12.21