Получение смещения от начала типа данных шины к элементу шины
int_T ssGetBusElementOffset(SimStruct* S, int_T busTypeID, int_T elemIdx)
SSimStruct, представляющий S-функциональный блок
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);
}
}