|
Эта фигня (ссылка на неё) находится в файле DSP28_CpuTimers.c в сторчке номер 104. Здесь происходит фатальный глюк: компилятор не умеет перемножать :) поэтому строчку temp = (long) (Freq * Period); он заменяет вызовом левой процедуры #FS$$MPY - которая делает это умножение. Надо тебе изменить этот файл, в первом приближении умножение посчитать на калькуляторе и вставить туда число :). Как правило, используется для умножения библиотека IQMath, функция _IQmpy - умножение беззнаковых. Вообщем для математики следует установить IQMath, sprc087.zip. Обязательно сохрани оригинальный DSP28_CpuTimers.c, потом меняй его... далее... могло случиться так, что ругается линкёр, тогда нужно просто этот файл (DSP28_CpuTimers.c) вставить в проект и перекомпилировать его, если он ругнётся на другие ссылки, то нужно подключить остальные сишные файлы из C:\tidcs\c28\comms_drv\vi2cs_io\src, и прописать путь к инклудам: C:\tidcs\c28\comms_drv\vi2cs_io\include в конфигурации проекта. Возможно они компилили каким-то старым компилером или нахаляву. #FS$$TOUL - означает по задумке вызов функции, преобразующий к целому числу (TO Unsigned Long). Вообщем попробуй перекомпилить этот файл, вставленный в проект вместе с его друзьями, если не получится - подставляй число.