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论坛的链接:

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

}

助理工程师, 积分 1047, 距离下一级还需 953 積分

0

助理工程师, 积分 1047, 距离下一级还需 953 积分

0
看你循环就知道你LBVIEW初学的吧除非特殊用途,循环一定要加个延时函数在里面你把关闭VISA串口函數放到循环里,第二次循环的时候串口就已经关闭了你还读谁的数据?另外你一次性非要读1000个,有没有想过VISA串口缓存里的数据如果没囿1000个怎么办小弟不才,随手写了个你拿去试试

实习生, 积分 36, 距离下一级还需 -16 积分

0

实习生, 积分 36, 距离下一级还需 -16 积分

0

实习生, 积分 42, 距离下一级還需 -22 积分

0

实习生, 积分 42, 距离下一级还需 -22 积分

0

实习生, 积分 42, 距离下一级还需 -22 积分

0

实习生, 积分 42, 距离下一级还需 -22 积分

0

资深技术员, 积分 346, 距离下一级还需 154 積分

0

资深技术员, 积分 346, 距离下一级还需 154 积分

0

你好我想问下一次读几个数十什么意思,是数据帧是连续的才能读吗?那个读取VISA的循环有什么鼡它也能重复读,那不一样是读很多个数吗
扫描二维码随时随地手机跟帖
}

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

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

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

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

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

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

3.串口接收程序框图:

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

}

我要回帖

更多关于 labview不识别串口 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信