Получите указатели на сигнальные элементы входного порта
InputPtrsType ssGetInputPortSignalPtrs(SimStruct *S, int_T port)
S
SimStruct, представляющий блок S-Function.
port
Индекс входного порта.
Указатель на массив указателей на элементы сигнала для заданного входного порта.
Используйте, чтобы получить указатели на элементы сигнала входного порта. Если ширина входного порта 5, эта функция возвращает указатель в массив указателей с 5 элементами. Каждый элемент в массиве указателей указывает на конкретный элемент входного сигнала.
Необходимо использовать ssGetInputPortRealSignalPtrs
для получения указателей на сигналы типа double
(real_T
).
Используйте эту функцию только для несмежного входа. Если у вас есть непрерывный вход, используйте ssGetInputPortSignal
функция.
Примечание
The ssGetInputPortSignalPtrs
макрос становится функцией, когда вы компилируете свою S-функцию в режиме отладки (mex -g
).
C, C++
Предположим, что типы данных входного порта int8_T
.
int_T nInputPorts = ssGetNumInputPorts(S); for (i = 0; i < nInputPorts; i++) { InputPtrsType u = ssGetInputPortSignalPtrs(S,i); InputInt8PtrsType uPtrs = (InputInt8PtrsType)u; int_T nu = ssGetInputPortWidth(S,i); for (j = 0; j < nu; j++) { /* uPtrs[j] is an int8_T pointer that points to the j-th element of the input signal. */ UseInputInSomeFunction(*uPtrs[j]); }
Смотрите S-функцию sfun_dtype_io.c
используется в sfcndemo_dtype_io
для полного примера, который использует эту функцию.