在KEIL里进行程序调试时,有些数组庞大,在watch里面直接观察数组并不方便,需要将其导出以备后续分析,方法如下。
一、写一个数据导出函数
FUNC void Getvalue(void)
{
int i,j;
j=0;
exec("log > Data.log");//创建文件
printf ("*****st_buffer_01*****\n");//输出一段字符串
//循环输出数组
for (i = 0; i < 256; i++)
{
j++;
printf ("%d\n", st_buffer_01[i]);
if(i>=255)
{
i=0;
}
//一秒1024个字节,10秒后跳出循环
if(j==10240)
{
break;
}
}
exec("log off");//关闭文件
}
保存为.ini格式
在Debug -> Function Edito里面导入这个.ini文件,然后save保存并且compile编译。
二、运行函数
打开命令窗口:View->Command Window(只有在调试的时候才能调出)
Getvalue();//运行函数,注意括号不能省略。
三、数据可视化
经过上述步骤,在当前项目的MDK-ARM文件夹下会自动生成Data.log文件,可采用Excel或者Matlab对数据进行可视化。