[an error occurred while processing this directive] [an error occurred while processing this directive]
Вопрос по IAR (printf/sprintf)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено mpo 29 января 2002 г. 09:54

Народ,
вот есть глюк либо у меня либо у IAR 2.26N
есть 2 проблемы:
1. почему то неработает sprintf (модель - small, mega103) как для clib так и для ec.
2. не могу сделать printf делал много разных попыток вот одна из них

static void put_one_char (char data, void *dummy)
/*********************************************
data = output character
*dummy = compiler warning on this line is ok
*********************************************/
{
lcdPutch(data);
/* Warning on this line OK (unused 'dummy') */
}

int myprintf(const char *format, ...) /* Our main entry */
{
va_list ap;
int nr_of_chars;

va_start(ap, format); /* Variable argument begin */
nr_of_chars = _formatted_write(format, put_one_char, (void *) 0, ap);
va_end(ap); /* Variable argument end */
return nr_of_chars; /* According to ANSI */
}

....
myprintf("adadad"); //не работает

пробывал так же изменять putchar():
int putchar(int ch)
{

/*
put your own putchar-function here
*/
return lcdPutch(ch);
}

при этом сам putchar работает а printf который его пользует - нет :(((
В дополнении: использую именно полный printf, при этом пользуюсь настройками в workbench. а не из xcl файла (там есть такая галка в настройках).
вообщем помогите, если кто с этим разобрался...


Все заранее спасибо,

Михаил



Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru