Получение указателей на сигнальные элементы входного порта
InputPtrsType ssGetInputPortSignalPtrs(SimStruct *S, int_T port)
SSimStruct представляет S-функциональный блок.
portИндекс входного порта.
Указатель на массив указателей сигнальных элементов для указанного входного порта.
Используется для получения указателей на сигнальные элементы входного порта. Если ширина входного порта равна 5, эта функция возвращает указатель на 5-элементный массив указателей. Каждый элемент в матрице указателей указывает на конкретный элемент входного сигнала.
Необходимо использовать ssGetInputPortRealSignalPtrs для получения указателей на сигналы типа double (real_T).
Эта функция используется только для несмежного ввода. При наличии непрерывных входных данных используйте ssGetInputPortSignal функция.
Примечание
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 полный пример использования этой функции.