Введите спецификаторы

В этом примере показано, как применить const и volatile ключевые слова к глобальной переменной, которая представляет данные о параметре.

C построение

const volatile double myParam = 9.8;

Процедура

1. Откройте модель ex_const_volatile в качестве примера.

open_system('ex_const_volatile');

2. В модели выберите блок Gain. В Property Inspector, установленном значение параметра Усиления к myParam.

3. Рядом со значением параметров кликните по кнопке действий (кнопка с тремя вертикальными точками) и выберите Create.

myParam = Simulink.Parameter(9.8);
set_param('ex_const_volatile/Gain','Gain','myParam');

4. В диалоговом окне Create New Data, установленном Значении к Simulink.Parameter(9.8). Нажмите Create. A Simulink.Parameter объект, myParam, появляется в базовом рабочем пространстве. Блок Gain использует объект установить значение параметра Усиления, в этом случае, 9.8.

5. На вкладке Code Generation нажмите кнопку Configure in Coder App. В редакторе Отображений Кода, Классе памяти набора к ConstVolatile. В качестве альтернативы, чтобы применить только одно из ключевых слов, используйте классы памяти Const или Volatile.

myParam.StorageClass = 'ConstVolatile';

6. Чтобы создать модель и сгенерировать код, нажмите Ctrl+B.

currentDir = pwd;
[~,cgDir] = rtwdemodir();
evalc('rtwbuild(''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' */

Похожие темы