SerialChart 上位机
SerialChart 是由 Sergiu Baluta 开发的开源应用程序。SerialChart 用于实时绘制通过串行 (RS-232) 端口发送的数据图表。它通过插件和 WebView javascript 集成支持其他类型的端口。模块化设计允许有动力的编码人员添加新型端口、解码器和显示滤波器。
前言介绍
软件分为三个区域:接收数据区,用于显示串口接收的数据。参数配置区,用于配置串口参数和显示参数。波形显示区,显示串口数据的波形。
在参数配置区写入串口号,波特率,通道波形颜色等,然后点击运行按钮即可。当串口接收到数据时,接收数据区和波形显示区都会有相应的显示。该软件可以同时显示多个通道的波形,直接按照格式添加通道名称和对应的波形颜色即可。
官方下载地址为:http://www.starlino.com/serialchart
除此之外还有一个,serial_port_plotter 也是一个串口数据波形绘制工具官方下载地址为: https://github.com/CieNTi/serial_port_plotter
数据格式
每一帧数据中的多个数据使用逗号隔开,不同帧数据使用换行符号 \n
隔开,注意:单片机端发送的串口内容要包含换行符 \n
,否则无法解析数据的结束位置,从而无法绘图。
printf("%d, %d, %.2f\n", 100, 200, 20.5);
配置文件
配置文件需要自行创建,并需要保存并命名为 .scc
后缀文件,可以新建或修改改配置文件,修改后的配置文件不会立即生效,将在下一次启动数据接收生效。
[_setup_]
port=COM4
baudrate=115200
width=1920
height=201
background_color = white
grid_h_origin = 100
grid_h_step = 10
grid_h_color = #E0E0E0
grid_h_origin_color = #C0C0C0
grid_v_origin = 0
grid_v_step = 10
grid_v_color = #E0E0E0
grid_v_origin_color = transparent
[_default_]
min=-1
max=1
[Field1]
color=red
min=-8000
max=8000
[Field2]
color=blue
min=-100
max=100
注意:要为每一种数据类型新建一个对应的属性,例如 “Field1”,“Field2”,…,实际需要创建多少个属性取决于串口每次所输出的数据个数。
波形视图
波形视图垂直方向每个格子代表的数据范围取决于每个数据类型属性的 Min
与 Max
的差值,而 “差值” 与 “格子数” 的比值即为每个格子代表的 “数值” 大小。
例如,波形视图的高为 201 201 201 像素,格子的步进为 10 10 10 像素,则垂直方向被划分为 20 20 20 个格子,其中剩余 1 1 1 个像素则用于轴线显示,可以设置轴线的位置,一般设置为垂直方向的中间位置,每个格子代表的值为 m a x − m i n / 格数 max-min/格数 max−min/格数。
卡顿问题
唯一的缺点是如果数据帧更新速率很快,即两个数据之间的时间间隔很短(例如小于 10 ms),那必然发送卡顿,这可能是没有采用多任务机制导致的,相比之下 serial_port_plotter 的性能更好。