Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| 8 | 9 | 10 | 11 | 12 | 13 | 14 |
| 15 | 16 | 17 | 18 | 19 | 20 | 21 |
| 22 | 23 | 24 | 25 | 26 | 27 | 28 |
Tags
- nucleo
- AArch64
- UART
- QEMU
- 회로
- yocto
- STM32
- c#
- Visual Studio
- 아두이노
- bare metal
- Arduino
- esp32
- 리눅스
- 디버깅
- vscode
- Visual Studio Code
- Linux
- buildroot
- Debug
- raspberrypi
- WPF
- avr-gcc
- C++
- atmel
- Debugging
- 라즈베리파이
- Raspberry
- AVR
- GPIO
Archives
- Today
- Total
목록printf (2)
임베디드를 좋아하는 조금 특이한 개발자?
#ifdef __cplusplusextern "C" {#endifint __io_putchar(int ch){ // UART3에 ch에 있는 문자 1개를 1ms내 전송 if(HAL_UART_Transmit(&huart3, (uint8_t*)&ch, 1 ,1) != HAL_OK) return 0; //출력 실패 시 0 리턴 return ch; //출력 성공 시 출력한 데이터 리턴}#ifdef __cplusplus}#endif 재정의한 __io_putchar() 함수에 extern"C"를 감싸주면 정상적으로 동작 한다.
Embedded/STM32
2024. 9. 12. 12:26
1. printf()를 사용하고자 하는 이유1.1. 코드 길이 축소 UART 통신은 데이터를 송수신 할때 자주 사용하는 통신으로 디버깅이나 현재 로그를 출력하기 위해 자주 사용된다.기본적으로 STM32에서 UART를 이용하여 데이터를 PC에 전송할 때 HAL_UART_Transmit() 함수를 사용하지만, 필요한 인수가 4개(통신할 UART, 전송할 메세지, 메세지 길이, 타임아웃 시간) 이므로 자주 사용하는 함수임에도 사용이 매우 불편하다. 그러므로, C언어를 사용할 때 부터 자주 사용하였던 printf()함수로 대체하여 기본 HAL_UART_Transmit() 함수보다 편하게 사용하고자 한다. // 기존 UART 통신 함수 사용char* Message = "Hello world";HAL_UART_T..
Embedded/STM32
2024. 9. 11. 11:40