В этом примере показано, как экспортировать определение и объявление глобальной переменной, используемой сгенерированным кодом в качестве сигнала.
float mySig;
extern float mySig;
1. Открыть пример модели ex_defn_decl.
open_system('ex_defn_decl');

2. В редакторе данных модели откройте вкладку Ввод/вывод (Inports/Outports).
3. В редакторе данных модели для блока «Ввод» задайте для параметра «Тип данных» значение single.
set_param('ex_defn_decl/In1','OutDataTypeStr','single');
4. Откройте приложение Embedded Coder.
5. На вкладке Код C выберите Интерфейс кода > Сопоставления кодов отдельных элементов.
6. В редакторе Сопоставления кодов на вкладке Inports установите класс Storage для блока Inport равным ExportToFile.
7. В инспекторе свойств задайте для параметра «Идентификатор» значение mySig, файл заголовка в myDecls.hи файл определения для myDefns.c.
cm = coder.mapping.api.get('ex_defn_decl'); setInport(cm,'In1','StorageClass','ExportToFile','Identifier','mySig','HeaderFile','myDecls.h','DefinitionFile','myDefns.c');
8. Создайте код из модели.
currentDir = pwd;
[~,cgDir] = rtwdemodir();
evalc('slbuild(''ex_defn_decl'')');
Созданный файл заголовка myDecls.h объявляет глобальную переменную mySig с помощью extern ключевое слово.
file = fullfile('ex_defn_decl_ert_rtw','myDecls.h'); rtwdemodbtype(file,'/* Declaration for', ... 'extern real32_T mySig',1,1);
/* Declaration for custom storage class: ExportToFile */ extern real32_T mySig; /* '<Root>/In1' */
Созданный исходный файл myDefns.c определяет и инициализирует mySig.
file = fullfile('ex_defn_decl_ert_rtw','myDefns.c'); rtwdemodbtype(file,'/* Definition for', ... 'real32_T mySig;',1,1);
/* Definition for custom storage class: ExportToFile */ real32_T mySig; /* '<Root>/In1' */