SerialChart串口波形描绘_使用说明翻译
介绍
SerialChart通过一个文本来进行配置。通常的格式如下:
[section1]
param1 = value
param2 = value
...
[section2]
param1 = value
param2 = value
Setup 部分
每个配置文件由[setup]部分开始,这里你能设置全局参数比如:
[setup]
port=COM3
baudrate=57600
width=1000
height=201
background_color = white
grid_h_origin = 100
grid_h_step = 10
grid_h_color = #EEE
grid_h_origin_color = #CCC
grid_v_origin = 0
grid_v_step = 10
grid_v_color = #EEE
grid_v_origin_color = transparent
下面是在[setup]部分能够使用的参数:
port
这就是软件进行串口通讯的接口啦,比如COM1,COM2.。。
baudrate
波特率,目前只支持以下几种波特率:
110,300,600,1200,2400,9600,19200,38400,57600,115200.
请注意目前的版本不支持流量控制的参数设置,默认设置为“无”,停
止位默认为1,采用最常用的设置
width,height
chart区域的象素宽度和高度
background_color
chart的背景颜色
关于颜色的一些提醒 请注意在.SCC文件中(也就是此软件的配置文件)颜色可以用16进制来表示(如 #FFF,#FFFFFF)
或者用一些已命名的颜色(白色,蓝色,品红,粉红,灰色)
更多颜色请参考 http://www.w3.org/TR/SVG/types.html#ColorKeywords 请注意特殊的
颜色“透明”代表“没有颜色”。如果你不想让一些元素被绘制出来你可以使用它
grid_h_origin, grid_v_origin
水平方向和竖直方向都有一条原始的轴线,一般和普通的格点线(每条曲线都是由一个个像素组成的,所以叫格点线)颜色不同这两个参数确定了轴线在图表中距离顶点、左侧边界的位移,单位为像素
grid_h_origin_color, grid_v_origin_color
原始轴线的颜色
grid_h_step, grid_v_step
这两个参数确定了每次画线的长度(我也搞不懂这句话。。)
grid_h_color, grid_v_color
普通格点线的颜色
Default and Field Sections
(默认设置和区域设置)SerialChart能识别CSV(逗号分隔数据)的数据包(将来可能会支持更多的格式)。每一行传送一份数据包,每一份数据包中的不同数据用逗号来分隔。下面的例子是SerialChart能识别的格式:
100,0.50,0.70
101,0.30,0.50
102,0.25,0.35
在配置文件中,下面的部分为每份数据包中的不同数据设定了参数比如:
[default]
min=-1
max=1
[Field1]
color=gray
min=0
max=255
[Field2]
color=blue
[Field3]
color=red
通过[default]你可以对所有区域进行一个默认设置。这些参数对所有的数据区都有效除非在[Field]区域中他们被相同的名字覆盖在上面的例子中,[Field2]和[Field3]将继承[default]区的默认设置
min=-1,max=1,但[Field1]中的参数把值改为了min=0 and max=255
在你设置了默认设置后你应该为数据包中每个区域进行新的设置。设置顺序应根据他们在数据包中的先后而设置[field]部分的名字可以随意命名但不能和[setup],[default]相同,也不能以'_'开头和结尾,比如可以命名为[distance],[time],但不能命名为[_setup],[time]下面的参数是[default]和[field]区能识别的参数min,max这两个值是对应曲线在图中的上下界。换句话说,如果你设定min=-1,max=1,那数据“1”将会被描绘在图中的顶端,数据“-1”将被描绘在图中的底端,而“0”将会描绘在图的正中间。数据会从[min,max]映射到图中的[0,height],height就是曲线图的高度,在开始的[setup]中可以设置(这有点像arduino中的map()函数)
color
设置数据所对应曲线的颜色。如果你不想让某个数据被绘制出来可以设置为transparent(透明)
dash
可将曲线变成一条虚线,如,当dash=3,软件会将3个数据绘制出来,再停止绘制3个数据,再绘制3个数据,如此反复。。
翻译完毕,加入一些个人使用心得
1、串口只能同时被一个程序使用,当你要更新程序时,要点
SerialChart中的stop
2、刚下完程序打开SerialChart可能没反应,按一下复位再等个几秒应
该就好了,bootloader的启动速度,你懂得。。。
3、[field]的名字千万不能相同,否则有些曲线是绘制不出来的
发个我测试超声波的例子吧
Serial Chart代码:[setup]
port=COM3
baudrate=9600
width=10000
height=500
background_color = white
grid_h_origin = 0
grid_h_step = 1
grid_h_color = #EEE
grid_h_origin_color = #CCC
grid_v_origin = -100
grid_v_step = 0
grid_v_color = #EEE
grid_v_origin_color=#CCC
[default]
min=0
max=500
[pulsetime]
min=0
max=40000
color=bisque
[pulsetime1]
min=0
max=40000
color=gray
[distance1]
color=pink
min=0
max=400
[distance2]
color=gold
min=0
max=400
[distance]
color=red
min=0
max=400
复制代码arduino代码:void setup()
{
pinMode(BeePin,OUTPUT);
pinMode(UMT,OUTPUT);
pinMode(UMR,INPUT);
Serial.begin(9600);
Serial.println("begin");
}
unsigned long Detect1()
{
//一坨
return 10000;
}
unsigned long Detect2()
{
//两坨
return 20000;
}
void loop()
{
distance1=Detect1();
distance2=Detect2();
Serial.print(distance1,DEC);
Serial.print(",");
Serial.print(distance2,DEC);
Serial.print(",");*/
delay(100);
}复制代码arduino代码省略了很多。。。写的太烂了。。 大体是这样的
好了,希望这个软件能帮上大家的忙
via - 极客工坊