使用Keil进行仿真时,在Watch Window中可以查看变量、数组等数据,如果需要做数据处理或分析,需要将大量的数据读取并保存到PC端log、txt或excel等文件。
查阅资料有Command Window里面SAVE命令保存的,还有说使用调试器里面导出内存功能进行保存的,没有尝试成功。
以下为另一种exec打印数据方法。步骤如下
假设有3个数组a、b和c,每个数组长度50,保存数据中的数据到PC端的log文件。
1、暂停仿真
2、打开Debug->Function Editor,输入以下代码
FUNC void SaveData( void )
{
int i,
int DataLen = 50; // DataLen为要保存数据的长度,
exec(" log > test.log ");
for( i = 0; i < DataLen; i++ )
{
// 使用制表符方便转为excel表格文件
printf("%f\t%f\t%f\t", a[i], b[i], c[i]);
}
exec(" log off ");
}
3、编译,确认无报错。
4、打开View->Command Window,输入函数名SaveData(),回车运行
5、在项目文件目录下生成了test.log文件,打开文件回看到3列数据,进行相应的数据处理即可。