Зарегистрируйте тип данных с помощью масштабирования [Slope Bias] и верните его идентификатор типа данных
extern DTypeId ssRegisterDataTypeFxpSlopeBias (SimStruct *S, int isSigned, int wordLength, double totalSlope, double bias, int obeyDataTypeOverride)
S
SimStruct, представляющий блок s-function.
isSigned
TRUE
если тип данных подписан.
FALSE
если тип данных не подписан.
wordLength
Общее количество битов в типе данных, включая любой бит знака.
totalSlope
Общий наклон масштабирования типа данных.
bias
Смещение масштабирования типа данных.
obeyDataTypeOverride
TRUE
указывает, что необходимо соблюдать настройку Data Type Override для подсистемы. В зависимости от значения Data Type Override, полученный тип данных может быть Double
, Single
, Scaled double
или тип данных с фиксированной точкой, заданный другими аргументами функции.
FALSE
указывает, что параметр Data Type Override должен быть проигнорирован.
Эта функция полностью регистрирует тип данных с фиксированной точкой в Simulink® и возвращает идентификатор типа данных. Обратите внимание, что в отличие от стандартной функции Simulink ssRegisterDataType
, вам не нужно делать никаких дополнительных шагов регистрации. Идентификатор типа данных может использоваться, чтобы задать типы данных входов и выходных портов, параметры выполнения и состояния DWork. Он также может использоваться со всеми стандартными методами доступа к типам данных в simstruc.h
, таких как ssGetDataTypeSize
.
Используйте эту функцию, если необходимо зарегистрировать тип данных с фиксированной точкой с масштабированием [Смещение уклона]. Также можно использовать одну из других функций регистрации с фиксированной точкой:
Использовать ssRegisterDataTypeFxpBinaryPoint
для регистрации типа данных с двоичным масштабированием только для точек.
Использовать ssRegisterDataTypeFxpFSlopeFixExpBias
для регистрации типа данных с масштабированием [Смещение уклона] путем определения размера слова, дробного наклона, фиксированной экспоненты и смещения.
Использовать ssRegisterDataTypeFxpScaledDouble
для регистрации масштабированной двойки.
Если зарегистрированный тип данных не является одним из встроенных типов данных Simulink, выдается лицензия Fixed-Point Designer™. Чтобы предотвратить извлечение лицензии на программное обеспечение Fixed-Point Designer, когда вы просто открываете или просматриваете модель, защитите вызовы регистрации с
if (ssGetSimMode(S) != SS_SIMMODE_SIZES_CALL_ONLY ) ssRegisterDataType...
Примечание
Из-за особенностей назначения идентификаторов типов данных вы всегда должны использовать функции API для извлечения информации из идентификатора типа данных о типе данных в вашей S-функции. Для получения дополнительной информации см. идентификаторы типов данных.
Чтобы использовать эту функцию, вы должны включить fixedpoint.h
и fixedpoint.c
. Для получения дополнительной информации смотрите Структура S-функции.
C
Ничего.
ssRegisterDataTypeFxpBinaryPoint
, ssRegisterDataTypeFxpFSlopeFixExpBias
, ssRegisterDataTypeFxpScaledDouble
, ssRegisterDataTypeHalfPrecision