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