exponenta event banner

Квалификаторы типов

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

Конструкция C

const volatile double myParam = 9.8;

Процедура

1. Открыть пример модели ex_const_volatile.

open_system('ex_const_volatile');

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

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

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

4. В диалоговом окне «Создание новых данных» задайте для параметра «Значение» значение Simulink.Parameter(9.8). Щелкните Создать (Create). A Simulink.Parameter объект, myParam, появляется в базовой рабочей области. Блок усиления использует объект для установки значения параметра усиления, в данном случае 9.8.

5. На вкладке Создание кода нажмите кнопку Настроить в приложении 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' */

Связанные темы