exponenta event banner

ssGetBusElementOffset

Получение смещения от начала типа данных шины к элементу шины

Синтаксис

int_T ssGetBusElementOffset(SimStruct* S, int_T busTypeID, int_T elemIdx)

Аргументы

S

SimStruct, представляющий 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);
     }
  }

См. также

ssGetDataTypeSize

Представлен в R2010a