#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. В Simulink.Parameter
диалоговое окно свойства, Класс памяти набора к Define
. Нажать ОК.
6. Чтобы создать модель и сгенерировать код, нажмите Ctrl+B.
Сгенерированный заголовочный файл ex_param_macro.h
задает myParam
как макрос.
/* Definition for custom storage class: Define */ #define myParam 9.8 /* Referenced by: '<Root>/Gain' */
1. В Model Data Editor, на вкладке Parameters, нажимают кнопку дополнительной информации Show/refresh.
2. Установите представление Change выпадающий список на Code
.
3. Используйте столбец Класса памяти, чтобы изменить класс памяти myParam
от Define
к ImportedDefine
.
4. Для myParam
, установите Заголовочный файл на external_params.h
. Сгенерированный код импортирует макроопределение из пользовательского заголовочного файла под названием external_params.h
.
5. В вашей текущей папке создайте заголовочный файл C external_params.h
, который содержит #define
оператор.
#ifndef _EXTERNAL_PARAMS #define _EXTERNAL_PARAMS #define myParam 9.8 #endif /* EOF */
7. Чтобы создать модель и сгенерировать код, нажмите 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