|
MCU
|
STM32F103(ST)
|
|
IDE
|
Atollic(TrueSTUDIO), STM32CubeMX
|
|
목표
|
printf()를 이용하여 UART로 문자열 출력
|
- 상태 모니터링이나 디버깅 메시지를 위한 printf() 사용
- PC 프로그램 작성시 printf()는 모니터 출력
- MCU에서는 UART를 통하여 printf() 사용
1. STM32CubeMX : UART 설정
- 'Pinout & Configuration' Tab으로 이동
1) Connectivity 선택
2) USART1 항목 선택
- Mode : Asynchronous, Synchronous 등
- Hardware Flow Control : Disable
- PA9(USART1_TX), PA10(USART1_RX) 자동 할당(녹색 표시)

- Parameter Settings 확인
1) Baud Rate : 115200 Bits/s
2) Word Length : 8 Bits
3) Parity : None
4) Stop Bits : 1

2. ATOLLIC : main.c 수정
- printf() : 사용 하여 메시지 출력
/* USER CODE BEGIN 2 */
printf("STM32F103 printf() TEST.\r\n");
/* USER CODE END 2 */
/* Infinite loop */
/* USER CODE BEGIN WHILE */
while (1)
- 아무것도 출력 되지 않음
- 표준 출력 변경 : 표준 출력이 Terminal I/O에 연결 되어 있기 때문에 아래를 추가하여 표준 출력을 변경 해야 함
/* Private user code ---------------------------------------------------------*/
/* USER CODE BEGIN 0 */
int _write(int FD, char *buffer, int len)
{
HAL_UART_Transmit (&huart1, (uint8_t*)buffer, len, 500);
return len;
}
/* USER CODE END 0 */
'ST > STM32F103C8' 카테고리의 다른 글
| STM32F103C8 - ADC(Interrupt) (0) | 2025.08.08 |
|---|---|
| STM32F103C8 - ADC(Polling) (1) | 2025.08.08 |
| STM32F103C8 - UART(DMA) (3) | 2025.08.08 |
| STM32F103C8 - UART(Interrupt) (1) | 2025.08.08 |
| STM32F103C8 - UART(Polling) (1) | 2025.08.08 |



















