Получите указатели на элементы входного порта сигнала
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
для полного примера, который использует эту функцию.