Вызовите блок Legacy Lookup Table Function Using C Caller

В этом примере показано, как использовать блок 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);