Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: project от Chan(c)
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
kostik2
CODE
/*---------------------------------------------------------------------------
Extended itoa, puts and printf ©ChaN, 2006

-----------------------------------------------------------------------------*/

#ifndef XITOA
#define XITOA

#include <macros.h>
#include <string.h>

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 */


!!!!!!!!!!!!!!Компилятор ругается на строчку void xputs(const prog_char *string); ?
что не так я делаю. программирую в ICC7.
yod
скорее всего компилятор ругается на "const prog_char*" -это спец тип - константный указатель на строку во флеш-памяти
так что где-нить в документации погляди как правильно прописать такой тип и все будет "ок"
demiurg_spb
Код
typedef  char __flash prog_char;
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.