抖音粉丝群1
『7x24小时有问必答』

AI浪潮下的计算机行业——从业者现状与未来展望
一. 确定方案和目的

     在电子电路和工业应用中,串口通信被广泛应用,串口蓝牙模块,串口触摸屏幕,通过串口下载PLC程序,通过串口来控制仪器仪表等等。这些预留是为了提供标准的数据对接协议,所以本节来通过labview学习串口的使用,主要知识点是数据读取原理和上位机编程实现方法,具体如下:   01. 掌握labview串口接收使用方法,理解串口通信原理;   02. 掌握串口轮询读取和中断读取代码的实现方法;   03. 学习两种上位机编程,实现与硬件数据交互;   关键词:labview、串口、C#语言
二. 上位机串口读取(labview)

w2.jpg

w3.jpg

01. 轮询方法读取串口的方法是固定时长读取串口接收缓存;

02. 首先用延时,然后获取串口内部缓存数量,再应用串口读取模块;

03. 这种读取串口的方法,存在数据丢失和数据堆叠现象;

04. 假设硬件自主每秒上传9个数据,上位机轮询周期是500ms,会出现数据在500ms的整数倍时刻被截断情况;

w4.jpg

w5.jpg

05. 为了单次轮询数据丢失或者不完整,可以采取将多次轮询数据拼接和加快轮询速率;

06. 自主串口启用后,第一次读取会出现大量数据被读出,因为缓存堆积现象;

07. 解决缓存堆积现象可以打开串口后清除缓存;

08. 假设硬件自主每秒上传9个数据,上位机轮询周期是100ms,数据经过多次拼接能够完整呈现;

09. 这种方式能够解决不定长度的接收数据透传;

10. 区分一段字符串是依据超时检测机制来判断;检测最新的轮询数据为零时认为语句接收结束;

w6.jpg

w7.jpg

11. 轮询浪费CPU资源,上位机串口也可以使用串口接收中断;

12. 启用中断事件,检测中断或超时,正确中断会进入读取代码块;

10. 中断方法能够比较容易的区分代码片段,能够减轻CPU负载;

三. 案例分析    智能遥控车能够采集温度湿度有害气体,并能够通过GPS获取方位坐标,本例采用轮询串口读取方式获取数据。通过查询数据起始位标志来截取字符串,存在一定的数据浪费现象。
w8.jpg
    本例读取温度也是采用轮询串口读取方式获取数据。通过CRC校验来截取字符串,提高了数据的正确稳定效果,使用字节传输方式压缩了数据尺寸量,容易做到较大数据块上传。
w9.jpg

4.上位机串口读取(C#语法)
    C#对于串口接收的处理原理是,使用中断方式来操作硬件的串口数据。使用串口需要定义参数,映射中断函数,开启中断,处理数据等流程;
...using System.IO.Ports;using System.Threading;using System.Threading.Tasks;using System.Text;...SerialPort xxxx = new SerialPort("COM1",9600,Parity.None,8,StopBits.One);...xxxx.DataReceived += new SerialDataReceivedEventHandler(xxxx_DataReceived);xxxx.Encoding=Encoding.Default;...xxxx.PortName="COM1";xxxx.Open();xxxx.Close();xxxx.Write("ABCDEF\r\n");...privatevoidxxxx_DataReceived(object sender,SerialDataReceivedEventArgs e){    xxxx.ReadExisting();}
5.相关书籍推广
第一本是上位机C#编程书籍,适合程序员使用的软件教程,代码编程;第二个是上位机labview编程书籍,适合工程师使用的教程,图形化编程理念;






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

上一主题上一主题         下一主题下一主题
QQ手机版小黑屋粤ICP备17165530号

关于我们·投诉举报· 用户帮助· 联系我们 · 本站服务 · 版权声明· 隐私政策 · 投搞指南

法律保护:PLC技术网,plcjs.com,plcjs.net等字样
Copyright 2010-2030. All rights reserved. 


微信公众号二维码 抖音二维码 百家号二维码 今日头条二维码哔哩哔哩二维码