Этот пример генерирует общую библиотеку для взаимодействия с симулятором, который работает на вашем компьютере разработчика. Сгенерируйте общую библиотеку с помощью системного целевого файла ert_shrlib.tlc
.
Чтобы создать общую библиотеку из модели и использовать библиотеку в приложении:
1. Разрабатывайте свою модель. В данном примере откройте модель rtwdemo_shrlib
. Сохраните копию модели в месте с возможностью записи.
open_system('rtwdemo_shrlib');
Модель является односкоростной моделью дискретного времени. 8-битный счетчик передает триггируемую подсистему с именем Amplifier
. Параметры INC
, LIMIT
, и RESET
заданы постоянные значения 1, 4 и 0 соответственно. Когда сигнал equal_to_count
true, подсистема усиливает свой входной сигнал коэффициентом усиления K=3
и выходной сигнал обновляется.
2. Откройте приложение Embedded Coder.
3. Установите параметр конфигурации модели Системный целевой файл в ert_shrlib.tlc
.
4. Создайте файл общей библиотеки. Файл, который производит генератор кода, зависит от вашей платформы разработки. Например, в системе Windows генератор кода производит файл библиотеки rtwdemo_shrlib_win64.dll
.
5. Создайте код приложения, который использует общую библиотеку. Этот пример использует код приложения, который доступен в следующих файлах:
matlabroot\toolbox\rtw\rtwdemos\shrlib_demo\rtwdemo_shrlib_app.h
matlabroot\toolbox\rtw\rtwdemos\shrlib_demo\rtwdemo_shrlib_app.c
Чтобы просмотреть исходный код в этих файлах, в модели, нажмите белые кнопки для .h
и .c
файлы.
6. Скомпилируйте и соедините применение файла и общие файлы библиотеки, чтобы создать исполняемую программу. Следующий скрипт компилирует, создает и запускает программу.
matlabroot\toolbox\rtw\rtwdemos\shrlib_demo\run_rtwdemo_shrlib_app.m
Чтобы просмотреть код скрипта, в модели нажмите белую кнопку для .m
файл.
Чтобы создать модель и запустить приложение, которое использует сгенерированную общую библиотеку, в модели дважды кликните синюю кнопку.
Для получения дополнительной информации об использовании общей библиотеки смотрите Пакет Сгенерированный код как Общие библиотеки (Embedded Coder).