Subversion Repositories svnkaklik

Compare Revisions

Ignore whitespace Rev 506 → Rev 507

/programy/C/avr/SDcard/xitoa.h
0,0 → 1,97
/*---------------------------------------------------------------------------
Extended itoa, puts and printf (C)ChaN, 2006
 
-----------------------------------------------------------------------------*/
 
#ifndef XITOA
#define XITOA
 
#include <avr/pgmspace.h>
#include "xitoa.S"
 
extern void (*xfunc_out)(char);
 
/* This is a pointer to user defined output function. It must be initialized
before using this modle.
*/
 
void xputc(char chr);
 
/* This is a stub function to forward outputs to user defined output function.
All outputs from this module are output via this function.
*/
 
 
/*-----------------------------------------------------------------------------*/
void xputs(const prog_char *string);
 
/* The string placed in the ROM is forwarded to xputc() directly.
*/
 
 
/*-----------------------------------------------------------------------------*/
void xitoa(long value, char radix, char width);
 
/* Extended itoa().
 
value radix width output
100 10 6 " 100"
100 10 -6 "000100"
100 10 0 "100"
4294967295 10 0 "4294967295"
4294967295 -10 0 "-1"
655360 16 -8 "000A0000"
1024 16 0 "400"
0x55 2 -8 "01010101"
*/
 
 
/*-----------------------------------------------------------------------------*/
void xprintf(const prog_char *format, ...);
 
/* Format string is placed in the ROM. The format flags is similar to printf().
 
%[flag][width][size]type
 
flag
A '0' means filled with '0' when output is shorter than width.
' ' is used in default. This is effective only numeral type.
width
Minimum width in decimal number. This is effective only numeral type.
Default width is zero.
size
A 'l' means the argument is long(32bit). Default is short(16bit).
This is effective only numeral type.
type
'c' : Character, argument is the value
's' : String placed on the RAM, argument is the pointer
'S' : String placed on the ROM, argument is the pointer
'd' : Signed decimal, argument is the value
'u' : Unsigned decimal, argument is the value
'X' : Hex decimal, argument is the value
'b' : Binary, argument is the value
'%' : '%'
 
*/
 
 
/*-----------------------------------------------------------------------------*/
char xatoi(char **str, long *ret);
 
/* Get value of the numeral string.
 
str
Pointer to pointer to source string
 
"0b11001010" binary
"0377" octal
"0xff800" hexdecimal
"1250000" decimal
"-25000" decimal
 
ret
Pointer to return value
*/
 
#endif /* XITOA */