【串口通信】LabVIEW串口通信的一个例子-串口"示波器"


http://www.cnblogs.com/imapla/archive/2013/01/09/2852171.html


很早就想做一个类似的东西了,正好这学期学了LabVIEW,作业就交了这个,基于LabVIEW的“串口示波器”上位机。

1.程序界面:

功能介绍:左边上方串口接收区,下方为串口字符发送区。右方为一个波形图表,在程序内部每次将串口发送过来的数据,以f%格式化,显示在波形图表上。
按钮介绍:从左至右依次,发送按钮;清除计数按钮;打开/关闭串口按钮;清除接收区数据;清除波形图表;保存波形;退出程序。

 

2.主程序框图:

主程序框图介绍:主程序框图主要由3个状态组成:程序的初始化,程序事件的响应,程序的退出。

状态Init:程序初始化,主要把OpenCom等按钮,串口状态,串口接收字符串,波形图标,TX/RX计数等控件,置为False或清零。初始化状态只执行一次,接下来就进入状态Event。

状态Event:程序事件响应,由一个事件结构构成,共需响应8个事件:Open/CloseCom按钮事件;串口号或波特率改变事件;发送按钮事件;清空计数按钮事件;清空接收区按钮事件;清空波形区按钮事件;保存波形按钮事件;菜单选择事件;退出按钮事件。如果在此状态,按下退出按钮,则进入状态Exit,否则程序将一直运行在此状态。

状态Exit:程序退出。退出前需关闭已打开的VISA句柄。

 

3.串口接收程序框图:

串口接收程序框图介绍:当串口状态为真时,调用串口属性节点”Bytes at Port”,如果串口缓冲区有X字节的数据就接收X字节的数据。最后,用一个状态机来实现相邻两个字符串的判断。如果串口在相邻两个字符串之间接收时间大于50ms,则判断为两个独立的字符串;如果小于50ms,则自动拼接前后两个字符串。


下载

posted @   PORTB  阅读(585)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」
点击右上角即可分享
微信分享提示