exponenta event banner

Указатели

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

Конструкция C

extern double *myIn;

Процедура

1. Открыть пример модели ex_pointer.

2. Откройте приложение Embedded Coder.

3. На вкладке Код C выберите Интерфейс кода > Сопоставления кодов отдельных элементов.

4. В редакторе Сопоставления кодов на вкладке Inports установите класс хранения для блока Inport равным 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;
}

Связанные темы