В этом примере показано, как применить const
и volatile
ключевые слова для глобальной переменной, которая представляет данные параметра.
const volatile double myParam = 9.8;
1. Откройте пример модели ex_const_volatile
.
open_system('ex_const_volatile');
2. В модели выберите блок Gain. В Property Inspector установите значение параметра Gain равным myParam
.
3. Рядом со значением параметров нажмите кнопку действия (кнопка с тремя вертикальными точками) и выберите Create.
myParam = Simulink.Parameter(9.8); set_param('ex_const_volatile/Gain','Gain','myParam');
4. В диалоговом окне «Создание новых данных» установите значение Simulink.Parameter(9.8)
. Нажмите кнопку Создать. A Simulink.Parameter
объект, myParam
, появляется в базовом рабочем пространстве. Блок Gain использует объект, чтобы задать значение параметра Gain, в этом случае 9.8.
5. На вкладке Генерации кода нажмите кнопку Configure in Coder Приложения. В редакторе Отображения установите для класса памяти значение ConstVolatile
. Кроме того, чтобы применить только одно из ключевых слов, используйте классы памяти Const
или Volatile
.
myParam.StorageClass = 'ConstVolatile';
6. Чтобы создать модель и сгенерировать код, нажмите Ctrl + B.
currentDir = pwd;
[~,cgDir] = rtwdemodir();
evalc('slbuild(''ex_const_volatile'')');
Сгенерированный исходный файл ex_const_volatile.c
определяет myParam
при помощи const
и volatile
ключевые слова.
file = fullfile('ex_const_volatile_ert_rtw','ex_const_volatile.c'); rtwdemodbtype(file,'/* Definition for custom', ... 'const volatile real_T myParam = 9.8;',1,1);
/* Definition for custom storage class: ConstVolatile */ const volatile real_T myParam = 9.8; /* Referenced by: '<Root>/Gain' */