#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