加入星计划,您可以享受以下权益:

  • 创作内容快速变现
  • 行业影响力扩散
  • 作品版权保护
  • 300W+ 专业用户
  • 1.5W+ 优质创作者
  • 5000+ 长期合作伙伴
立即加入

基于LabVIEW的串口波形上位机(完整程序源码)

2017/06/28
234
服务支持:
技术交流群

完成交易后在“购买成功”页面扫码入群,即可与技术大咖们分享疑惑和经验、收获成长和认同、领取优惠和红包等。

虚拟商品不可退

当前内容为数字版权作品,购买后不支持退换且无法转移使用。

加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论
放大
方块图
  • 方案介绍
  • 相关文件
  • 推荐器件
  • 相关推荐
  • 电子产业图谱
申请入驻 产业图谱

附件内容分享的是基于LabVIEW上位机串口通信,通过LabVIEW上位机显示波形,在分享其实现的源码同时,分享一段LabVIEW上位机与串口通信工作原理。

基于LabVIEW的串口波形上位机界面展示:

定义通信格式及功能

因为数据不算复杂,所以定义简单下位机帧格式:帧头(0xAA) 类型字节 数据低8位 数据高8位 保留字节1 保留字节2 校验字节

如果要传送的数据比较多/复杂,则可以参考ModuleBus协议!

主要功能包括:

  • 对帧中的类型字节进行解析,并多通道显示在示波器
  • 帧偏差校正(这个一般人可能都没有做,造成数据丢失,而我这只要串口传输的数据没错,就能无错漏的解析每一帧)
  • 实时显示读取的每个字节/双字节/4字节
  • 信号保存,保存文件名自动按时间命名,适合查阅
  • 信号回放
  • 对信号进行解析,用指示灯显示

程序关键点展示:

上面虽然简单,但却是功能的最主要部分,包括帧头查找和错帧处理的程序。错帧发送的情况是:比如从串口中独到的帧并不是从帧头开始而是帧中间开始,如   0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00 

其前面一帧可能是这样:... 0xAA(帧头) 0x01(类型) 0x01(数据)

这样,按查找帧头的方法,数据0x12就会丢失,实际数据按理应该是0x02*256+0x01,错帧处理就是将上一帧尾部不足一帧的部分加到下一帧中,这样下一帧就变成了:0xAA(帧头) 0x01(类型) 0x01(数据) 0x12(数据) 0x00 0x00 0x00 0xAA(帧头) 0x00

判断类型过程很简单,使用switch结构就行了(LabVIEW中就是条件结构同时实现了if和switch),编程时就是注意必须设置默认分支就行!

文件保存我使用了数据表,因为它确实简单,这里的亮点是增加了按时间保存的功能,相当于将时间字符串加入到文件名中,这样便于后期对采集的数据进行查找,不至于混乱。


波形回放就是将存储在数据表中的程序重新显示一遍,比较简单!

  • 基于LabVIEW的串口波形上位机完整程序源码.zip
    描述:上位机完整程序源码

推荐器件

更多器件
器件型号 数量 器件厂商 器件描述 数据手册 ECAD模型 风险等级 参考价格 更多信息
88E1512-A0-NNP2C000 1 Marvell Technology Group Ltd Ethernet Transceiver, QFN-56
暂无数据 查看
24LC256T-I/SN 1 Microchip Technology Inc 32K X 8 I2C/2-WIRE SERIAL EEPROM, PDSO8, 3.90 MM, ROHS COMPLIANT, PLASTIC, SOIC-8

ECAD模型

下载ECAD模型
$0.97 查看
DP83822IRHBT 1 Texas Instruments Low-power, robust 10/100-Mbps Ethernet PHY transceiver with 16-kV ESD 32-VQFN -40 to 85

ECAD模型

下载ECAD模型
$4.03 查看

相关推荐

电子产业图谱