В этом примере показано, как использовать блок C Caller, чтобы вызвать наследие C функции, которые реализуют N-мерный поиск по таблице.
В этом примере наследие C функции заданы в lookupTable.h, и реализованный в directLookupTableND.c. Определения типа, используемые в этом примере, могут быть найдены в your_types.h.
Чтобы позволить вызвать функции C от Функционального блока C, в модели, задают заголовочный файл и исходный файл в Параметрах конфигурации> Целевая панель Симуляции. Прототип устаревшей функции, названной в этом примере:
FLT directLookupTableND(const FLT *tableND, const UINT32 nbDims, const UINT32 *tableDims, const UINT32 *tableIdx)
где FLT определение типа типу с плавающей точкой и UINT32 определение типа 32-битному целому числу без знака.
const FLT *tableND Таблица
const UINT32 nbDims - Размерность таблицы
const UINT32 *tableDims - Размер таблицы
const UINT32 *tableIdx - Табличный индекс
В блоке C Caller, tableND и tableDims сопоставлены с параметрами блоков Вызывающей стороны C, nbDims признак группы и tableIdx вход с блоком. Значением, возвращенным наследием C функция, является выход блока.
model = 'slexCCallerLookupTable'; open_system(model); sim(model); slcc('clearCustomCodeModules');
