姓名:赵宗明
学号:19021211230
【嵌牛导读】:Labview 串口通信 数据包
【嵌牛鼻子】:本设计借助了Labview软件工具制作简易的串口发送上位机
【嵌牛提问】:串行接口是连接单片机和PC机的一种简单方式。电脑一个字节是如何收发的?一串数据是如何收发的?
【嵌牛正文】:
首先说明:本设计开发软件利用了KeilSoftware官方提供的Keil5和美国国家仪器(NI)公司研制Labview图形化编程环境。
要实现电脑端数据包的发送首先我们应该了解串口发送一个数据是如何发送的,查阅Datasheet我们得到如下串口传输时序:
以上时序所说明的是串口发送一帧数据(一个字节)的时序图,时序图中串口发送的格式为:起始位(1bit)+数据位(8bit)+停止位(1bit),所以我们发送数据时也应该以以上格式发送,查看Labview中串口写入控件:
从以上说明可知,我们将串口端口号以及所要发送的数据连接至正确的端口,该控件就可以以串口发送的格式无误的将数发送出去,这样就到达单个字节数据的发送。
其次查看连接字符串函数控件:
我们可以将想要的数据包,通过该控件连接成字符串将其一次发送。
我们实现一下数据的发送:
我们将四个数据写入发送框,点击发送,在接收端得到:
从以上两图可以看出,我们是按照一定的通信协议进行数据包的传输的,为什么要利用通信协议传输数据呢?一是为了数据的稳定,二是为了有效数据的提取。该设计中我们利用了如下协议:‘空格’+ ‘元素号’+‘:’+‘数据’(例:“0:12 1:24 2:48 3:64”),
该协议的解释:
空格:每个有效数据之间都用空格隔开,所以当我们解析数据的时候,就可以以空格作为解析数据的开始。
元素号:有效的索引接收到的数据是第几个数据。
“:”:当接收到字符‘:’时,则表明下一帧数据是我们有效数据。
电脑端程序框图如下所示: