Получите смещение от запуска типа данных шины к элементу шины
int_T ssGetBusElementOffset(SimStruct* S, int_T busTypeID, int_T elemIdx)
S
SimStruct, который представляет Блок s-function
busTypeID
Идентификатор типа данных шины, который представляет сигнал шины
elemIdx
Основанный на нуле индекс элемента шины
int_T
Используйте, чтобы получить смещение, в байтах, от запуска типа данных шины к элементу шины, который вы указываете и получить указатель на ячейку памяти элемента шины. ssGetBusElementOffset
S-функция составляет тип данных, сложность, размерности и любое дополнение между запуском сигнала шины и элементом шины, который вы указываете.
C, C++
static void mdlOutputs(SimStruct *S, int_T tid) { DTypeId dType = ssGetOutputPortDataType(S, 0); const void *u = ssGetInputPortSignal(S, 0); int numElems = ssGetNumBusElements(S, dType); int i; for(i=0; i<numElems; i++) { int_T offset = ssGetBusElementOffset(S, dType, i); /* Assume that the bus element is of type double */ const double *in = (const double*) ((const char*)u + offset); } }