#define myParam 9.8;
1. Открытая модель ex_param_macro в качестве примера.

2. В модели выберите блок Gain. В Property Inspector, установленном значение параметра Усиления к myParam.
3. Рядом со значением параметров кликните по кнопке действий (кнопка с тремя вертикальными точками) и выберите Create.
4. В диалоговом окне Create New Data, установленном Значении к Simulink.Parameter(9.8). Нажмите Create. A Simulink.Parameter объект, myParam, появляется в базовом рабочем пространстве. Блок Gain использует объект установить значение параметра Усиления, в этом случае, 9.8.
5. На вкладке Code Generation нажмите кнопку Configure in Coder App. В редакторе Отображений Кода, Классе памяти набора к Define. Нажать ОК.
6. Чтобы создать модель и сгенерировать код, нажмите Ctrl+B.
Сгенерированный заголовочный файл ex_param_macro.h задает myParam как макрос.
/* Definition for custom storage class: Define */ #define myParam 9.8 /* Referenced by: '<Root>/Gain' */
1. В редакторе Отображений Кода, на вкладке Parameters, нажимают кнопку Update Code Mappings.
2. Измените класс памяти myParam от Define к ImportedDefine.
3. В Property Inspector, под Секцией кода, Заголовочным файлом набора к external_params.h. Сгенерированный код импортирует макроопределение из пользовательского заголовочного файла под названием external_params.h.
4. В вашей текущей папке создайте заголовочный файл C external_params.h, который содержит #define оператор.
#ifndef _EXTERNAL_PARAMS #define _EXTERNAL_PARAMS #define myParam 9.8 #endif /* EOF */
5. Чтобы создать модель и сгенерировать код, нажмите Ctrl+B.
Сгенерированный заголовочный файл ex_param_macro.h не задает макрос. Вместо этого файл включает (#include) пользовательский заголовочный файл external_params.h.
/* Includes for objects with custom storage classes. */ #include "external_params.h"
Исходный файл ex_param_macro.c содержит защиту, чтобы проверять что определение на myParam \exists.
/* * Check that imported macros with storage class "ImportedDefine" are defined */ #ifndef myParam #error The variable for the parameter "myParam" is not defined #endif