【发布时间】:2017-07-06 22:07:58
【问题描述】:
我想将现有的 C 代码(或任何其他文本)导入到我通过 Matlab simulink 生成的代码中。我有一些用 C 完成的任务,但将来我想在 matlab 中开发。我在 simulink 中工作,并且我可以编译模型,但是我想使用我以前用 C 编写的一些特殊函数(因为指针等)。
问题是我不知道如何将这些文本放入模型中,并且在代码生成后这些文本保持原始格式,并放置在预期的行中。
我想要什么:
【问题讨论】:
-
所以您希望在 Simulink 中使用输入和输出生成“C 函数”块?
-
“C 函数”块是一个独立的 c 代码。例如在这个块中我想初始化串行通信,写入日志文件,调用其他已经编写的函数等。当然我可以复制-将这些部分手动粘贴到构建的代码中,但我想将它们集成到子系统或块中,如果将此块放在 simulink 中,构建后功能就会在那里。
-
但是,如果block在simulink系统中没有影响,那你为什么需要它
-
查看在代码生成中集成遗留代码的文档。 mathworks.com/help/simulink/sfg/…
-
@AnderBiguri 因为我必须测试指定内存地址中的变量(其他 C 任务写入这些变量)。例如,在我使用我通过 simulink 生成的代码之前,我必须测试这些变量,但它们不是全局的,所以我可以使用指针。我已经编写了这个位测试函数,我想将它粘贴到我的 simulink 中。我知道 matlab 无法理解这个函数,所以我有一个“文本块”matlab编译器忽略的内容,只需将“文本框”的内容粘贴到生成的代码中即可。