6、網友問答之字節方式通訊------------labview編程寶典

請支持我敬佩的作者,原帖地址:http://www.eefocus.com/csxcs366/blog/09-09/176700_6a983.html

我的問題是這樣的,我用labview的VisaSerial去讀取一個成品傳感器組件的輸出數據。

 這個傳感器的輸出採用RS-232協議爲16進制數的。即每幀包括27個Byte,每10ms發一幀數據,都用十六進制數發上來,例如:0xBB表示幀開頭,其中25個字節爲幀數據區,最後一個字節爲校驗字節CheckSum。

 我的問題是這樣的,VISA的read函數讀取的時候直接將傳感器所發上來的十六進制數當做ASCii碼轉換成字符串了,我如果想還原數據除了將此ASCii再轉換回Hex數還有別的辦法嗎?我是想問有沒有什麼讀取組件或函數讀取的直接是十六進制數呢?如果沒有那麼ASCii碼轉換爲十六進制數在Labview中有什麼現成的函數嗎?

MSCOMM32 是最常用的串口通訊控件,它明顯區分字符串通訊和字節通訊兩種方式。LV的VISA通訊實際上並未明顯區分這兩種方式,也就是說他們的通訊過程是完全相同的,關鍵是對返回字符串的解毒方式。

如果規定傳遞的是ASCII,則認爲是字符串傳遞方式;如果傳遞的是HEX數則爲字節通訊方式。採用字節通訊方式常用於幀通訊中,轉換很簡單,如下圖所示,提供了兩種轉換方法。

 

發佈了9 篇原創文章 · 獲贊 9 · 訪問量 7萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章