Создайте псевдонимы типа данных путем генерации операторов typedef
.
typedef float float_32;
Чтобы создать псевдоним типа данных в Simulink®, используйте Simulink.AliasType
. Генератор кода создает оператор typedef
.
Встроенный тип данных Simulink single
соответствует типу данных C float
.
1. В командной строке создайте объект Simulink.AliasType
под названием float_32
, который представляет псевдоним single
.
float_32 = Simulink.AliasType('single');
2. Откройте модель ex_typedef
в качестве примера.
3. Модель открывает в Редакторе Simulink перспективный режим кода. Если это не делает, выберите Code> C/C ++ Code> Configure Model in Code Perspective.
4. В Model Data Editor откройте вкладку Inports/Outports.
5. От Представления Изменения выпадающий список выберите Design
.
6. В модели выберите блок Inport.
7. В Model Data Editor, для блока Inport, Типа данных набора к Refresh data types
.
8. В Model Data Editor, для блока Inport, Типа данных набора к float_32
.
9. От представления Change выпадающий список выберите Code
.
10. Для блока Inport, определенного Имени Сигнала к mySig
.
11. Установите Класс памяти на ExportedGlobal
. Блок Inport появляется в сгенерированном коде как отдельная глобальная переменная.
12. Сгенерируйте код из модели.
Сгенерированный заголовочный файл ex_typedef.h
задает тип данных, искажает float_32
.
#ifndef DEFINED_TYPEDEF_FOR_float_32_ #define DEFINED_TYPEDEF_FOR_float_32_ typedef real32_T float_32; #endif
По умолчанию генератор кода также создает псевдоним real32_T
, который соответствует типу данных C float
. Вы видите оператор typedef
в сгенерированном заголовочном файле rtwtypes.h
.
typedef float real32_T;
Сгенерированный исходный файл ex_typedef.c
использует float_32
, чтобы задать глобальную переменную mySig.
/* Exported block signals */ float_32 mySig; /* '<Root>/In1' */