日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

LabviewRS232串口通信数据格式问题解析

發布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 LabviewRS232串口通信数据格式问题解析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.最近在開發一款Labview串口通信軟件,功能是實現PC與sony攝像機云臺的數據通信。主要是通過PC發送16進制指令控制云臺的轉動,方便做一些測試。

遇到的問題:一開始沒注意格式問題,只是純粹的將16進制數據放入VISA WRITE函數的寫入緩沖區。但是忽略了一個問題,就是Labview軟件中的程序無論是接收還是發送數據都是字符串的格式,所以遇到其他格式通信的時候需要做相關轉換操作。

在論壇找了很多資料,都沒找到合適的解決方案。最終找到這個,“在VISA Write的寫入緩沖區字符串常量上右鍵>>十六進制顯示”。(之前在一個WORD文檔里面找到的也是這個方案,只是資料說的不夠直白,當時沒反應過來:

?

?“如果這些數據是靜態的,也就說在程序設計階段要傳輸的數據就已經確定了,在這種情況下,首先設置VISA Write的write buffer的顯示屬性為Hex Display,然后直接輸入要發送的16進制字符串就可以了。串口設備的控制命令通常是由一個或多個16進制字符組成的,當我們需要對其進行控制時經常會采用這種方法發送控制命令。”

上面這段文字中的顯示屬性其實就是寫入緩沖區的字符串常量右鍵之后的“16進制顯示”選項,只不過因為我用的是中文版軟件,一時沒反應過來。


2.使用LabVIEW發送數據

還有一個問題是使用LabVIEW發送數據的問題

①如果下位機接收的是字符串數據類型的話,直接用VISA寫入對應的字符串就行了,現在的儀器一般都是接收字符串的,所以可以直接使用VISA發送而不需要轉換。

②如果下位機接收的是數值型數據的話,就需要轉換一下,其中數值型又是十進制和十六進制二種用得比較多,這二種數據間相互轉換一下就行了,其實是一樣的。

由于在LabVIEW中字符串直接有十六進制的顯示方式,所以發送十六進制的數據比較方便,比如要發送十六進制數值類型的“0xAF”,那么在VISA Write的寫入緩沖區字符串常量上右鍵>>十六進制顯示,直接輸入“AF”即可,那么下位機接收到的就是正確的數據(十六進制數值類型)了。

總結

以上是生活随笔為你收集整理的LabviewRS232串口通信数据格式问题解析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。