반응형
Uart 를 통해 printf() 를 쓰기 위해서는 아래 2가지 중 하나를 쓰면 됩니다.
즉 __weak 로 설정된 __io_putchar 또는 _write 중 하나를 설정해 주면 됩니다.
그리고 printf 를 쓰기 위해서
#include <stdio.h>
도 해 주어야 합니다.
소스 중 적당한데 가져다 놓으셔요..
==============================
1. _write()
#ifdef __cplusplus
extern "C" int _write(int32_t file, uint8_t *ptr, int32_t len) {
#else
int _write(int32_t file, uint8_t *ptr, int32_t len) {
#endif
if( HAL_UART_Transmit(&huart1, ptr, len, len) == HAL_OK ) return len;
else return 0;
}
==============================
2. __io_putchar()
int __io_putchar(int ch) {
if( HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 10) != HAL_OK ) return -1;
return ch;
}
==============================
반응형
'개발 > embed' 카테고리의 다른 글
Nuvoton M483 i2c + hdc1080 (온도 습도 센서) MultyByte RW방식 (0) | 2023.07.27 |
---|---|
i2c (iic) 의 간단한 이해 (0) | 2023.07.25 |
[CubeIDE] stm32 I2C 로 TLC59116 [LED Drv] 와 통신, sample source (0) | 2023.07.13 |
[CubeIDE] stm32 Uart 살리기 LoopBack, sample source (0) | 2023.07.13 |
STM32 UART로 FW 다운로드 (0) | 2023.07.13 |