2 baidu 34454232 baidu_34454232 于 2016.04.21 11:14 提问

如何从串口接收一段16进制数据中 读取需要的数据

串口接收到的16进制数据:
53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a
53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a
53 d4 ac 4e d4 ac 2d 30 30 30 b4 2e 36 b2 8d 0a
.
.
.
串口接收到的ASCII数据:
Ç k ‚ ‚ ‚ ¢ s ² ’ k u Í Š Ç k ‚ ‚ ‚ ¢ s ² ’ k
S Ô ¬ N Ô ¬ - 0 0 0 ´ . 6 ² 
S Ô ¬ N Ô ¬ - 0 0 0 ´ . 6 ² 
S Ô ¬ N Ô ¬ - 0 0 0 ´ . 6 ² 
S Ô ¬ N Ô ¬ - 0 0 0 ´ . 6 ² 

需要的数据: 2d 30 30 30 b4 2e 36 b2 ,ASCII显示就是:-0004.62

怎么取这段数据。

1个回答

CSDNXIAOD
CSDNXIAOD   2016.04.21 21:22

Qt5串口发送16进制数据,读取串口16进制数据
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

qq_34000206
qq_34000206 问的MFC 回答Qt的干嘛
7 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
QT 的 串口接收的数据 QByteArray 类怎么得到16进制
QByteArray list = sp->readAll(); if(list .size() == 0) return ; if(list .size() > 4 && list .at(0) == 0x0D && list .at(1) == 0x0A && list .right(2).at(0)== 0x0D && list .rig
c#中接收16进制串口数据(com), 在textbox显示
static int buffersize = 18;   //十六进制数的大小(假设为9Byte,可调整数字大小) byte[] buffer = new Byte[buffersize];   //创建缓冲区 private void button1_Click(object sender, EventArgs e) {     serialPort1.Read(buffer,
Java串口通信(16进制)
/** 字节流读取底层发来的16进制数据时,当Java是按照ASCII码的方式转换,当字符超过“80”时会出现乱码,所以要将字节流数据转换为十六进制的形式读取(即和底层发来的数据一致)。然后,再按照协议进行转换。 向底层发送16进制数据时,要先将16进制字符串转换为byte[]形式再进行发送,和底层进行通信。 例:SerialTool.write(HexStri
串口数据读取,ascii和16进制2种方式
用vc控件,读取串口数据,ascii和16进制2种方式
在VMware里的linux用minicom读取串口数据
在VMware里的linux装minicom读取串口数据: 软件环境:在win7上装VMwave,在VMware里装的Ubuntu,在Ubuntu 里装的串口工具minicom. 硬件:Z-Tek的usb转串口 (内部的IC:PL2303) 1,给电脑插上USB转串口的硬件,打开WMware,如果VMware检测到该硬件,则打开VMware时会出现对应的提示: 打开ubun
Python3 串口接收与发送16进制数据包
import serial import string import binascii s=serial.Serial('com4',9600) s.open() #接收 n=s.inwaiting() if n: data= str(binascii.b2a_hex(s.read(n)))[2:-1] print(data) #发送 d=bytes.fromhex('10 1
MATLAB GUI串口程序 实现16进制收发
MATLAB实现GUI实现串口通讯 十六进制通讯
串口以及USB转串口收发程序(16进制数的读取发送)
#include #include   #include   #include   #include   #include   #include   #include   #include #include #include #define FALSE -1   #define TRUE 0      int speed_arr[] = {B115200, B38400
基于QT5实现十六进制串口数据的收发
之前做的一个简单串口上位机  收发数据是文本格式,在此基础上修改,实现十六进制数据的发送和接收 最重要的是两个收发函数 串口数据的发送: void Widget::StringToHex(QString str, QByteArray & senddata) //字符串转换成16进制数据0-F { int hexdata,lowhexdata; int hexdatalen
QT串口接收十六进制
前段时间写了个“QT串口发送十六进制”,为了对应,现在来个下部剧集。 我要接收的数据比较长,“01 03 24 01 19 …………00 D5 F6”中间省略一大截,为将这些数据接收到一个字符串中,参考QT论坛里的文章,总结如下: QByteArray tmp; if(highCom->bytesAvailable() >= 41) { tmp =