[an error occurred while processing this directive]
[an error occurred while processing this directive]
|
Эта ошибка говорит о том, что у Вас не хватает одного байта ОЗУ (памяти данных) в банке 0 для построения кода (линковки). ОЗУ из банка 0 используется для локальных переменных, а Ваша функция как раз содержит как минимум одну локальную переменную типа unsigned char ( а может "внутри" она использует еще какие-то локальные переменные). А если убрать вызов этой функции, то дополнительные переменные уже не требуется и данные "влазят впритык" в имеющееся ОЗУ. Выход из этой ситуации прост - нужно освободить хотя бы один (а может и несколько) байт из банка 0. Для этого "перебросьте" какую-либо из своих глобальных переменных в банк 1 (для этого используйте директиву bank1). Если Вы объявляете переменную "int i;" то она по умолчанию расположится в банке 0 (который используется и для локальных переменных), а если объявить как "bank1 int i;", то она расположится в банке 1.
E-mail: info@telesys.ru