Всем здрасьте. Вопрос по Keil (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено ISD 01 октября 2004 г. 14:36

Объявляю массив указателей на ф-ии:
code void (*Func[])(void)={&F1,&F2,&F3}
В main происходит вызов: Func[temp]();
Описание ф-ий примерно таково:
void F1(void)
{byte i;
.....
Function(4);
...
}
При компиляции такого варианта выдает
***WARNING L13: RECURSIVE CALL TO SEGMENT
SEGMENT: ?CO?MAIN
CALLER: ?PR?_FUNCTION?MAIN
***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_FUNCTION?MAIN
CALLER1: ?PR?UART?MAIN
CALLER2: ?C_C51STARTUP
если заменить Function(4)на _nop_(), то остается только:
***WARNING L15: MULTIPLE CALL TO SEGMENT
SEGMENT: ?PR?_FUNCTION?MAIN
CALLER1: ?PR?UART?MAIN
CALLER2: ?C_C51STARTUP
а если убрать еще локальную переменную i, линкует без предупреждений
Чет не пойму , что ему не нравится, подскажите, плиз.


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

Ответы



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

E-mail: info@telesys.ru