Keil仿真读取数据到PC端

使用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列数据,进行相应的数据处理即可。

你可能感兴趣的:(单片机,Keil仿真)