matlab讀取十六進制數

     通過串口向上位機發送的數據往往是16進制數,但是我們直觀的比較數據則是用10進制的形式,這就需要將16進制數轉化成10進制數。

    通過串口調試助手將採集的數據保存成TXT文檔後第一個問題就是Matlab如何讀取TXT文件的值,matlab有個函數textread 就可以實現,當然用fopen也可以,但textread 比較簡單。textread的使用可以參考help文檔。將16進制轉化成10進制用到了matlab的另外一個函數hex2dec(a),這個函數的具體用法也見help。

    讀取二進制txt文件:
假如txt文檔中內容爲0001 0010 0011 0100 1000,保存在pin.txt文檔中
使用a=textread('pin.txt','%s')'
a =
    '0001'    '0010'    '0011'    '0100'    '1000'
可以看到數據保存爲了char格式。
使用bin2dec
b=bin2dec(a)'
b =
     1     2     3     4     8
可以看到成功地轉換成了十進制文件。

十六進制文件:
0001 0010 0011 0100 1000 A B C AA

a=textread('pin.txt','%s')'
a =
    '0001'    '0010'    '0011'    '0100'    '1000'    'A'    'B'    'C'    'AA'

可以看到成功讀取了文件。

b=hex2dec(a)'
b =
           1          16          17         256        4096          10          11          12         170

讀取完畢。

        將16進制數據轉換成10進制後還需要

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章