编写STM32单片机程序时,经常性的需要进行数据的采集或者传输,为了便于观察和处理数据,需要对数据进行分析和可视化处理,这个时候,我们希望把在调试代码的时候,将KEIL中的数据取出来,之前也想了一些办法,虽然能取出来,但是麻烦,今天偶然发现了一个超级好用的方法,推荐给大家。
01进入调试界面
这步没啥说的,既然要采集数据总要让程序运行起来,进入调试界面,这时候Debug-->Function Editor 可用。
02编辑代码
进入下面界面,
根据自己的需要编辑输出的数组名称和长度,代码如下:
FUNC void export_data(void) {
int i;
exec("log > Data.log");
printf("ori_data\\n");
for (i = 0; i < 500; i++) {
printf ("%d\\n", gADC_Cur[i]);
}
printf("lp_data\\n");
for (i = 0; i < 500; i++) {
printf ("%d\\n", gs16_LP_50_FIR[i]);
}
printf("hp_data\\n");
for (i = 0; i < 500; i++) {
printf ("%d\\n", gs16_HP[i]);
}
exec("log off");
}
点击编译按钮,提示no errors,即表示无错误。
03输出数据
调出command窗口:
并在command窗口输入如下代码:
export_data()
会在工程目录下面生成对应文件
用记事本打开,即可看到数据,可方便导入到MATLAB或者Excel进行处理。
matlab查看数据
全部0条评论
快来发表一下你的评论吧 !