Указатели

Когда ваш рукописный код выделяет память для сигнала, состояния или данных о параметре, можно сгенерировать код что доступы что данные через указатель. Примените класс памяти, такой как ImportedExternPointer к элементу данных в модели. Ваш рукописный код предоставляет определение указателя.

C построение

extern double *myIn;

Процедура

1. Открытая модель ex_pointer в качестве примера.

2. Модель открывает в Редакторе Simulink перспективный режим кода. Если это не делает, выберите Code> C/C ++ Code> Configure Model in Code Perspective.

3. В Model Data Editor выберите вкладку Inports/Outports.

4. От Представления Изменения выпадающий список выберите Code.

Для блока Inport Именем Сигнала является In1, и Классом памяти является ImportedExternPointer.

5. Сгенерируйте код из модели.

Результаты

Сгенерированный заголовочный файл 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;
}

Похожие темы