串口通讯中要发送字符型数据接收时怎样判断接收完毕
1个回答
展开全部
你之前用的队列结构是完全可行的。 有几个问题你必须清楚: 1. 读取txt文件中的数据,txt中数据是死的,也就是说读取过程叫做 ---- 数据回放 2. 读取实际信息的数据,数据是活的,通常可以叫做 --- 动态数据采集 (实时采集) 针对第一点来说: 数据回放,是指要求你把已经有的数据,按不同的时间段进行回放,这需要你对txt文件中的数据的格式,怎么回放,回放时间间隔把握好。 这个我建议你先不要做,因为数据回放 就是把数据一个个拿出来,再按时间排列去一个个显示出去, 不如实时采集来的直接。 第二点, 实时采集, 也就是说,数据来源可以有两种: 1. 真实数据。 2. 模拟数据。 在你之前的范例程序中,也就是“基础队列.vi”中, 在循环内部的随机数模块,就是模拟数据。 也就是说,是人为做的一个循环随机数。 而真实数据, 就是实际采集到的数据(替换模拟数据)。 真实数据来源有很多种,比如,串口通讯,接收到的不停变换的数据(动态数据)。 在最初做这个项目的时候,我的建议是,如果不了解 真实数据(板卡数据采集/通讯等), 那么就使用模拟数据, 在labview中有很多可以模拟的子VI,比如正玄波发生器等等。 或者, 人为造信号,比如之前的“基础队列.vi”中,范例造的随机数信号。 这里就涉及到你之前问的一个问题, 数 --- 字符串 。 (这些是计算机基础知识) 字符在c语言中是char类型,在数据的传递中, 字符串是以ASCII码形式传输的, 说白了也是数 只不过比如“s”对应的ASC码数是“78”(没查表只是举例)。 在内存中占1个字节。 所以,当以字符串传递数据的时候, 数的表现形式往往是 人 看不懂的,因为是ASC码 所以,你传递整数, 传递字符串,其道理是一样的,只是如何能让人 来读懂这些数。 所以 “基础队列.vi”中的 随机数 vi 是以double双精度数传递的 一个 数, 而你所要做的就是 把 这个 随机数vi 换成 字符串的输出形式。 labview查找 数组转字符串 这个vi 或 字符串转8位数组 这个vi, 然后查看如何使用,可以帮助你, 而demo的 “基础队列.vi”程序可以保留, 你所要做的就是以上说的这些基础。 如果无法理解数据 传输 ,以及相关的计算机基础 知识, 只能恶补了,现在很难几句说清楚啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询