完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
本帖最后由 hejin515 于 2015-11-2 11:06 编辑
一个温度传感器发送的数据格式为:0xaa 0xxx 0xxx 0xxx 0xxx 0xff,比如某次发送的数据是:“AA 01 08 B1 BA FF”,可是我却是分两次或四次收到的,比如:先收到“AA”后收“0108 B1BA FF”;或者先收到“AA”后收“0108 B1”然后是“BA”最后才收到“FF”。不知道这是什么原因,是设置问题还是时序之类的问题吗? |
|
相关推荐
11个回答
|
|
是不能一次就收到的,所以数据帧才会有帧头帧尾,楼主可以延时一会再读取数据,就能一次结束所有数据了,或者使用移位寄存器收集接收到的数据
|
|
|
|
既然你有0xaa和0xff这帧头帧尾,就可用用以为寄存器+连接字符串,将所有读到的值先一起存起来,然后用匹配字符串函数搜索0xaa***0xFF这样子,就将你要的内容匹配出来了
|
|
|
|
先谢谢了。都是不能一次收到的吗??因为我最终的目的不仅仅得到这些数据,读完后面我还要提取其中的数据处理计算出温度,我得不停读取串口数据还要运算显示和存储运算结果。所以想最好能一次读取所有的数据,这样读完我里面可以计算,然后再进行下个循环读取计算。如果要分两次或者四次连接起来,那我读数是四次计算一下,我还没想好整个程序怎么实现。 |
|
|
|
aa40111 发表于 2015-11-1 11:40 先谢了。。关键收到的数据是不断变化的,只是有那个样的各式 ,怎么匹配出中间的数据? |
|
|
|
可以多次读取,然后连接字符串
|
|
|
|
|
|
|
|
谢谢分享谢谢分享谢谢分享
|
|
|
|
可用考虑多线程,一个循环里面读数据,然后用队列在另一个循环里面处理数据。你搜索范例里面的队列的例子,看看就能明白了。 |
|
|
|
是个思路,谢谢。现在准备学习生产者消费者模型。 |
|
|
|
采用多线程采用多线程采用多线程
|
|
|
|
谢谢,这个已经解决了。现在就是偶尔来个突变值,在想着该如何滤波,比如前后两次差值过大就舍掉这次的保留上一次的,不知有何高见? |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
打开labview时很慢,在任务管理器里面看到,内存能有1000多M,重装也没用,各位大佬这是什么问题引起的,怎么解决
1375 浏览 3 评论
1990 浏览 2 评论
Labview生成的exe程序,源程序找不到了,有什么办法可以对exe程序的界面和菜单等进行调整和编辑
3068 浏览 1 评论
想通过labview实现这个二维数组转成一维数组的功能,但是不知道怎么搞?新手求图(苍蝇戳手)
2804 浏览 3 评论
关于DAQExpress软件中电压的最大值最小值是根据什么来确定的?
2715 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-9-18 12:21 , Processed in 0.749891 second(s), Total 96, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号