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