# MyLibs: Serial trace defines

Loading...
Searching...
No Matches
Serial trace defines
My Libs » General Defines » Trace defines

Дефайны для работы с serial трассировкой (SWO, RTT) More...

Collaboration diagram for Serial trace defines:

## Macros

#define | my_printf(...)
| Универсальный макрос для вывода трассировки
#define | log_printf(TAG, fmt, ...)
| Макрос логирования с поддержкой уровней LOG_LEVEL.

## Detailed Description

Дефайны для работы с serial трассировкой (SWO, RTT)

Определяется дефайн my_printf() и log_printf() для работы с serial трассировкой:

- для RTT это будет вызов функции SEGGER_RTT_printf(), с подключением библиотеки SEGGER_RTT.h

- для SWO это будет просто printf()

  Но библиотеку STDOUT надо подключить самостоятельно:

          Manage Run-Time Environment -> Compiler -> I/O -> STDOUT

  Для SWO также надо включить трассировку:

          Options For Target -> Debug -> Debugger Settings

  В вкладке Debug:

  - Port = SW В вкладке Trace:
  - Указать Core Clock
  - Выставить Trace Port = SWO
  - ITM - выбрать нужный порт (для Keil нулевой порт)
- Если трассировка SERIAL_TRACE_ENABLE отключена, то все дефайны определяются как 'ничего' и на производительность кода не влияют

## Macro Definition Documentation

## my_printf

#define my_printf | ( |  | ... | ) |

Value:
SEGGER_RTT_printf(0, __VA_ARGS__)

Универсальный макрос для вывода трассировки

Варианты реализации:

- RTT_TRACE_ENABLE SEGGER_RTT_printf(0, ...)
- SWO_TRACE_ENABLE - printf(...)
- NO_TRACE - пустой макрос

Definition at line 67 of file trace.h.

## log_printf

#define log_printf | ( |  | TAG,
|  |  | fmt,
|  |  | ... )

Value:
my_printf("\n[%lu] [%s] " fmt, \
(unsigned long)uwTick, TAG, ##__VA_ARGS__)
my_printf
#define my_printf(...)
Универсальный макрос для вывода трассировки
Definition trace.h:67

Макрос логирования с поддержкой уровней LOG_LEVEL.

Parameters

  TAG | Тэг лога
  fmt,... | Форматируемая строка

Варианты реализации:

- LOG_LEVEL == 0 - логирование отключено (макрос пустой)
- LOG_LEVEL == 1 - выводится время и TAG
- LOG_LEVEL >= 2 - выводится время, TAG, имя файла и номер строки

Definition at line 92 of file trace.h.