我想使用ERT从以下Simulink模型生成C代码。
编码器将 matlab.mat 的内容编码到代码中:
/* Start for FromFile: '<Root>/From File' */
{
static const real_T tuData[5] = { 0.0, 9.0, 5.0, 6.0, 7.0 } ;
untitled_DW.FromFile_PWORK.PrevTimePtr = (void *) &tuData[0];
}
我怎样才能避免,ERT硬编码值?如何获得真正的文件读取程序?
答案 0 :(得分:0)
给定一个带有空格分隔浮点数的文本文件,您可以实现自己的读取例程,如下所示:
FILE *fp;
fp = fopen("data.txt", "r");
float tuData[5];
for (int i = 0; i < 5; ++i)
fscanf(fp, "%1f", &tuData[i]);
fclose(fp);
然后将刚刚解析的数组分配给负责由Matlab代码处理的目标变量。