LabVIEW环境下的串口程序设计.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LabVIEW环境下的串口程序设计 转载?? 2012-06-04 14:55:02|??分类: labview学习 |??标签: |字号大中小?订阅 第一部分 使用LabVIEW系统VI???????????? 1.1、串口VI介绍 LabVIEW的串口通讯VI位于Instrument I/O Platte的Serial中,包括: VISA Configure Serial Port:初始化VISA resource name指定的串口通讯参数VISA Write:将输出缓冲区中的数据发送到VISA resource name指定的串口 VISA Read:将VISA resource name指定的串口接收缓冲区中的数据读取指定字节数的数据到计算机内存中 VISA Serial Break:向VISA resource name指定的串口发送一个暂停信号 VISA Bytes at Serial Port:查询VISA resource name指定的串口接收缓冲区中的数据字节数 VISA Close:结束与VISA resource name指定的串口资源之间的会话 VISA Set I/O Buffer Size:设置VISA resource name指定的串口的输入输出缓冲区大小 VISA Flush I/O Buffer:清空VISA resource name指定的串口的输入输出缓冲区 1.2、使用说明 在LabVIEW环境中使用串口与在其它开发环境中开发过程类似,基本的流程框图如下。???????????? 图1、串口操作数据流图 首先需要调用VISA Configure Serial Port完成串口参数的设置,包括串口资源分配、波特率、数据位、停止位、校验位和流控等等。 图2、初始化串口 如果初始化没有问题,就可以使用这个串口进行数据收发。发送数据使用VISA Write,接收数据使用VISA Read。在接收数据之前需要使用VISA Bytes at Serial Port查询当前串口接收缓冲区中的数据字节数,如果VISA Read要读取的字节数大于缓冲区中的数据字节数,VISA Read操作将一直等待,直至Timeout或者缓冲区中的数据字节数达到要求的字节数。当然也可以分批读取接收缓冲区或者只从中读取一定字节的数据。?? 图3、从串口发送数据 图4、从串口接收数据 在某些特殊情况下,需要设置串口接收/发送缓冲区的大小,此时可以使用VISA Set I/O Buffer Size;而使用VISA Flush I/O Buffer则可以清空接收与发送缓冲区。在串口使用结束后,使用VISA Close结束与VISA resource name指定的串口之间的会话。 ???????????? 图5、设置缓冲区大小 图6、 清空缓冲区 图7、结束会话/线程 具体的例子可以参考LabVIEW自带的示例程序:examples\instr\smplserl.llb。 第二部分使用MSCOMM控件 在LabVIEW中使用MSCOMM控件,与在VC、VB中使用一样。同样可以使用中断方式进行接收。 图8、使用控件的串口收发程序 图9、程序数据流图 首先通过LabVIEW的工具菜单“Tools Advanced Import ActiveX Controls”将Microsoft的串口控件-“Microsoft Communications Control,version 6.0”添加到LabVIEW环境中,存放在缺省路径即可,这样在User Controls Palette里面可以找到这个控件。 图10、添加ActiveX控件菜单 图11、选择添加用户控件 图12、用户控件???????????? 将串口控件放置在Front Panel上,在框图程序中用控件属性对其进行编程,实现所需要的功能。 注意:一个串口资源要有一个MSCOMM控件与之相对应。 第三部分 注意事项 3.1、串口通讯的波特率设置要精确,比如要求9600的波特率,则晶振应选择11.0593MHz或其倍数。 3.2、由于通常情况下LabVIEW串口VI接收或发送的都是字符串(Normal),所以如果需要发送或接收十六进制数值(Hex),请在发送或接收之前进行必要的转换。????????????? 3.2.1、数值型数据的处理方法: 如果这些数据是静态的,也就说在程序设计阶段要传输的数据就已经确定了,在这种情况下,首先设置VISA Write的write buffer的显示属性为Hex Display,然后直接输入要发送的16进制字符串就可以了。串口设备的控制命令通常是由一个或多个16进制字符组成的,当我

文档评论(0)

文档分享 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档