[an error occurred while processing this directive]
Что же неправильного в распределении? Переменные new_proc old_proc - локальные для main.
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено В.С. 23 августа 2002 г. 08:26
В ответ на: Неприятные грабли в Keil 7.0 отправлено AlexD 23 августа 2002 г. 02:12

Вполне естественно, что вне main(), на их место прописывается что-нибудь еще. Объявите их как глобальные и никто их не тронет.

typedef unsigned char uchar;
typedef signed char schar;
typedef unsigned int uint;
uchar new_proc;
uchar old_proc;
uchar rrr (uchar x)
{
return x;
}
void f (uchar x)
{
uchar tmp ;
tmp = rrr(0);
}
typedef void (*tab_proc_type)(uchar);
tab_proc_type tab_proc[] = {&f,&f,&f};
void main (void)
{
new_proc = 2;
old_proc = 2;
(*tab_proc[old_proc])(0);
while (1);
}

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

Ответы



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

E-mail: info@telesys.ru