Main Content

本页的翻译已过时。点击此处可查看最新英文版本。

使用 Simulink Coder Quick Start 工具生成 C 代码

使用 Simulink® Coder™Quick Start 工具,为代码生成准备模型 rtwdemo_secondOrderSystem,并生成符合 C89/C90 的 C 代码。然后,检查生成的代码。

使用 Quick Start 工具生成代码

Quick Start 工具根据您的目标和应用选择基本的代码生成设置。例如,Quick Start 工具使用代码生成所必需的固定步长求解器来配置模型。

  1. 在命令行窗口中输入模型名称,打开模型 rtwdemo_secondOrderSystem

  2. 将模型副本保存到 MATLAB® 路径上的可写位置。

  3. 如果 C Code 选项卡尚未打开,请在 App 库中的 Code Generation 下,点击 Simulink Coder

  4. 打开 Simulink Coder Quick Start 工具。在 C Code 选项卡上,点击 Quick Start

  5. 逐步执行 Quick Start 工具的各个步骤。每个步骤都会询问有关您要生成的代码的问题。对于本教程,请使用默认设置。该工具根据模型验证您的选择,并显示生成代码所需的参数更改。

  6. Generate Code 步骤中,点击 Next 应用建议的更改并从模型生成代码。

  7. 点击 Finish。在 Simulink Editor 中,返回 C Code 选项卡。配置代码生成自定义,重新生成代码,并检查代码生成报告中的结果。

检查生成的代码

代码生成器在当前工作文件夹中创建文件夹 rtwdemo_secondOrderSystem_ert_rtw,并将源代码文件放入该文件夹。生成的代码放在两个主文件中:rtwdemo_secondOrderSystem.crtwdemo_secondOrderSystem.h。文件 rtwdemo_secondOrderSystem.c 包含算法代码,其中包括 ODE 求解器代码。通过包含 rtwdemo_secondOrderSystem.h,调用方可以访问模型数据和入口函数。rtwdemo_secondOrderSystem.h 文件包含模块输出、连续状态、模型输出、入口函数和时间数据的 extern 声明。

在当前文件夹中,代码生成器创建 slprj/target/_sharedutils 文件夹。此文件夹包含 rtwtypes.h 文件,该文件定义生成的代码默认使用的标准数据类型。此同级文件夹包含可以或必须在多个模型之间共享的生成文件。

您从模型生成的代码包含入口函数,您可以从应用程序代码(如外部主程序)调用这些函数。对于基于速率的模型,这些函数包括初始化函数、执行函数以及可选的终止和重置函数。这些函数通过您控制的数据接口与应用程序代码交换数据。

  1. 打开代码生成报告。在 C Code 选项卡中,点击 Open Report

  2. 打开 Code Interface Report 部分。查看代码生成器为模型生成的入口函数。对于初始化、执行(单步)和终止函数,代码生成器使用以下名称:

    • rtwdemo_secondOrderSystem_initialize

    • rtwdemo_secondOrderSystem_step

    • rtwdemo_secondOrderSystem_terminate

    这些函数有 void-void 接口,这意味着它们不传递参数。这些函数通过共享数据结构体访问数据。此类数据的示例包括函数与应用程序代码交换的系统级输入和输出。

  3. 查看生成的代码中的入口函数。在代码生成报告的左窗格中,在代码生成下,点击文件名 rtwdemo_secondOrderSystem.c。使用 Find 字段查找字符串 secondOrderSystem_step。使用 Find 字段右侧的箭头逐一查看每处匹配。对头文件 rtwdemo_secondOrderSystem.h 执行同样的操作。然后,检查初始化和终止函数的代码。

接下来,验证模型仿真结果是否匹配生成的可执行程序结果。