匿名助手使用记录


前言

在开发过程中,将采集的数据通过串口形式打印出来,且可以描绘成图像,这样可视化的操作对于工程师开发无疑是巨大的帮助,匿名助手正好具备此功能。


一、匿名助手

1 安装

打开匿名助手官方仓库,里面有网盘链接下载并安装。

2 协议

匿名助手的使用,莫非就是按照提供的协议上传数据,即可在上位机上显示。

交互协议如下:

交互协议
*数据长度LEN的单位是byte

*针对源地址和目标地址说明:
源ID是给每个设备分配的ID,即发送设备的ID号;
目标ID是数据发送给哪个设备ID号,即接收设备的ID号。
匿名助手提供了1-199给用户自定的ID范围,其余是分配给匿名产品的ID号。
硬件地址

和校验与附加校验说明:

在这里插入图片描述

uint8_t sumcheck = 0;
uint8_t addcheck = 0;
uint16_t flen = BUFF[4] + BUFF[5] * 256;
for(uint16_t i = 0; i < (flen+6); i++)//校验计算
{
	sumcheck += BUFF[i]; 
	addcheck += sumcheck; 
}
BUFF[flen+6] = sumcheck;//和校验
BUFF[flen+7] = addcheck;//附加校验

匿名助手的用途:

匿名助手用途

匿名助手数据帧类型主要为以下三种:

  1. 数据校验帧
  2. 灵活格式帧
  3. 基本信息类帧

二、应用举例说明

1.利用灵活格式帧上传数据查看

灵活格式帧:功能码ID为0xF1~0xFA
数据长度:根据数据内容设置,以byte为单位。
数据内容:设置根据需要设置。

灵活格式帧

anoass_debug.c

#include "anoass_debug.h"
#include "uart.h"

uint8_t BUFF[100];

void sent_F1frame(uint32_t x1_ual,
				  uint32_t x1_enc,
				  uint32_t x2_ual,
				  uint32_t x2_enc,
				  uint32_t y1_ual,
				  uint32_t y1_enc,
				  uint32_t y2_ual,
				  uint32_t y2_enc)
{	
		uint8_t _cnt = 0;
		BUFF[_cnt++]=0xAB;//帧头
		BUFF[_cnt++]=0xFF;//源地址
		BUFF[_cnt++]=0xFF;//目标地址
		BUFF[_cnt++]=0xF1;//功能码(ID)
		BUFF[_cnt++]=32;  //数据长度(2字节)
		BUFF[_cnt++]=0;   //数据长度
	
//存数据 BEGIN
		BUFF[_cnt++]=BYTE0(x1_ual);
		BUFF[_cnt++]=BYTE1(x1_ual);
		BUFF[_cnt++]=BYTE2(x1_ual);
		BUFF[_cnt++]=BYTE3(x1_ual);
	
		BUFF[_cnt++]=BYTE0(x1_enc);
		BUFF[_cnt++]=BYTE1(x1_enc);
		BUFF[_cnt++]=BYTE2(x1_enc);
		BUFF[_cnt++]=BYTE3(x1_enc);
	
		BUFF[_cnt++]=BYTE0(x2_ual);
		BUFF[_cnt++]=BYTE1(x2_ual);
		BUFF[_cnt++]=BYTE2(x2_ual);
		BUFF[_cnt++]=BYTE3(x2_ual);
		
		BUFF[_cnt++]=BYTE0(x2_enc);
		BUFF[_cnt++]=BYTE1(x2_enc);
		BUFF[_cnt++]=BYTE2(x2_enc);
		BUFF[_cnt++]=BYTE3(x2_enc);
		
		BUFF[_cnt++]=BYTE0(y1_ual);
		BUFF[_cnt++]=BYTE1(y1_ual);
		BUFF[_cnt++]=BYTE2(y1_ual);
		BUFF[_cnt++]=BYTE3(y1_ual);
	
		BUFF[_cnt++]=BYTE0(y1_enc);
		BUFF[_cnt++]=BYTE1(y1_enc);
		BUFF[_cnt++]=BYTE2(y1_enc);
		BUFF[_cnt++]=BYTE3(y1_enc);
	
		BUFF[_cnt++]=BYTE0(y2_ual);
		BUFF[_cnt++]=BYTE1(y2_ual);
		BUFF[_cnt++]=BYTE2(y2_ual);
		BUFF[_cnt++]=BYTE3(y2_ual);
		
		BUFF[_cnt++]=BYTE0(y2_enc);
		BUFF[_cnt++]=BYTE1(y2_enc);
		BUFF[_cnt++]=BYTE2(y2_enc);
		BUFF[_cnt++]=BYTE3(y2_enc);
//存数据 END
		uint8_t sumcheck = 0;
		uint8_t addcheck = 0;
		uint16_t flen = BUFF[4] + BUFF[5] * 256;
		for(uint16_t i = 0; i < (flen+6); i++)//校验计算
		{
			sumcheck += BUFF[i]; 
			addcheck += sumcheck; 
		}
		BUFF[_cnt++] = sumcheck;//和校验
		BUFF[_cnt++] = addcheck;//附加校验
		Usart1_DMA_Send(BUFF, _cnt);//串口发送
}

anoass_debug.h

#ifndef __ANOASS_DEBUG_H_
#define __ANOASS_DEBUG_H_

#include "sys.h"

#define BYTE0(dwTemp) (*(char *)(&dwTemp))
#define BYTE1(dwTemp) (*((char *)(&dwTemp)+1))
#define BYTE2(dwTemp) (*((char *)(&dwTemp)+2))
#define BYTE3(dwTemp) (*((char *)(&dwTemp)+3))

void sent_F1frame(uint32_t x1_ual,
				  uint32_t x1_enc,
				  uint32_t x2_ual,
				  uint32_t x2_enc,
				  uint32_t y1_ual,
				  uint32_t y1_enc,
				  uint32_t y2_ual,
				  uint32_t y2_enc);

#endif

上位机设置

灵活数据
数据波形选中对应变量


总结

匿名助手使用记录,举例使用灵活数据帧上传数据进行波形显示,其他功能后续使用到再添加更新(仅个人开发记录,若侵权删)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值