我这边有个通信的流程图还有协议,找大侠帮忙教下程序代码怎么写,我是个初学者尽量写的详细些谢谢!!! 30

上位机:PC或PDA下位机:传感器通信过程注释:一,通信采用串口通信,设置串口号、波特率9600、数据位长度8位等。二,传输指令采用十六进制通信数据格式一、采集设置指令:... 上位机: PC 或PDA
下位机: 传感器
通信过程

注释:
一, 通信采用串口通信,设置串口号、波特率9600、数据位长度8位等。
二, 传输指令采用十六进制通信
数据格式
一、 采集设置指令:BIT3 BIT2 BIT1 BIT0(这4个字节均为十六进制表示法)

BIT3:BIT3又表示为D7D6D5D4D3D2D1D0
其中:
D7D6——是否连续测量
00——否
01——是 64
D5D4——要发送的数据类型
00——振值
11——频谱 48(0011000)
10——波形(只能测加速度的波形) 32
D3D2D1D0——参数及特征值类型
0000(即0H)——加速度A等效峰值 0
0001(即1H)——速度V有效值 1
0010(即2H)——位移D等效峰峰值 2
0011(即3H)——包络E有效值 3
BIT2:设置频程
01H——100
02H——200
03H——500
04H——1k
05H——2k
06H——5k
07H——7k
08H——10k
09H——20k
BIT1:D6,D5,D4——量程设置
000——2 0
001——5 16
010——10 32
011——20 48
100——40 64
101——80 80
D3,D2设置量程
00——自动量程 0
01——手动量程 4
D1,D0设置振值类型
00——测量单一振值 0
01——测量4振值 1
BIT0:设置采样点数
00H——不采集波形
01H——32采样点
02H——64采样点
03H——128采样点
04H——256采样点
05H——512采样点
06H——1024采样点
07H——2048采样点
08H——4096采样点
二、发送的数据结构及包格式:
1、振值数据结构:
struct SPE_TYPE//振值数据的结构体
{uchar parameter;//参数类型
uchar frequery_range;//频程
uchar data_type; //振值类型
float SINGLE; //单一振值
float ACCVALUE;//加速度振值
float VELVALUE;//速度振值
float DISVALUE;//位移振值
float ENPVALUE;//包络振值
}NEWF;
振值数据包格式:包标志(0xFF)+包号(1B)+有效数据(23B)+校验数据(1B)
2、频谱数据结构:
struct SPE_TYPE1
{uchar parameter;//参数
uchar frequery_range;//频程
uchar sample_point; //量程
float ad_coeffcient; //系数
wchar_t ad_fre[400];//频谱数据
}NEWF1;
数据包格式:包标志(0xFF)+包号(1B)+有效数据(807B)+校验数据(1B)

3、波形数据结构
struct SPE_TYPE2
{uchar sample_point;//量程
float ad_coeffcient;//系数
int ad[4096];//波形数据
} NEWF2;

数据包格式:
包标志(0xFF)+量程(1B)+波形系数(4B)+包号1(1B)+有效数据(波形数据)(64B)+校验数据(1B)+包号2(1B)+有效数据(波形数据)(64B)+校验数据(1B)+……
波形数据按32点数据(64B)为一个数据包发送
包校验的算法:除包号外的所有数据相加和的最低位字节
上位机对数据进行修正(乘系数),修正数据在“系数.txt”中
加速度振值:zhenzhia 速度振值:zhenzhiv 位移振值:zhenzhid 包络振值:zhenzhie
加速度频谱:pinpua 速度频谱:pinpuv 位移频谱:pinpud 包络频谱:pinpue
波形:boxing
单精度浮点数,vb和vc的字节顺序相反。如vb是 B1,B2,B3,B4 vc是B4,B3,B2,B1

实例检测加速度的指令

序号

测量类型

测量方式

指令

备注

1

加速度峰值

单次测量

53 00 04 00 00

2

连续测量

53 40 04 00 00
展开
 我来答
  • 你的回答被采纳后将获得:
  • 系统奖励15(财富值+成长值)+难题奖励10(财富值+成长值)+提问者悬赏30(财富值+成长值)
changjeff
2014-10-17 · TA获得超过804个赞
知道小有建树答主
回答量:2008
采纳率:54%
帮助的人:842万
展开全部
这个很简单,随便写个软件分析分析就是了
追问
呵呵,我知道很简单但是我是个初学者,这个简单的我都不会所以求教,能帮我详细的写下么,谢谢了。
追答
你自己研究研究吧,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式