labview串口读不到数据问题的一些经验总结

用labview写的串口一直读不到数据,找了很久终于发现原因了。

在写串口之前,先确定串口的配置有没有错。如波特率、校验位、停止位、流控制等。

然后是确定硬件能用。包括USB转串口,单片机。我用的是USB转TTL,最方便的一种验证方法就是,把USB转TTL的RX脚和TX脚短接起来,运行labview写的串口,实现自发自收的功能。验证单片机就用串口调试工具和单片机通信,调试工具发送命令,看单片机能不能返回数据。

labview的串口写法网上有很多,我就不详述了。主要讲一下我遇到的问题。

自己写的串口发下去数据,labview串口接收缓冲区接收不到。已经用上面的方法验证过,可以下发和接收的。后来查看数据类型,发现这个有影响。单片机接收的终止符是\r\n,而我labview发下去的只有\n。这个把发送缓冲区用十六进制显示,就可以看到最后的终止符只有\n,也就是换行符。也可以通过发送的字节数看。\r\n是两个字节,发的数据字节比自己输入的字节数要多两个。我需要的是\r\n,回车CR加换行LF,所以单片机接收不到我发的命令,所以没有返回。换成十六进制输入,增加\r\n,发送,就可以收到自己想要的数据啦。

labview只有一个终止符,也可以自己添加多个终止符,在这里附上NI论坛的链接:http://www.ni.com/tutorial/4256/zhs/

踩过的坑,希望能帮助到大家。

  • 7
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
LabVIEW是一款可视化编程语言和开发环境,可用于数据采集、数据处理和图形化显示等应用。它支持串口通信,可以通过串口接收和发送数据。如果想在LabVIEW中实现串口数据的波形显示,可以按以下步骤操作: 1. 打开一个新的LabVIEW程序或者已有的程序。 2. 在Block Diagram中拖动一个串口控制器(Serial Port)的图标到面板上。 3. 右键点击串口控制器的图标,在弹出的菜单中选择“属性”来配置串口参数。可以设置串口号、波特率、数据位、停止位等。 4. 从LabVIEW的函数面板中拖动图表控件(Graph)到面板上,用于显示接收到的数据波形。 5. 通过串口控制器的“Read”函数来串口接收缓冲区中的数据。 6. 将取到的数据连接到图表控件上,可以通过适当的处理将数据转换为波形形式。 7. 在程序运行中,接收到的数据将实时显示在图表控件上,从而完成串口数据的波形显示。 需要注意的是,根据实际应用场景的要求,可能还需要进行一些数据的处理,例如根据信号范围进行数据缩放、滤波或者归一化等。此外,需要确保串口参数的设置与外部设备的通信参数一致,以确保数据的正确接收和解析。 总结起来,通过使用LabVIEW串口控制器和图表控件,可以实现串口数据的波形显示,并且可以根据具体需求进行数据处理和调整。这种可视化的开发方式使得实现波形显示变得更加简单和直观。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值