Получите указатели на сигнальные элементы входного порта
InputPtrsType ssGetInputPortSignalPtrs(SimStruct *S, int_T port)
SSimStruct, представляющий блок 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 для полного примера, который использует эту функцию.