아!두이노, 라즈베리, 코딩 노가다
Uart 시리얼 통신 #3 본문
반응형
우선 시리얼 통신으로 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 |