freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

labview串口通信解析-文庫吧

2024-12-30 22:04 本頁面


【正文】 X. c ?。 x1 p, c5 A c1 C串口的接頭一般是DB9的,也有DB25的,但比較少用,有些比較BT的儀器廠家居然用RJ11(水晶頭那種)作為串口頭,讓人不爽!, J9 k ]* o( n$ z w7 r) d。 c4 n* ~0 I* i39。 ]: D% { Z7 e! e/ c7 m3 v總之,使用串口前一定要先確定好硬件沒問題,不然很浪費時間的。. M, g0 B `+ q4 T G8 C ?: u t* N4,串口參數(shù)設置) n% Y( q! H) Y39。 R/ Q n6 Gq: C8 F7 o% p0 b在LabVIEW中使用串口時,有幾個參數(shù)比較重要,需要先說明一下的。: v) q3 z~8 t。 P7 y@: z v( g1 R$ f9 r 一個是串口初始化這個節(jié)點的“終止符”和“禁用終止符?”這二個輸入端,這二個輸入端是相互作用的,“終止符”默認值為10,它* ~ k) Z( a t x( z3 A9 f* D x( i的十六進制是“0x0A”,這是一個ASCII碼,是一個換行符,可以從LabVIEW中的字符串的不同顯示形式看出來,如下圖:。 Q0 H) |2 @ m( U39。 D! ] x。 H N! V. u kamp。 J x 圖2 串口消息終止符5 \, a, uamp。 r+ u1 I: a) `* T. a3 W39。 q 左邊是字符串的正常顯示,中間是十六進制顯示,右邊是“\代碼顯示”,這三個字符串的值都是一樣的。終止符是10,表示在接收數(shù)據(jù)1 {. J5 yamp。 K4 ?9 \) j \7 ]0 p( C$ G。 t ~: T1 c2 A$ D+ j {時,遇到ASCII碼為10的字符(即換行符)時就停止接收數(shù)據(jù),后面會有例子進行說明。, z1 z6 |% n) @39。 C$ N: H0 D Q+ N$ B。 V3 s8 v$ Z39。 r, f \. L8 k( ?而“禁用終止符?”的默認值是FALSE,即啟用終止符,啟用終止符會有什么效果呢?終止符的意思就是當程序接收到這個字符時,就認為已! e% G c4 J1 i) O: g a1 w* V5 |8 d$ p5 K ~經(jīng)到了所有數(shù)據(jù)的未端了,從而停止接收,不管后面還有沒有數(shù)據(jù)。終止符是10,表示在接收數(shù)據(jù)時,遇到ASCII碼為10的字符(即換行7 |8 j。 D* U5 x0 Og! vDt6 d% o2 S! f5 L6 l符)時就停止接收數(shù)據(jù)。`3 t39。 x% J% U) ]. F* Z2 m3 `% hs, @( I* {/ l1 Af+ f8 i8 r 可以做一個很簡單的試驗,先短接串口3腳,然后將終止符設置為“0x33”,0x33是字符“3”的ASCII碼,然后發(fā)送字符串0 ?* q A7 l* u R1 eR3 N7 N1 l。 z1 c“123456”,可以看到接收回來的數(shù)據(jù)中只有“12”,即“3”被認為是字符串的未端了,它后面的數(shù)據(jù)就不再接收了。很多朋友就是因為% d0 R t7 ~) m1 S7 xamp。 U. ]/ A q( ^這里設置錯誤,導致接收數(shù)據(jù)時有時候只收到一半就沒有了,特別是在連續(xù)接收數(shù)據(jù)時,但又不是每次都只能收到一半,有時候也能接收齊全: v1 U0 K4 s l2 }2 G! Y: H) ~* X0 i! u+ t8 i$ i的,就是因為發(fā)送的數(shù)據(jù)中可能包含了終止符而使串口認為到了最后一個字符了。一般是將這個終止符禁用掉,即將“啟用終止符?(Enable7 t1 ~! S2 |5 \, Yamp。 Z% A9 z% B。 P: r9 n1 uterminator?)”這一端輸入為False即可。% A7 F7 u/ a) P6 u |$ }* EL j39。 p+ w: @amp。 M( JH4 ^: k ]39。 L ` L6 b( I9 D9 N* c 另外還有一個比較重要的設置,就是VISA READ的“讀取字節(jié)數(shù)”這個輸入,由于在串口通信中,如果指定讀取100個串口緩沖區(qū)的字6 s _39。 R o mamp。 U v: s. C% ~0 f famp。 I節(jié)數(shù),如果當前緩沖區(qū)的數(shù)據(jù)量不足100個時,程序會一直停在VISA READ這個節(jié)點上,如果在超時的時間(默認是10秒)內(nèi)還沒有湊足$ B2 h4 q* t3 [. G6 G+ Y, O* H+ E1 \。 C. ]* V100個數(shù)據(jù)的話,程序就會報“Time out”的錯誤,如果超時時間設置得太長,有可能導致程序很長時間停止在VISA READ這個節(jié)點上。解3 q5 T。 \* K/ A9 }% XA2 I) J0 s/ G: p5 V y c f) f4 j* H決的辦法是使用“Bytes at Port”這個串口的屬性節(jié)點,在VISASerialadvance下,也可以在VISA資源線上右鍵創(chuàng)建屬性+ v9 ~/ G2 e8 r$ e( ` a {: l) ~0 ?0 X7 U. o0 F39。 W1 J9 [節(jié)點串口設置Bytes at Port,如下圖:2 B |% m6 Gc4 D1 w% y, HX) C1 j+ ^8 {% s8 j39。 Q+ ]9 w39。 C9 x% _ C m6 ? Kamp。 v6 `2 F5 e39。 }。 L ^E! j6 g ! x, p。 X% l/ @5 h圖 3 Bytes at Port6 eamp。 K! R D, h$ I* V r) _0 O0 S) E39。 w N5 U2 m6 o( z, z這個屬性節(jié)點讀取當前串口緩沖區(qū)有字節(jié)數(shù),然后將它的輸出連接到VISA READ的“讀取字節(jié)數(shù)”這個輸入端上即可,這樣當前緩沖區(qū)中有1 f! B) j。 J1 T: n w8 D. v1 ^: r39。 U ]多少個字節(jié)就讀回多少個,不會有任何等待。 j7 }39。 c1 }. O9 E2 V39。 W. @39。 H. i. F8 R6 v7 pg: P, vM0 n , u0 E+ x J l$ @圖 4 使用Bytes at Port1 } B9 y8 C5 c \. ^]: Namp。 T5,在LabVIEW中使用串口4 A8 P ~. N$ ^。 X. |Iamp。 Ku$ \% ]$ z39。 Z) Z目前串口的應用一般有二種類型的(以我接觸到的來分類,不嚴格),一種是儀器控制類型的,一般是上位機發(fā)送一個指令,然后下位機* Y4 \+ i+ S/ l0 p* S X/ p o! z8 p?^. m39。 y作出響應,返回數(shù)據(jù)給上位機,上位機再讀取出來,完成一次通信,即一問一答;另一類是被動接收形的,即下位機會一直發(fā)送數(shù)據(jù)上來。這。 ?4 n h/ u z* [ `39。 C% v v2 t二種類型的串口通信在處理上會不太一樣。 C) _( V6 |6 r [6 ?6 y6 Z。 w。 e, k$ [+ J: Bamp。 ]2 z! Zamp。 b1 ] 儀器控制類型t3 e( p3 i1 Q0 `8 N. i2 B8 v! q2 W+ tamp。 A2 H 由于在儀器控制時一般都是這種一問一答的方式,所以叫它儀器控制類型。以儀器控制為例來說一下需要注意的事項。6 z9 b, `3 W) W8 [, `, [2 ^7 J% K P: e$ K4 e 首先是要確認儀器選擇的通信模式是串口通信模式。現(xiàn)在的儀器一般都至少有二種通信模式,一種是RS232,一種是GPIB,如果儀器是9 R+ l _39。 J. O7 g. k4 V39。 l8 \0 n6 d+ R `,
點擊復制文檔內(nèi)容
試題試卷相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1