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

正文內(nèi)容

labview串口通信解析(參考版)

2025-01-17 22:04本頁(yè)面
  

【正文】 7 x, ], K39。還有一種情況是調(diào)試OK后生成EXE,運(yùn)行EXE也出現(xiàn)這個(gè)問(wèn)題,這時(shí)是因?yàn)榇诒辉瓉?lái)的LabVIEW程序打開(kāi),再用EXE打開(kāi)時(shí)就會(huì)報(bào)錯(cuò),解決辦法是關(guān)掉原來(lái)的LabVIEW程序。 r* K9 _ A6 B( V39。 f B! L% q( ~/ g) 。需要注意一下的是如果正常顯示的字符串并不是2的整數(shù)倍,那么上圖的轉(zhuǎn)換程序就會(huì)少轉(zhuǎn)換一個(gè)字符,可以用程序動(dòng)態(tài)判斷一下這個(gè)字符* R5 s, l H* Z V. Y( m$ M/ d+ w. R4 L串的長(zhǎng)度,如果是奇數(shù)的話在它最左邊補(bǔ)一個(gè)“0”再使用上面的程序就正常了。 I! h `2 w+ B5 oG. h5 Q s符轉(zhuǎn)換為一個(gè)字符串?dāng)?shù)組,再轉(zhuǎn)換為十六進(jìn)制數(shù)值再轉(zhuǎn)換為字符串。也可以用空格將正常顯示的字符串每二個(gè)字符用一個(gè)空格斷開(kāi),然后先將這個(gè)字符串以空格為分隔( B$ V w. E/ A, `8 M: K. e w/ P* q: z. s: ~+ H2 W u w7 e w2 u2 d39。 k 4 Q5 t( j8 ^3 I6 ? j0 _2 `5 C2 H圖 10 正常顯示字符串轉(zhuǎn)換為相同的十六進(jìn)制顯示的字符串4 J: U, kamp。 oamp。具體程序如下圖所示。 l E L1 e/ _+ e M7 C: a T39。 d) |8 J9 F, B5 ~, ^0 L) b8 a這個(gè)轉(zhuǎn)換過(guò)程首先將字符串轉(zhuǎn)換為十六進(jìn)制數(shù)值型,然后再通過(guò)將這個(gè)十六進(jìn)制數(shù)值創(chuàng)建為一個(gè)數(shù)組,最后再使用“字節(jié)數(shù)組至字符串轉(zhuǎn)。否則就沒(méi)辦法使二種顯示方式的字符串一致了。 O39。 R39。 V$ _39。}$ A4 V( j+ D1 j4 K/ b9 P% + v! z h( y( x: Damp。 G2 v+ ?% V6 O) ^/ r。C. O5 G% j R a2 y6 |+ l% B(十六進(jìn)制數(shù)值類型)了。s: g7 G! b ? mv3 t/ M那么在VISA Write的寫(xiě)入緩沖區(qū)字符串常量上右鍵十六進(jìn)制顯示,如圖1,直接輸入“AF”即可,那么下位機(jī)接收到的就是正確的數(shù)據(jù) z1 ]5 k7 Y 由于在LabVIEW中字符串直接有十六進(jìn)制的顯示方式,所以發(fā)送十六進(jìn)制的數(shù)據(jù)比較方便,比如要發(fā)送十六進(jìn)制數(shù)值類型的“0xAF”,8 \8 v: g* W: {amp。 e! M/ S9 L L% A ~4 s, F( A) |$ }) W8 A! zk% \ 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í)是一樣的。 R. i8 l( U$ j! a 還有一個(gè)問(wèn)題是使用LabVIEW發(fā)送數(shù)據(jù)的問(wèn)題,如果下位機(jī)接收的是字符串?dāng)?shù)據(jù)類型的話,直接用VISA寫(xiě)入對(duì)應(yīng)的字符串就行了,現(xiàn)在( }) M. T! X, E7 namp。7 f+ X3 [9 E8 s4 M. x5 J, z/ z$ i% h |! G [$ s8 D! C: A: F: d7 U+ Xamp。 Eamp。[/ l! \2 k w+ b, VS R3 F3 U X: g2 P$ R1 I( y% hamp。 I, {39。 }52”。 X原本下位機(jī)傳送的是數(shù)值型數(shù)據(jù),只需要將“1234”字符串轉(zhuǎn)換為對(duì)應(yīng)的ASCII值就是實(shí)際上下位機(jī)傳上來(lái)的數(shù)據(jù)了,就是“49,50,51,* F0 ~+ ` Z2 ( e2 M4 |。 d. l: X% i w1 d O2 p, f, D V ]1 o2 lamp。 + vamp。 }/ x) Z1 p1 P$ e串“1,2,3,4”。 只是在LabVIEW中,這些二進(jìn)制數(shù)據(jù)是以字符串形式顯示出來(lái)的,它們的實(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。 l. ~, S W$ Hamp。 還是以例子進(jìn)行解釋。 _1 O7 A7 j1 L! ~: h7 D2 V p。 在進(jìn)行數(shù)據(jù)轉(zhuǎn)換時(shí),只要記住計(jì)算機(jī)中所有數(shù)據(jù)都是以二進(jìn)制保存這個(gè)原則就容易解決問(wèn)題了。 k8 R n0 e。 Q5 G5 h `! d/ Q [$ `6 }符串,導(dǎo)致在剛開(kāi)始接觸的時(shí)候會(huì)有一點(diǎn)困惑。 [. w$ xamp。 c8 ]+ a* c6,串口數(shù)據(jù)類型的轉(zhuǎn)換! T4 r9 A qamp。 C。* _39。去掉已經(jīng)處理的數(shù)據(jù)可以使用“刪除數(shù)組元素”這個(gè)函數(shù)來(lái)實(shí)現(xiàn)。d% W0 a X% v39。 V G e Damp。 o+ E( Y。 N% Q$ ^* Uamp。也可能存在處理完一5 damp。 Y7 x。 N/ O( R39。 D頭。 O, b1 Y: b39。 U0 e p+ U有接收到它的幀頭,所以程序沒(méi)能提取出來(lái),但我們可以從后一幀的幀頭推算出前面那一幀的數(shù)據(jù)字節(jié)是哪些,即使沒(méi)收到前面那一幀的幀 a9 V1 o39。 p! r) K: I2 Wamp。 l3 M m8 3 D4 L4 {3 _ ]3 A Samp。 至此完成一次數(shù)據(jù)幀的提取。_3 b) C! a6 x! N Z( Camp。 另外幀格式中定義了最后一個(gè)字節(jié)為狀態(tài)標(biāo)志位,所以提取數(shù)據(jù)前還要檢查一下這個(gè)標(biāo)志位是否正常,不正常時(shí)要進(jìn)行相應(yīng)的處理,這里. v0 ~, X% J。i2 n/ }, ]3 ?3 g/ X+ E+ | R$ E8 X L! 1 W。 e9 [% 。 q( x5 l+ g+ s) w6 M6 k J! B) vamp。?( i! j圖 7 幀頭查找程序9 e8 a1 ~8 D1 U% R [% a, k `+ \幀頭查找到以后,再找數(shù)據(jù)就容易了,根據(jù)之前的定義,第6個(gè)字節(jié)是才是我們要的數(shù)據(jù),所以直接使用索引號(hào)進(jìn)行索引輸出即可。 E4 d1 \ ^9 a d+ ^9 }1 S2 I39。~ q( i3 b* V5 r1 E5 r9 ^$ s% |) S: w7 . T2 u搜索完整個(gè)字符串都找不到幀頭。 U2 s4 Y7 ] Z ^表明已經(jīng)找到幀頭,輸出幀頭的位置;如果它下一個(gè)字節(jié)不是第二個(gè)幀頭,說(shuō)明這里不是真正的幀頭,繼續(xù)查找下一個(gè)幀頭,直到找到幀頭或 A H。^39。 4 j |( A h9 |% g6 O9 B* m5 m. |$ b5 n位機(jī)是一直處于發(fā)送數(shù)據(jù)的狀態(tài),很可能在串口發(fā)送一幀數(shù)據(jù)的過(guò)程中串口就被初始化或者被清空了一次緩沖區(qū),那么這一幀數(shù)據(jù)的前面部分* {% v1 K3 I3 d。 * a) q+ o! G1 N. i Y2 N0 L。 上圖中下半部分顯示的數(shù)組是使用“字符串轉(zhuǎn)換為U8數(shù)組”的函數(shù)轉(zhuǎn)換之后得到的數(shù)組,一個(gè)是十六進(jìn)制顯示,另一個(gè)為十進(jìn)制顯示。 F2 e+ Z圖 6 實(shí)際接收到的字符串8 x1 u$ T/ K8 I$ K. x* U$ cL r6 z) p8 y8 c4 ~amp。 E! v+ j5 U. t w+ q j. v4 L: I+ O2 S G$ L圖 5 字符串轉(zhuǎn)換為U8字節(jié)$ y1 c1 }8 B1 u轉(zhuǎn)換為U8字節(jié)后,得到的是所傳輸字符的ASCII碼,我們就很容易進(jìn)行數(shù)據(jù)幀的判斷了,現(xiàn)收到以下的字符串?dāng)?shù)據(jù):39。 T X0 ?. a$ o) c damp。 由于LabVIEW中接收到的數(shù)據(jù)都是以字符串的形式顯示出來(lái)的,所以需要將字符串轉(zhuǎn)換為ASCII碼,一般可以直接使用“轉(zhuǎn)換為U8數(shù)6 f2 l }amp。 K4 s6 |4
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1