|
RTT波形显示基础用法:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=108890
首先说下这个功能有什么用:
前段时间做DSP波形插补教程,需要同时展示出来比较,此功能就比较有用了。
比如有一帧数据是1024点,步大小是1个像素。还有一帧是128点,步大小是8个像素。展示的时候,可以看到整体对比。
使用方法:
1、H7-TOOL上位机什么特别操作都不用做,就是普通的RTT使用。
2、大家的程序端打印即可。
比如我们展示两个通道数据,通道1是每次都显示,而通道2是8个点显示一次。
sprintf(buf, "%d, \r\n", a[0]);
sprintf(buf,"%d, \r\n", a[1]);
sprintf(buf,"%d, \r\n", a[2]);
sprintf(buf,"%d, \r\n", a[3]);
sprintf(buf,"%d, \r\n", a[4]);
sprintf(buf,"%d, \r\n", a[5]);
sprintf(buf,"%d, \r\n", a[6]);
sprintf(buf,"%d, %d\r\n", a[7], b[0]);
sprintf(buf,"%d, \r\n", a[8]);
sprintf(buf,"%d, \r\n", a[9]);
sprintf(buf,"%d, \r\n", a[10]);
sprintf(buf,"%d, \r\n", a[11]);
sprintf(buf,"%d, \r\n", a[12]);
sprintf(buf,"%d, \r\n", a[13]);
sprintf(buf,"%d, \r\n", a[14]);
sprintf(buf,"%d, %d\r\n", a[15], b[1]);
做成方便打印的代码:
- idx = 0;
- for (i = 0; i < 1024; i++)
- {
- char buf[20];
- if ((i % 8) == 0)
- {
- sprintf(buf, "%f,%f\r\n", a[i], b[idx2++]);
- SEGGER_RTT_SetTerminal(0);
- SEGGER_RTT_WriteString(0, buf);
- }
- else
- {
- sprintf(buf, "%f,\r\n", a[i]);
- SEGGER_RTT_SetTerminal(0);
- SEGGER_RTT_WriteString(0, buf);
- }
-
- }
复制代码
也就是不显示的地方,我们设置为空即可,显示多个通道是类似的,仅需用半角逗号隔开,不需要展示数值的,设置为空即可:
|
|