Возвращаемый тип контейнера хранения зарегистрированного типа данных
extern fxpStorageContainerCategory ssGetDataTypeStorageContainCat(SimStruct *S, DTypeId dataTypeId)
SSimStruct представляет S-функциональный блок.
dataTypeIdИдентификатор типа данных зарегистрированного типа данных, для которого требуется знать категорию контейнера.
Эта функция возвращает тип контейнера хранения типа данных, обозначенного dataTypeId. Категория контейнера, возвращаемая этой функцией, используется для хранения входных и выходных сигналов, параметров времени выполнения и DWorks во время моделирования Simulink ®.
Во время моделирования сигналы фиксированной точки удерживаются в одном из типов контейнеров, показанных в следующей таблице. Поэтому во многих случаях сигналы представлены в контейнерах с большим количеством битов, чем их фактическая длина слова.
Контейнеры для хранения с фиксированной точкой
Категория контейнера | Сигнал | Длина слова контейнера | Размер контейнера |
|---|---|---|---|
| от 1 до 8 бит | 8 бит | 1 байт |
| От 9 до 16 бит | 16 бит | 2 байта |
| от 17 до 32 бит | 32 бита | 4 байта |
| 33 - длина слова | Длина | Длина |
| Больше длины слова | Кратные длине | Кратные длине |
Когда количество битов в сигнальном слове меньше, чем размер контейнера, биты длины слова всегда сохраняются в младших значащих битах контейнера. Остальные биты контейнера должны быть расширены для соответствия битам контейнера:
Если тип данных не подписан, то биты расширения знака должны быть сброшены до нуля.
Если тип данных подписан, то биты расширения знака должны быть установлены в единицу для строго отрицательных чисел и в противном случае очищены до нуля.
ssGetDataTypeStorageContainCat функция также может возвращать следующие значения.
Другие контейнеры для хранения
Категория контейнера | Описание |
|---|---|
| Возвращается, если неизвестна категория контейнера хранения |
| Тип контейнера для Simulink |
| Тип контейнера для Simulink |
| Тип контейнера для типа данных, который был переопределен |
Эта функция выдает ошибки, когда ssGetDataTypeIsFxpFltApiCompat прибыль FALSE.
Для использования этой функции необходимо включить fixedpoint.h и fixedpoint.c. Дополнительные сведения см. в разделе Структура S-функции.
C
Поскольку отображение контейнеров хранения в моделировании на контейнеры хранения в генерировании кода не является однозначным, функции TLC для контейнеров хранения в TLC отличаются от функций моделирования. Дополнительные сведения см. в разделе Функции TLC контейнера хранения:
FixPt_DataTypeNativeType
FixPt_DataTypeStorageDouble
FixPt_DataTypeStorageSingle
FixPt_DataTypeStorageScaledDouble
FixPt_DataTypeStorageSInt
FixPt_DataTypeStorageUInt
FixPt_DataTypeStorageSLong
FixPt_DataTypeStorageULong
FixPt_DataTypeStorageSShort
FixPt_DataTypeStorageUShort