LabVIEW串口通信详解

上传人:枫** 文档编号:564531841 上传时间:2023-06-14 格式:DOC 页数:13 大小:76KB
返回 下载 相关 举报
LabVIEW串口通信详解_第1页
第1页 / 共13页
LabVIEW串口通信详解_第2页
第2页 / 共13页
LabVIEW串口通信详解_第3页
第3页 / 共13页
LabVIEW串口通信详解_第4页
第4页 / 共13页
LabVIEW串口通信详解_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《LabVIEW串口通信详解》由会员分享,可在线阅读,更多相关《LabVIEW串口通信详解(13页珍藏版)》请在金锄头文库上搜索。

1、LabVIEW串口通信详解$ C; G ) N: _3 w) h& f1 k& _2 z5 4 T5 B$ y串口可以说是我们最容易见到,也最容易接触到的一种总线,台式机上一般都有二个,而现在很多下位机、仪器等很多都还是使用串口通& e5 F+ Q4 R+ M+ W: P) r9 G M! T C% i信的。论坛上很多朋友都经常会使用到串口,并遇到一些问题,这里有必要做一个详细的说明,以方便广大会员朋友,文章请勿转载到其它地8 W6 X) H2 Z$ H6 Q, K# f% 方,谢谢。/ C. D3 n- E! n2 u# M6 V4 I+ C; i0 S) o4 Y1 T K8 q% R C

2、9 s 论坛上早先发布过一个贴子,叫串口WORD资料,里面有一些中英文的串口的资料,这个文章是对那个资料的补充,如果是初接触6 9 X, |* g1 |0 # ?: |9 G) n) U# f I8 X, . h3 Y串口的朋友建议先看一下上一个贴子先。上一个贴子中提到过的内容这里不再进行补充。$ J! A1 q. G# R( i6 A; p ) l) x( G. r0 t; b5 a% ?% l首先补充一个比较重要的问题,就是在LabVIEW中使用串口的话一定要先安装VISA这个驱动,然后生成的EXE运行时也需要在目标机上安装VISA Runtime Engine,可以在打包时一起打包。6

3、k( l! h$ y1 i! O5 T+ Y3 VISA的驱动可以在NI网站上下载到:+ B: c v6 g0 I0 X7 E8 http:/ w. p y/ v, & ! h. v $ k/ y- O8 w- / w g9 , w8 T# h6 x: N% p! L) B# R$ ; e$ m6 p g- L2 ) n; V! B8 l1,串口扩展的问题& V6 ( - H; p8 z6 K5 f7 E& L5 x5 p9 * D- 先说一下串口的扩展问题,一般的台式机或工控机上都至少有二个串口,一般都是够用的,但是现在市场上已经很难找到带串口的笔记本- * p j- O6 t# F; E/

4、 ; # I0 4 T1 8 W6 b了,而有时候在外出调试时需要在笔记本中使用到串口的,这时一般是使用USB-RS232的转接线,价格从十几到一百多都有,很多朋友反应5 h! I: u* i d- ( O$ ) e* M0 m7 6 d0 f F, g+ 在使用价格低的转接线时会出现乱七八糟的问题,而贵一点的线就很少听说有其它问题的,所以大家在使用便宜的USB-RS232转接线时要特9 j, w/ T2 Q r& z5 n* . V5 p6 l: N8 A. S; w别注意线的质量,遇到一些奇怪的问题时先考虑换一根好一点的线。PCI-RS232扩展卡也同理,便宜的卡也容易出问题,尽量买好一-

5、 2 O% Z6 J5 R* P$ y3 O/ s( l$ 3 t. , h. H6 * v# L点的,以免因小失大。PCI-RS232一般至少能扩展2个串口,有些BT一点的可以扩展到8-16个,一堆线和接头。转接线和扩展卡一般是要装3 ?1 |$ y8 T4 J! W; l4 r& f& _1 g1 N) n5 O4 _驱动的。0 e, T& U5 I6 c5 t3 E1 s7 - B& K+ c# w& 2,串口功能的确认( m# _% Q7 p5 G) F. d, w1 . C$ J/ f在使用串口之前,最好先确认一下串口是否正常,特别是使用转换接或扩展卡的。检查的方法很简单,就是将串口

6、的2、3脚短接起来,$ m+ R/ E# A( U7 X, E1 6 - t* r S) V- r2 d& _% r脚是发送数据,2脚接收数据,就是这个串口自发自收。电脑上的串口软件一般是用串口调试助手,很出名的,也好用。如下图所示:0 q v g ) X, o; f# g w7 O. P0 m$ 5 u G) j6 s% t5 ; V) J( h* Y3 P$ B5 t: ; t& P! f图1 串口调试助手一打开软件,选择已经短接好的串口号,点击“手动发送”,如果串口是好的,2、3脚又短接起来了,马上就可以在上面的接收框里看到接) n2 u) x( r% m a* q+ Q+ % f; p

7、$ c2 o* 4 f( X y. v- u ?1 |收的数据就是发送的数据。稍微要注意一下的是有些电脑的COM1和COM2的位置是反过来的,所以要确定好串口调试助手左上角的串口上选/ r/ l+ y C9 K9 d2 e X e x U+ ) Z: * ?2 择的是已经短接的那一个,如果COM1没接收到,可以再先COM2再发一次看一下。4 / S8 a3 $ m5 + o q H; Z p8 g) % m3,串口线的检查. T4 O( R9 o8 W; Q* r j: |- ?% Q. k, e& y3 e% g 检查好串口后,一般也要注意一下使用的串口线,标准的串口线是9根线都是用上的,但

8、有一些是只使用了三根线的:2、3、5。第3个脚. 9 C6 j& W; m4 J * ( s8 o4 d T7 s T管是发送,第2个管脚接收,另一个5是地线,这里叫它简化的串口线,简化的串口线能用上的地方,标准的串口线也肯定能用上,因为标准# - m) 9 K3 j$ W% Y+ G2 H: R1 X3 h h4 F1 F3 7 W线的9根线已经包括了简化串口线中的3根线,但标准串口线能用上的地方,简化串口线就不一定能用上,所以在使用串口线之间一定要确定: N9 S* T9 f% N r, v, P- ?/ U # O z! R i9 8 K0 ?好串口线的类型,一般买的串口线都是标准线,但

9、自制的串口线因为应用场合不同就要先确定一下。+ M$ W! 5 e* Q J1 Z! z6 h) Z# i+ , Y2 l3 k+ o$ I串口线还有一个地方需要注意一下的,就是2、3脚的接法,标准接法中是2、3脚交叉的,即这边的2接另一边的3,这边的3接另一边的2,扭/ 9 ) % y* O# u$ L$ % c9 1 7 Q; S6 L( J) J了一下,所以叫交叉线,因为正常使用时,这边第二脚是发送数据,另一边第三脚是接收数据,所以要将这二个管脚连接起来,这样才能正常. W3 v& c0 e2 r3 2 u% f! x6 i# b5 q0 ?使用。但是有些情况下,2、3是直连的,即这边的

10、第2脚连接另一边的第2脚,第3脚连接第3脚,这种叫直连线,这种线一般是用于延长串口 y$ 8 M, F7 d( l, h: Y* S! z4 Y) w% B1 k5 L的,比如需要将工控机的串口接头引到机柜表面上时,就使用这种线,这样机柜表面的串口线的定义还是跟电脑接出来的一样,外面的那一根1 a/ x3 F) M3 f6 X2 X7 + a$ N8 I1 _+ t) L7 8 I/ u串口线再使用交叉线。从电脑主板上将串口引到主机后面板上的线就是这样的直连线。* P! G! X: 5 , C+ g6 |- j5 t) M9 t$ f& o( l6 M购买串口线的时候一般也会问你买直连的还是交

11、叉的,要区别对待。9 5 m+ h z- r! y! L+ c8 n W4 o r 串口线还有一个要稍微注意一下的就是DB头,因为电脑上接出来的一般是公头(针),要跟电脑接的话要母头(孔),一般仪器的串口也是. |4 c* V/ G; . J# v3 R9 e! H9 u; s M$ J A公头,所以二边都是母头的串口线比较常见。& k2 p7 M5 ? M8 h9 j9 C( T. i* + U6 P- x7 x5 V3 ?8 u9 M8 U9 t9 z串口的接头一般是DB9的,也有DB25的,但比较少用,有些比较BT的仪器厂家居然用RJ11(水晶头那种)作为串口头,让人不爽!Q0 W) |

12、6 q8 C% h+ h g% h& R; K总之,使用串口前一定要先确定好硬件没问题,不然很浪费时间的。1 W4 _5 N9 . 9 Y, 1 E M& K/ q9 F3 x7 n) F4,串口参数设置* h& N4 N- t* s- m- F4 - c& z 1 y/ L# _% r# d% U 在LabVIEW中使用串口时,有几个参数比较重要,需要先说明一下的。8 + Y E 5 ! _; T* l! f) H X. t5 X. - D! C: W 一个是串口初始化这个节点的“终止符”和“禁用终止符?”这二个输入端,这二个输入端是相互作用的,“终止符”默认值为10,它0 d3 s1 D2

13、 l3 M$ p% s# v4 2 t W; e5 _) F的十六进制是“0x0A”,这是一个ASCII码,是一个换行符,可以从LabVIEW中的字符串的不同显示形式看出来,如下图:: 4 6 A/ e( F* K6 I* p1 X; d C图2 串口消息终止符9 s; a2 O8 k8 p5 r h 左边是字符串的正常显示,中间是十六进制显示,右边是“代码显示”,这三个字符串的值都是一样的。终止符是10,表示在接收数据5 U3 Y O$ u: E7 / | s0 Z1 ) R: z7 _8 y: a时,遇到ASCII码为10的字符(即换行符)时就停止接收数据,后面会有例子进行说明。( 6 B

14、 w- Y# u$ E. V4 K# L8 _8 U* % ?( g/ U7 q2 a: v n: L: 4 k: o而“禁用终止符?”的默认值是FALSE,即启用终止符,启用终止符会有什么效果呢?终止符的意思就是当程序接收到这个字符时,就认为已3 v, j+ k1 4 Q! V+ g* a1 G9 j7 4 o7 o8 经到了所有数据的未端了,从而停止接收,不管后面还有没有数据。终止符是10,表示在接收数据时,遇到ASCII码为10的字符(即换行3 Y9 0 p, B: l- 8 F4 O: P. R2 u6 H2 x符)时就停止接收数据。& u; h! D; x X) L1 ) i& ;

15、S8 k( * , C! 6 * 可以做一个很简单的试验,先短接串口2、3脚,然后将终止符设置为“0x33”,0x33是字符“3”的ASCII码,然后发送字符串. X0 m / s y7 z, g1 k% Z$ C% d/ % R s6 h“123456”,可以看到接收回来的数据中只有“12”,即“3”被认为是字符串的未端了,它后面的数据就不再接收了。很多朋友就是因为3 8 h, e C# u& n( L8 Y, w) n7 C- C5 V7 f9 C, P6 s K这里设置错误,导致接收数据时有时候只收到一半就没有了,特别是在连续接收数据时,但又不是每次都只能收到一半,有时候也能接收齐全0 d& A& S q# + B( F+ ) I& g的,就是因为发送的数据中可能包含了终止符而使串口认为

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号