在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对数据进行可视化。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐