首頁
支援
在LabVIEW中將十六進制轉換為十進製或ASCII
在LabVIEW中將十六進制轉換為十進製或ASCII
更新 Sep 26, 2023
環境
環境顯示經過驗證可用於本文描述的解決方案的產品。此解決方案也可能適用於其他類似產品或應用程序。
軟體
LabVIEW
在LabVIEW中,如何將十六進制值轉換為十進制值?當前,我正在嘗試使用“掃描值功能”,但不確定需要連接什麼。
我正在與一種以十六進制值形式發送回信息的儀器進行通信。例如,不是發送字母L,而是發送回其相應的十六進製表示形式4C。如何在LabVIEW中以編程方式將此十六進製表示形式轉換為其相應的ASCII表示形式?如果我需要將信息以十六進制形式發送回儀器該怎麼辦?
將十六進制轉換為十進制
要將十六進製字符串轉換為其十進製表示形式,請使用“
掃描值功能”
。該函數位於“函數”選項板中的“
編程»字符串»字符串/數字轉換下
。
右鍵單擊該VI的
字符串
輸入端子,然後選擇
創建
»控件。
這將生成一個字符串常量。
右鍵單擊該VI的
格式字符串
輸入端子,然後選擇
創建
»常量。
要指定十六進制格式,請在此常數中輸入%x。
右鍵單擊該VI的
默認(0dbl)
輸入端子,然後選擇
創建
»常量。
將此常量的表示形式更改為Integer。為此,右鍵單擊常量,然後選擇
製圖表達。
然後選擇最適合您所需值範圍的整數。
數值數據類型表中
概述了每種數據類型的值範圍。
右鍵單擊該VI的
值
輸出端子,然後選擇
創建
»指示器
使用這些步驟的最終結果示例如下所示:
將十六進制轉換為ASCII
要將十六進製字符串轉換為ASCII字符串,必須首先使用“掃描值”功能將十六進製字符串轉換為其十進製表示形式。首先完成上述“
將十六進制轉換為十進制”
小節中的步驟1-5。
然後,您可以使用
類型轉換函數
將十進製表示形式轉換為等效的ASCII字符串,該
類型轉換函數
位於“函數”選項板中的“
數學”»“數字”»“數據操作”下
。
將連接到十進制指示器的電線連接到
x
輸入端子。
右鍵單擊Type Cast Function的
*(type *)&x
輸出端子,然後選擇
Create
»Indicator。
使用這些步驟的最終結果示例如下所示:
轉換為ASCII十六進制
要將ASCII字符串轉換為十六進製表示,請使用
Number to Hexadecimal String Function
。該函數位於“函數”選項板中的“
編程»字符串»字符串/數字轉換下
。
右鍵單擊該VI終端的
十六進制整數字符串
輸出,然後選擇
創建
»指示器。
將
類型轉換功能
放在程序框圖上。該VI可在函數選板的
數學»數值»數據操作下找到
。
將數值0的數值常量連接到Type Cast Function的
type
端子中。
單擊“類型轉換功能”的
*(type *)&x
輸出端子,並將其連接到“
數字
轉十六進製字符串函數”的
數字輸入
端子。
將字符串常量連接到Type Cast函數的
x
端子。
使用這些步驟的最終結果示例如下所示:
附加信息
上述VI的十六進製字符串輸入格式為FF而不是0xFF。 0x是約定,用於指示數字是基於十六進製而不是基於十進制。標準的十六進製字符串不帶有此指示符,必須先將其刪除才能轉換值。此行為與編號為VI的十六進製字符串相同,並且是預期的。如使用0xFF格式的字符串,可在將字符串傳遞至“掃描值” VI之前使用搜索/分割字符串VI,其搜索字符為x。
相關連結
How Do I Convert a Hex String to a Normal String?
Converting ASCII to Same Value Hex to Floating Point example
其他支持選項
詢問NI社區
在我們的論壇中與其他用戶協作
搜索NI社區以尋求解決方案
請求工程師的支持
需要具備有效的服務合約或有效的租用版軟體,且支援選項因國家/地區而異。
打開服務請求
了解租用版軟體與服務
了解硬體服務計畫
Was this information helpful?
Helpful
Not Helpful