Указатели

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

C построение

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;
}

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте