如果使用Windows API,那么实现并口数字输出则会有些麻烦,主要是需要将第11脚(总线忙信号)和第12脚(纸张错误)与地之间短接起来。如果不这样,那么驱动程序会认为正在通信的打印机发生错误或者处于忙线中,而不会输出任何数据。并口会一直保持最后一次写入的值,直到该值被更新或者计算机关闭。另外在 LabVIEW 中,所有的串口通信发送的都是字符串数据,而在并口通信中,我们需要发送的是8位数值。这就需要在发送前将数据平化为字符串数据,以便其具体的二进制值不变,这里我们可以使用强制类型转换VI来实现。
如果你一次向端口发送多于一个字节的数据,驱动程序会自动按顺序发送这些数据,并且会在每次发送一个字节的时候拉低或者拉高闸门线的电平 (第1脚)。这个过程中的时序特性会因计算机的不同而有所不同,但是也存在着标准时序。要深入了解并口通信时序特性,请参考 开发者园地教程:IEEE 1284 - 更新PC的并行口
对于如何在LabVIEW中编写并口的程序,请参考 开发者园地教程范例:使用VISA来访问并行通信口 。
常见错误
-1073807330 (BFFF003E) - I/O错误,VISA 无法完成操作。
错误37,使用串口兼容性VI
请根据错误代码在 知识库 中搜索解决问题的方法。
有两个专门的函数来读写并口,在函数面板connectivity->Port I/O->In Port.vi ; Out Port.vi. 并口是ttl标准的I/O口,引脚图可百度一下,都是标准的。
LabVIEW是一种程序开发环境,由美国国家仪器(NI)公司研制开发,类似于C和BASIC开发环境,但是LabVIEW与其他计算机语言的显著区别是:其他计算机语言都是采用基于文本的语言产生代码,而LabVIEW使用的是图形化编辑语言G编写程序,产生的程序是框图的形式。
有两个专门的函数来读写并口,在函数面板connectivity->Port I/O->In Port.vi ; Out Port.vi. 并口是ttl标准的I/O口,引脚图可百度一下,都是标准的。