[an error occurred while processing this directive]
Вопрос снят. На трезвую голову: вроде понял в чем причина. (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено _vladimir 16 октября 2005 г. 13:32
В ответ на: а вчес собственно проблемы ? отправлено DАSM 16 октября 2005 г. 12:33

#include


__flash char fstr1[] = "123";
__flash char fstr2[] = "456";
char* str1 = "789";
char* str2 = "1011";


void Sendstr ( char __generic* params, ...)
{
va_list va;
va_start(va, params);

char __generic* p = params; // тут я терял первый указатель на
//1-й параметр !!!!
while (*p) {p++; }

p = va_arg(va, char __generic*); // а шел сюда
while (*p) {p++; }

//p = va_arg(va, char __generic*); // а потом делал вот так - это в
//мусор
//while (*p) {p++; }

va_end(va);
}


void main ()
{
Sendstr(fstr1, (char __generic*)fstr2); // не было такого
//преобразования типов -
//поэтому второй параметр
Sendstr(str1, (char __generic*)str2); // запихивался в стек не
//как __generic(3 байта), а как
//обычнуй указатель(2 байта)
Sendstr(fstr1, (char __generic*)str1);
Sendstr(str1, (char __generic*)fstr1);
}


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

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


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

E-mail: info@telesys.ru