일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 에버온
- 충전기
- 급속충전기
- STM32
- 파이썬
- 플라스크
- 전기차충전기
- thread
- 완속충전기
- IOT Core
- 보안
- Android
- OCPP
- 서버리스
- dynamodb
- 펌웨어
- 안드로이드
- YMODEM
- lambda
- AWS
- 전기차
- homeassistant
- 홈어시스턴트
- everon
- 디자인패턴
- flask
- esp8266
- 전기차충전
- 라즈베리파이
- raspberry
Archives
- Today
- Total
Louie NRT Story
[펌웨어] printf 사용법 본문
반응형
작성일: 22년 3월 7일
PS. 개발하면서 사용하고 있는 Log를 정리함.
같이 근무하고 있는 박OO 연구원님과 함께함.
Index
1. 코드 작성
2. printf 코드 보기
3. __io_putchar() 함수 구현하기
4. Logger를 전처리
5. Logger 출력 결과
1. 코드 작성
- STM32CudeIDE에서 main.c 파일 안에 1초마다 printf 를 찍고자 함.
※ 해당 블로그에서는 UART 설정에 대해서는 생략함
2. printf 코드 보기
- printf 함수를 호출하게 되면 컴파일러에 의해서 _write()함수를 호출하게 됨
- _write()함수는 weak 형태로 구현은 되어 있음
- 필자는 _write() 함수를 그대로 사용하면서 __io_putchar() 함수를 구현하기로 함
3. __io_putchar() 함수 구현하기
- 필자는 UART5를 사용했으며 printf("Hello World\n")에서 한 글자씩 UART포트를 통해 Tx 하게 됨
- 출력할때 깔끔하게 보기 위해 "Hello World\r\n"을 하게 되지만 계속 반복 되므로 '\n' 들어오면 자동으로 '\r'를 출력함
4. Logger를 전처리
- 개발하다보면 Log를 찍는것은 기본임
- 아래와 같이 전처리를 통하여 File, Line, Func, Time 등을 찍어서 확인함
5. Logger 출력 결과
- 현재의 파일과 라인, 함수 명, 시간이 나오는 것을 확인할 수 있음
Referece:
반응형
'전기차충전기' 카테고리의 다른 글
[전기안전표준] 전기차 직류(DC) 충전기(개발자편) - Todo (0) | 2022.03.12 |
---|---|
[펌웨어] RealTime 데이터 구조 (0) | 2022.03.08 |
[펌웨어] FreeRTOS - MessageQueue (0) | 2022.03.07 |
[안드로이드] WorkManager (0) | 2022.01.18 |
[안드로이드] Okhttp (0) | 2022.01.12 |
Comments