Когда ваш рукописный код выделяет память для сигнала, состояния или данных о параметре, можно сгенерировать код что доступы что данные через указатель. Примените класс памяти, такой как ImportedExternPointer
к элементу данных в модели. Ваш рукописный код предоставляет определение указателя.
extern double *myIn;
1. Открытая модель ex_pointer
в качестве примера. Модель открывает в Редакторе Simulink перспективу Кода.
2. В Model Data Editor выберите вкладку Inports/Outports.
3. В меню Change View выберите Code
.
Для блока Inport Именем Сигнала является In1
и Классом памяти является ImportedExternPointer
.
4. Сгенерируйте код из модели.
Сгенерированный заголовочный файл ex_pointer.h
объявляет указатель.
/* Imported (extern) pointer block signals */ extern real_T *In1; /* '<Root>/In1' */
В сгенерированном исходном файле ex_pointer.c
, в ступенчатой функции модели алгоритм разыменовывает указатель, In1
.
/* Model step function */ void ex_pointer_step(void) { /* Outport: '<Root>/Out1' incorporates: * Inport: '<Root>/In1' */ rtY.Out1 = *In1; }