我在test.c中创建了一个C函数
#include <stdio.h>
int Test()
{
FILE * fp = fopen("C:\\workspace\\test.txt", "rw");
fprintf(fp, "test hello world");
fclose(fp);
return 10;
}
我在simulink的stateflow中定义了一个状态。我用了
en: Test();
我在工具中指定了文件 - &gt;打开模拟目标 - &gt;自定义代码 - &gt;生成附加列表和包含自定义C代码(使用绝对路径和文件名) 当我试图运行模型时,我得到了解析器错误: EN:Test(); ^ 名为“Test”的函数不是Stateflow函数。
我该怎么办?
答案 0 :(得分:4)
由我自己完成。 在“在生成中包含自定义C代码:” - &gt;标题文件选项卡中, 我应该将我的头文件指定为
#include "test.h"
而不是
test.h
c文件应在“包含附加列表” - &gt;源文件中指定为
test.c
答案 1 :(得分:3)
添加对在线示例的引用,用于向Stateflow添加自定义C代码,以帮助遇到类似问题的其他用户: http://www.mathworks.com/support/solutions/en/data/1-1727V/