【发布时间】:2013-10-13 18:13:45
【问题描述】:
我有一个 simulink 模型,我使用 simulink 编码器为通用实时目标生成代码。 然后我将生成的文件(*.c 和 *.h)复制到我在 MPLAB 中的项目中。 这里我有 main.c 文件,这里我使用 MdlStart() 来初始化模型一次,然后在无限循环中我使用 MdlOutputs() 和 MdlUpdate() 来运行模型。一切正常。
现在实际上我想加快模型的执行速度,因此我想将模型拆分为子系统并仅在需要时执行子系统(例如,我想每次都执行一些子系统,而某些只几毫秒而不是每次)。我可以将模型拆分为子系统,并使每个子系统原子化,以便为每个子系统获得不同的功能。现在这些不同的子系统的函数是从 MdlOutputs() 和 MdlUpdate() 调用的。所以他们每次执行模型时都会执行。
实际上,我想在我的 MPLAB 项目中使用一些计时器,然后执行几个子系统,比如说每 100 毫秒。我也不想修改自动生成的 *.c 和 *.h 文件。
所以不是每次都通过 MdlOutputs() 和 MdlUpdate() 执行这些子系统的功能,是否可以从我的 main.c 文件中调用子系统的功能而无需触及自动生成的 *.c 和 *. h 文件?
希望我已经解释清楚了。
等待您的帮助。
【问题讨论】: