Пользовательский код, написанный на языке C или C++, можно интегрировать с диаграммами Stateflow ® в моделях Simulink ®. Совместное использование данных и функций пользовательского кода и диаграммы Stateflow позволяет расширить возможности Stateflow и использовать программное обеспечение для использования преимуществ существующего кода. Дополнительные сведения см. в разделе Повторное использование пользовательского кода в диаграммах Stateflow.
Следующие переменные кода C можно читать и записывать непосредственно на диаграммах, использующих MATLAB ® в качестве языка действий.
| Пользовательский тип кода C | Описание |
|---|---|
double | Плавающая точка с двойной точностью |
single | Плавающая точка с одинарной точностью |
int8 | Целое число со знаком 8 бит |
uint8 | Беззнаковое 8-разрядное целое число |
int16 | Знаковое 16-разрядное целое число |
uint16 | Беззнаковое 16-разрядное целое число |
int32 | Подписанное 32-разрядное целое число |
uint32 | Беззнаковое 32-разрядное целое число |
Щелкнув правой кнопкой мыши объект Stateflow, в котором используется пользовательский код, можно получить доступ к пользовательской переменной кода. После щелчка правой кнопкой мыши на объекте наведите указатель мыши на команду «Исследовать». Появляется пользовательская переменная кода, обозначаемая (C variable). Щелчок по переменной C позволяет получить доступ к пользовательскому коду из MATLAB.
Можно использовать следующие типы аргументов функции C непосредственно в диаграммах, которые используют MATLAB в качестве языка действий без использования coder.ceval. Для получения информации о вызове внешнего кода из кода MATLAB с помощью coder.ceval, см. Код вызова C/C + + из кода MATLAB (кодер MATLAB).
| Тип аргумента пользовательской функции C | Описание |
|---|---|
double | Плавающая точка с двойной точностью |
single | Плавающая точка с одинарной точностью |
int8 | Целое число со знаком 8 бит |
uint8 | Беззнаковое 8-разрядное целое число |
int16 | Знаковое 16-разрядное целое число |
uint16 | Беззнаковое 16-разрядное целое число |
int32 | Подписанное 32-разрядное целое число |
uint32 | Беззнаковое 32-разрядное целое число |
Щелкнув правой кнопкой мыши объект Stateflow, в котором используется пользовательский код, можно получить доступ к функции пользовательского кода. После щелчка правой кнопкой мыши на объекте наведите указатель мыши на команду «Исследовать». Появится пользовательская функция кода, обозначаемая (C function). Щелчок по функции C позволяет получить доступ к пользовательскому коду из MATLAB.
В диаграммах, использующих C в качестве языка действий, для включения перечислений в пользовательский код выберите Импорт пользовательского кода на панели Цель моделирования (Simulation Target) в разделе Параметры конфигурации (Configuration Parameters). После выбора этого параметра определите перечисления в файле заголовка и включите файл заголовка в раздел Вставить пользовательский код C (Insert custom C code) в созданном разделе панели Цель моделирования (Simulation Target).