发 帖  
原厂入驻New
[问答] 串口通信协议求解读
838 单片机 STM32 串口通信 通信协议
分享
求解读,这个协议要怎们弄,第一次处理这些
0
图.png
奖励11积分
2019-10-14 23:34:58   评论 分享淘帖 邀请回答
6个回答
写的挺清楚的啊
数据包的格式为
包头 长度 8个数据 spo2
包头是0xFF
长度是9或者14
第一个数据是异常标志
第二个数据乘以100加上第三个数据是心率
第4到第8是5个心电图数据

结帖
最佳答案
2019-10-14 23:34:59 2 评论

举报

2 条评论
  • 2019-10-15 11:08

    就是不知道怎么去提取,自己用那些函数获取数组但是打印不了没有数据

    lich90 回复 SSNCDSS: 2019-10-15 11:29

    那你就要加油了,这是你软件的问题
    中断里面根据包头和长度,获取一帧数据
    主函数处理数据,分给我吧,此贴结

串口通信  波特率为9600  数据位8位  无校验位  1个停止位。
数据包:
包头0XFF【数据包的第一个数据】;
数据包的长度 9或者14【数据包的第二个数据】;
数据包的第三个数据是异常位【这个数据表示在报什么错之类的,对照你的附表2】;
数据包的第四 第五个数据是心率,计算方式:ECG1*100+ECG2;
ECG3到ECG7是心电图数据;

数据比较多为了防止丢数据要用中断处理,0XFF包头到开始存数据,第二个数据表示数据包长度【这里要注意,数据包长度要么是9要么是14,如果不是这两个值 说明刚刚接收到的0XFF不是包头,因为ECG0-ECG7也有可能出现0XFF】,根据包头和数据长度去提取一帧数据,提取了就可以去计算你的心率 心电图数据了。
2019-10-15 22:22:31 评论

举报

这个我做过。难点在于接收,你检测到帧头0xff之后开始接收数据,接收几个字符呢?根据len确定,接收到len个字符后,停止接收,去解析数据,解析完之后,在根据这个协议发出去。里面应该还有校验吧。你这个协议设计的不好,帧头应该两个字符,一个字符容易出错
2019-10-18 10:32:59 评论

举报

你这个协议设计的不好,帧头应该两个字符,一个字符容易出错
2019-10-18 10:32:59  评论 打赏 举报  
yulanhao
学生
撰写答案
2019-10-28 10:18:32 评论

举报

你这个协议设计的不好,帧头应该两个字符,一个字符容易出错
2019-10-18 10:32:59  评论 打赏 举报  
yulanhao
学生
撰写答案
2019-10-28 10:18:50 评论

举报

你 你分享从众从人众从人从人人从
2019-11-5 18:20:08 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

我要提问
关闭

站长推荐 上一条 /10 下一条

快速回复 返回顶部 返回列表