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

正文內(nèi)容

labview串口通信解析(留存版)

2025-02-28 22:04上一頁面

下一頁面
  

【正文】 k! E J因,或者是發(fā)一個(gè)查詢指令,但返回的是上一條查詢指令的結(jié)果,也可能是因?yàn)闆]有延時(shí)或延時(shí)不夠。其中校驗(yàn)字節(jié)是為了檢查數(shù)) z$ \ 由于被動方式中串口的緩沖區(qū)中一直會有數(shù)據(jù)在,為了保持?jǐn)?shù)據(jù)的連續(xù)性,在讀取數(shù)據(jù)時(shí)跟第一種儀器控制類型不一樣。 下面以例子來說明數(shù)據(jù)幀格式的通信。9 j5 g* i. Tamp。 {$ f39。 一般情況下,如果是用三個(gè)字節(jié)表示一個(gè)數(shù)據(jù)的話,那么這三個(gè)字節(jié)分別表示為一個(gè)數(shù)據(jù)的高中低字節(jié),即高字節(jié)要乘以25536再加上中+ v+ v這里只給出一個(gè)流程,不再給出具體的程序。 M$ u4 k/ {。 R/ v39。 LabVIEW中將字符串轉(zhuǎn)換為對應(yīng)的ASCII值的函數(shù)是“字符串至字節(jié)數(shù)組轉(zhuǎn)換”這個(gè)函數(shù):1 V9 x3 A5 G* i6 C6 m* y39。 上面說的是下位機(jī)發(fā)送的是數(shù)值類型的數(shù)據(jù)的,使用“字符串至字節(jié)數(shù)組轉(zhuǎn)換”這個(gè)函數(shù),如果是下位面發(fā)送的是字符串類型的數(shù)據(jù),那 L! d2 Y0 E: R, Mamp。 Z% S L取,每二個(gè)字符轉(zhuǎn)換為一個(gè)十六進(jìn)制數(shù)據(jù)。w4 G4 ~+ l$ B1 O! _ L! B% [. ]6 z1,串口資源被占用。 G* y9 t$ Q { o6 RF8 a。 B n) Q T% ?$ O2 F% c樣的。 ]4 c39。 C, ?39。001101004 m6 p2 i) I$ v+ G% l. l z 假設(shè)LabVIEW從串口接收到的數(shù)據(jù)為“1234”(正常顯示模式下),那么這個(gè)數(shù)據(jù)在串口底層的時(shí)候其實(shí)是這樣的二進(jìn)制數(shù)據(jù):7 K/ [. y6 u2 w. M6 `+ H( v* K39。 R! p d4 A/ n9 k R l% l6 ?度,如果夠則可以根據(jù)上一次查找的幀頭位置+數(shù)據(jù)幀長度來確定下一個(gè)數(shù)據(jù)幀的幀頭位置了,不需要使用搜索的方法。 ?0 v1 k39。^: _不再詳細(xì)描述。 u. y1 I) A4 D6 C: D7 J% X 圖 8 獲取實(shí)際數(shù)據(jù)+ ( Z+ Gamp。 l) }數(shù)據(jù)可能就會丟失,只留下后面一部分?jǐn)?shù)據(jù),以上圖為例子,第一二個(gè)字節(jié)為0x30x22,顯示不是我們要的幀頭,我們要的幀頭是在第* s4 `* J. n1 ?) z) s7 o: U% ^39。 amp。 n% f0 l! T X) ?, v位機(jī)發(fā)送到一半時(shí),上位機(jī)剛好開始接收數(shù)據(jù),這時(shí)只能接收到后面一半的數(shù)據(jù)了,所以對于這種通信,一般是采用數(shù)據(jù)幀的方式進(jìn)行通信。 接著是要注意發(fā)送指令和讀回?cái)?shù)據(jù)之間要有一定的延時(shí),即VISA WRITE和VISA READ之間要有一定的延時(shí),一般200毫秒即可,因?yàn)? ]39。波特率一般是可以修改的。 y作出響應(yīng),返回?cái)?shù)據(jù)給上位機(jī),上位機(jī)再讀取出來,完成一次通信,即一問一答;另一類是被動接收形的,即下位機(jī)會一直發(fā)送數(shù)據(jù)上來。 I節(jié)數(shù),如果當(dāng)前緩沖區(qū)的數(shù)據(jù)量不足100個(gè)時(shí),程序會一直停在VISA READ這個(gè)節(jié)點(diǎn)上,如果在超時(shí)的時(shí)間(默認(rèn)是10秒)內(nèi)還沒有湊足$ B2 h4 q* t3 [. G6 G+ Y, O* H+ E1 \。 Z% A9 z% B。`3 t39。 K4 ?9 \) j \7 ]0 p( C$ G。 q+ b+ }: Z購買串口線的時(shí)候一般也會問你買直連的還是交叉的,要區(qū)別對待。W+ t: ]6 \使用。 m. z$ A/ k39。 F, t: w。PCIRS232擴(kuò)展卡也同理,便宜的卡也容易出問題,盡量買好一7 P4 w39。 l% D% w) J5 H rVISA的驅(qū)動可以在NI網(wǎng)站上下載到:7 E9 E l6 _( m! l, Camp。 M! P9 d信的。 L( s ?0 K7 R7 ) s, g轉(zhuǎn)接線和擴(kuò)展卡一般是要裝! T: ~6 C) N6 A! L D. `8 \5 Y3 x4 ?* _$ m9 F Q. V驅(qū)動的。如下圖所示:2 c( M39。 X X, e: ?5 w擇的是已經(jīng)短接的那一個(gè),如果COM1沒接收到,可以再先COM2再發(fā)一次看一下。 q5 ?2 f好串口線的類型,一般買的串口線都是標(biāo)準(zhǔn)線,但自制的串口線因?yàn)閼?yīng)用場合不同就要先確定一下。e9 p7 Z+ R8 x。* X5 e( ^6 G6 A9 ^( X. c ?。 r, f \. L8 k( ?而“禁用終止符?”的默認(rèn)值是FALSE,即啟用終止符,啟用終止符會有什么效果呢?終止符的意思就是當(dāng)程序接收到這個(gè)字符時(shí),就認(rèn)為已! e% G c4 J1 i) O: g a1 w* V5 |8 d$ p5 K ~經(jīng)到了所有數(shù)據(jù)的未端了,從而停止接收,不管后面還有沒有數(shù)據(jù)。f+ f8 i8 r p+ w: amp。A2 I) J0 s/ G: p5 V y c f) f4 j* H決的辦法是使用“Bytes at Port”這個(gè)串口的屬性節(jié)點(diǎn),在VISASerialadvance下,也可以在VISA資源線上右鍵創(chuàng)建屬性+ v9 ~/ G2 e8 r$ e( ` a {: l) ~0 ?0 X7 U. o0 F39。 J1 T: n w8 D. v1 ^: r39。Iamp。 w。 S39。, V3 , V+ d ?39。~5 E8 n6 | 5 N5 K+ x Z6 o9 ^7 T9 C( ^而是采取將讀取1 O5 V: m M% b5 |7 Y8 F5 n5 ? Z的所有的串口數(shù)據(jù)都保存在移位寄存器中,在軟件上處理完這些數(shù)據(jù)后再將它們從移位寄存器中刪除。2 `+ 。 K4 s6 |4 T3 I W b0 L+ c 上圖中下半部分顯示的數(shù)組是使用“字符串轉(zhuǎn)換為U8數(shù)組”的函數(shù)轉(zhuǎn)換之后得到的數(shù)組,一個(gè)是十六進(jìn)制顯示,另一個(gè)為十進(jìn)制顯示。 U2 s4 Y7 ] Z ^表明已經(jīng)找到幀頭,輸出幀頭的位置;如果它下一個(gè)字節(jié)不是第二個(gè)幀頭,說明這里不是真正的幀頭,繼續(xù)查找下一個(gè)幀頭,直到找到幀頭或_3 b) C! a6 x! N o+ E( Y。 c8 ]+ a* c6,串口數(shù)據(jù)類型的轉(zhuǎn)換! T4 r9 A qamp。 在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),只要記住計(jì)算機(jī)中所有數(shù)據(jù)都是以二進(jìn)制保存這個(gè)原則就容易解決問題了。 只是在LabVIEW中,這些二進(jìn)制數(shù)據(jù)是以字符串形式顯示出來的,它們的實(shí)質(zhì)還是二進(jìn)制數(shù)據(jù),這幾個(gè)二進(jìn)制數(shù)據(jù)轉(zhuǎn)換為十進(jìn)制數(shù)據(jù)分 j( k$ t7 S: y7 D% [. F0 _7 {) {別是“49,50,51,52”,由于字符串都是以ASCII碼形式保存在計(jì)算機(jī)中的,那么49,50,51,52這幾個(gè)數(shù)在ASCII表中就表示是字符39。 I, {39。 z1 ]5 k7 YV$ _39。也可以用空格將正常顯示的字符串每二個(gè)字符用一個(gè)空格斷開,然后先將這個(gè)字符串以空格為分隔( B$ V w. E/ A, `8 M: K. e r* K9 _ A6 B( V39。 f B! L% q( ~/ g) 。 k 4 Q5 t( j8 ^3 I6 ? j0 _2 `5 C2 H圖 10 正常顯示字符串轉(zhuǎn)換為相同的十六進(jìn)制顯示的字符串4 J: U, kamp。 h( y( x: Damp。k% \ Q, Z0 C: p4 S0 k如果下位機(jī)接收的是數(shù)值型數(shù)據(jù)的話,就需要轉(zhuǎn)換一下,其中數(shù)值型又是十進(jìn)制和十六進(jìn)制二種用得比較多,這二種數(shù)據(jù)間相互轉(zhuǎn)換一下. \* y1 O. ^2 {* F( b, v2 S/ K4 C8 s就行了,其實(shí)是一樣的。[/ l! \2 k w+ b, V d. l: X% i w1 d O2 p, f, D V ]1 o2 lamp。 n0 e。* _39。 Y7 x。 U0 e p+ U有接收到它的幀頭,所以程序沒能提取出來,但我們可以從后一幀的幀頭推算出前面那一幀的數(shù)據(jù)字節(jié)是哪些,即使沒收到前面那一幀的幀
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1