JXChart 曲线显示串口工具简介


前言

介绍一款将串口接收的数据绘制成曲线,方便观察和记录。


一、JXChart 是什么?

JXChart 是一个用于PC电脑端的UART数据接收工具,通过约定的通信协议进行数据传输,并将数据通过曲线的方式展示出来。

通过常见的数据接发(RX接收、TX发送),实现数据交互。软件界面如下图:
在这里插入图片描述
实际操作界面
在这里插入图片描述

下载地址

更多我们未能呈现的示例,还有待您在阅读文档、以及不断使用的过程,去深入挖掘。
最新app获取:
百度盘:https://pan.baidu.com/s/1xY1PU-we3AM3_545WFgZRQ?pwd=btij
腾讯微云:https://share.weiyun.com/qDfi5jLN

普通下载:直接下载

二、使用方法

1.硬件

需要PC电脑端支持串口功能(或USB转串口助手)

2.通信协议(内置协议)

方式1:带校验和通信-单笔数据

头码HEAD(2个字节) + 命令码CMD(1字节) + 数据长度LENGTH(1个字节) + 数据DATA(N字节) + 校验码CS(1字节)

HEAD:固定为0x4A 0x58

CMD:
0x01:无符号整型(1字节,标准C)
0x02:无符号整型(2字节,标准C)
0x03:无符号整型(4字节,标准C)
0x04:有符号整型(1字节,标准C)
0x05:有符号整型(2字节,标准C)
0x06:有符号整型(4字节,标准C)
0x07:有符号整型(2字节,高字节为符号)
0x08:有符号整型(3字节,高字节为符号)
0x09:有符号整型(5字节,高字节为符号)
0x0A:浮点型(3字节,标准C)
0x0B:浮点型(4字节,标准C)

LENGTH:即 DATA的总长度(不含CS)

DATA:数据包含了通道和对应的数值,DATA=通道[1字节]+数值VALUE[长度要根据CMD来选择]

CS等于HEAD、CMD、LENGTH、DATA单字节累计后取低8位,再取反。

例如,将一个长度为2字节的无符号整型数值“10000”,发送到通道“1”,则操作如下:

2字节的无符号整型对应的命令码CMD是0x02

	send_buff[8]={0x4A,0x58,0x02,0x03,0x01,0x27,0x10,CS};
    //0x4A,0x58 是头码
    //0x02 是命令码
    //0x03 是后面的数据长度(不含校验码)
    //0x01 是通道编号
    //0x27,0x10 是 10000 的 16 进制码(标准C写法)

Arduino 完整代码如下

void setup()
{
    Serial.begin(9600);
}
void loop() {
    //向通道 1 发送 10000 (2字节无符号整型)
    char send_buff2[8]={0x4A,0x58,0x02,0x03,0x01,0x27,0x10,0x00};
    //0x4A,0x58 是头码
    //0x02 是命令码
    //0x03 是后面的数据长度(不含校验码)
    //0x01 是通道编号
    //0x27,0x10 是 10000 的 16 进制码(标准C写法)
    char CS2 = 0;
    for(char i = 0;i< sizeof(send_buff2);i++){
      CS2 += send_buff2[i];//累加
    }
    CS2 = ~(CS2&0xff);//累加后低8位取反
    send_buff2[sizeof(send_buff2)-1]=CS2;//校验和写到数组的最后
    Serial.write(send_buff2,sizeof(send_buff2));//
    delay(1000);
}

其他格式命令范例请查看JXChart 曲线显示串口工具 - 带校验和通信

方式2:ASCII码传送

例如,发送到通道“CH1”,数值为“12345”,则操作如下:
依次发送 ASCII 码: {CH1,12345}
前提是需要将数值转换成 ASCII 码
例如数值 12345,对应的 16 进制是 0x30,0x39,那要如何才能转成 ASCII 码 12345 呢?

Arduino 发送方法举例

void setup()
{
    Serial.begin(9600);
}

void loop() {
    //向通道 CH1 发送 12345 ,发送的 ASCII 字符串格式是 {CH1,12345},对应的 16 进制如下
    char start_code[]={
      0x7B,//{ 头码
      0x43,//C 通道名
      0x48,//H 通道名
      0x31,//1 通道名
      0x2C,//, 逗号隔开
    };
    Serial.write(start_code,sizeof(start_code));//发送头码和通道名,并且用逗号隔开
    int value=12345;//要发送的数值 12345
    char value_buff[16]={0};
    char pos=0;
    while(value)
    {
      value_buff[pos]=value%10+0x30;//求余数。余数+0x30就可以转成ASCII码
      value=value/10;
      pos++;
    }
    //上面 value_buff 得到的是反序,即54321,需要从高往低发送,处理过程如下
    for(char i=0;i<pos;i++)
    {
      Serial.print(value_buff[pos-i-1]);//
    }
    //之后发送结束码
    char end_code[]={
      0x7D,//} 结束码
    };
    Serial.write(end_code,sizeof(end_code));//发送结束码
    //char buff[11]={0x7B,0x43,0x48,0x31,0x2C,0x31,0x32,0x33,0x34,0x35,0x7D};
    //Serial.write(buff,11);//
    //0x7B 代表 ASCII 码 {
    //0x43,0x72,0x31 代表 CH1 。也可以是其他英文字母或者数字的 ASCII 码值,即 0~9、A~Z、a~z,对应的 16 进制范围是 0x30~0x39、0x41~0x5A、0x61~0x7A
    //0x44 是分割符,固定为 0x44
    //0x31,0x30,0x30,0x30,0x30 ASCII 代表 12345
    //0x7D 代表 ASCII 码 }
    delay(1000);
}

对应的ascii字符串格式是:

	Serial.write("{CH1,12345}",11);//向 CH1 通道发送 12345

方式3:固定头码结束码传送

如果觉得校验码计算或者数值转ASCII码很麻烦,可以采用这种方式来发送
例如要向通道 11 发送正整数 10000

void setup()
{
    Serial.begin(9600);
}
void loop() {
	//向通道 11 发送正整数 10000(2字节整型)。
    char buff2[11]={0xA1,0xA1,0xA1,11,0x27,0x10,0xB1,0xB1,0xB1};
    //0xA1,0xA1,0xA1,0xA1 是头码
    //11 是通道编号
    //0x27,0x10 是 10000 的 16 进制码(标准C写法)
    //0xB1,0xB1,0xB1,0xB1 是结束码
    Serial.write(buff2,sizeof(buff2));
    delay(1000);
}

其他格式命令范例请参考JXChart 曲线显示串口工具 - 固定头码结束码传送

3.下载地址

更多我们未能呈现的示例,还有待您在阅读文档、以及不断使用的过程,去深入挖掘。
最新app获取:
百度盘:https://pan.baidu.com/s/1xY1PU-we3AM3_545WFgZRQ?pwd=btij
腾讯微云:https://share.weiyun.com/qDfi5jLN

普通下载:直接下载

总结

曲线显示,更直观、更高效。
使用说明参考
JXChart 曲线显示串口工具 - 命令协议创建
JXChart 曲线显示串口工具 - 连续命令交互
JXChart 曲线显示串口工具 - 带校验和通信
JXChart 曲线显示串口工具 - ASCII码传送
JXChart 曲线显示串口工具 - 固定头码结束码传送

示波器相信大家都知道了,在设备的连接汇总,通过示波器判断设备的连接方式,检测设备的兼容性等都是非常重要的,这款ComDigitalScopeV100串口示波器软件功能丰富,是一款集硬件设备的检测与串口的连接,查看各种示波器的变化数据,支持恢复,暂停,移动,调焦,放大,缩小, X 轴调节,Y 轴调节等功能于一体的工具,有需要的用户千万不要错过哦。 ComDigitalScopeV100是一款功能丰富的串口示波器软件,该软件主要您可以将示波器的图像调整到适应您浏览大小的比例,也可以直接缩放到最大化,方便您观察不同数据段的波形变化。 本程序在相应硬件(如USB转TTL,高速RS232等)支持下能够进行串口高速数据采集,并使数据在PC机上实时图形显示。 正常操作时,点击START按钮,打开串口接收功能,软件将从串口接收到的数据实时图形化显示。 下位机只要按照说明书的格式通过串口向上发送数据,上位机即可将接收到的数据显示成为波形,有AA55,CRC,SUM的数据校验方式。 当下位机持续向上位机发送满足要求的数据时,软件则会将收到的数据显示为1-8条曲线。 您可根据需要任意扩大缩小图形,并可保存以备下次分析。同时该程序还具有串口调试助手功能。 这是一款功能极其强大的串口调试工具,界面明了,易于使用,若应用于下位机程序开发等工作,将大大提高您的开发效率,成为您必不可缺的开发助手。 ComDigitalScopeV100 有两条坐标T0 T1 ,有T0,T1之间最大最小值显示。可更改各个数据通道名称,以及数据显示倍数显示调整等功能。 试用版本,COM1,波特率为9600bit/s。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

libertyman

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值