#include "SEGGER_RTT.h"
#include "SEGGER_RTT_Conf.h"
#include <stdlib.h>
#include <stdarg.h>
Go to the source code of this file.
|
static void | _StoreChar (SEGGER_RTT_PRINTF_DESC *p, char c) |
|
static void | _PrintUnsigned (SEGGER_RTT_PRINTF_DESC *pBufferDesc, unsigned v, unsigned Base, unsigned NumDigits, unsigned FieldWidth, unsigned FormatFlags) |
|
static void | _PrintInt (SEGGER_RTT_PRINTF_DESC *pBufferDesc, int v, unsigned Base, unsigned NumDigits, unsigned FieldWidth, unsigned FormatFlags) |
|
int | SEGGER_RTT_vprintf (unsigned BufferIndex, const char *sFormat, va_list *pParamList) |
|
int | SEGGER_RTT_printf (unsigned BufferIndex, const char *sFormat,...) |
|
◆ FORMAT_FLAG_ALTERNATE
#define FORMAT_FLAG_ALTERNATE (1u << 3) |
◆ FORMAT_FLAG_LEFT_JUSTIFY
#define FORMAT_FLAG_LEFT_JUSTIFY (1u << 0) |
◆ FORMAT_FLAG_PAD_ZERO
#define FORMAT_FLAG_PAD_ZERO (1u << 1) |
◆ FORMAT_FLAG_PRINT_SIGN
#define FORMAT_FLAG_PRINT_SIGN (1u << 2) |
◆ _PrintInt()
static void _PrintInt |
( |
SEGGER_RTT_PRINTF_DESC * |
pBufferDesc, |
|
|
int |
v, |
|
|
unsigned |
Base, |
|
|
unsigned |
NumDigits, |
|
|
unsigned |
FieldWidth, |
|
|
unsigned |
FormatFlags |
|
) |
| |
|
static |
Definition at line 222 of file SEGGER_RTT_printf.c.
226 Number = (v < 0) ? -v : v;
232 while (Number >= (
int)Base) {
233 Number = (Number / (int)Base);
236 if (NumDigits > Width) {
247 if (FieldWidth != 0u) {
248 while ((FieldWidth != 0u) && (Width < FieldWidth)) {
274 if (FieldWidth != 0u) {
275 while ((FieldWidth != 0u) && (Width < FieldWidth)) {
288 _PrintUnsigned(pBufferDesc, (
unsigned)v, Base, NumDigits, FieldWidth, FormatFlags);
◆ _PrintUnsigned()
static void _PrintUnsigned |
( |
SEGGER_RTT_PRINTF_DESC * |
pBufferDesc, |
|
|
unsigned |
v, |
|
|
unsigned |
Base, |
|
|
unsigned |
NumDigits, |
|
|
unsigned |
FieldWidth, |
|
|
unsigned |
FormatFlags |
|
) |
| |
|
static |
Definition at line 132 of file SEGGER_RTT_printf.c.
133 static const char _aV2C[16] = {
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'A',
'B',
'C',
'D',
'E',
'F' };
146 while (Number >= Base) {
147 Number = (Number / Base);
150 if (NumDigits > Width) {
157 if (FieldWidth != 0u) {
163 while ((FieldWidth != 0u) && (Width < FieldWidth)) {
179 if (NumDigits > 1u) {
205 if (FieldWidth != 0u) {
206 while ((FieldWidth != 0u) && (Width < FieldWidth)) {
◆ _StoreChar()
◆ SEGGER_RTT_printf()
int SEGGER_RTT_printf |
( |
unsigned |
BufferIndex, |
|
|
const char * |
sFormat, |
|
|
|
... |
|
) |
| |
◆ SEGGER_RTT_vprintf()
int SEGGER_RTT_vprintf |
( |
unsigned |
BufferIndex, |
|
|
const char * |
sFormat, |
|
|
va_list * |
pParamList |
|
) |
| |
Definition at line 317 of file SEGGER_RTT_printf.c.
322 unsigned FormatFlags;
351 default: v = 0;
break;
360 if ((c <
'0') || (c >
'9')) {
364 FieldWidth = (FieldWidth * 10u) + ((
unsigned)c -
'0');
376 if ((c <
'0') || (c >
'9')) {
380 NumDigits = NumDigits * 10u + ((unsigned)c -
'0');
388 if ((c ==
'l') || (c ==
'h')) {
401 v = va_arg(*pParamList,
int);
407 v = va_arg(*pParamList,
int);
408 _PrintInt(&BufferDesc, v, 10u, NumDigits, FieldWidth, FormatFlags);
411 v = va_arg(*pParamList,
int);
412 _PrintUnsigned(&BufferDesc, (
unsigned)v, 10u, NumDigits, FieldWidth, FormatFlags);
416 v = va_arg(*pParamList,
int);
417 _PrintUnsigned(&BufferDesc, (
unsigned)v, 16u, NumDigits, FieldWidth, FormatFlags);
421 const char * s = va_arg(*pParamList,
const char *);
433 v = va_arg(*pParamList,
int);
452 if (BufferDesc.
Cnt != 0u) {