通過串口向上位機發送的數據往往是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進制後還需要