一、概述
今天寫這篇文章的目的在於最近遇到了需要使用matlab讀寫檔案,來分析fpga使用高速adc採集資料的頻譜。之前沒有怎麼用過matlab,更對檔案操作不熟悉。臨時抱佛腳學習了下matlab,特此記錄下以免以後遺忘了。
二、**分析
在matlab裡要操作檔案,需要例項化乙個檔案控制代碼,呼叫函式fopen();
fp = fopen(filename, permission);
該函式有兩個引數,filename是檔名,permission引數是檔案訪問型別。具體的引數可以到官網參看(
例項化了檔案控制代碼以後,可以對檔案經行讀寫操作了。對檔案寫操作需要呼叫fwrite()函式;
fwrite(filename, a, precision);
fwrite()函式具有三個引數,filename 是檔名稱, a是寫入的值, precision為寫入的形式(可以實int,char等型別)。詳情見
對檔案讀操作呼叫fread()函式;
fread(filename, sizea, precision);
fread()可包含三個引數,filename:檔名,sizea:讀取資料個數,precision:資料形式。詳情見官網
對檔案操作完成後需要釋放檔案控制代碼,呼叫fclose()即可。
三、詳細**
clear all;
clc;
filename = 'd:\work\matlab\fft_test\test_d.bin';
%向bin檔案寫入100個數,初始化data
data = zeros(1,100);
%data
for k = 1:98
data(1, k) = k;
enddata(1,99) = -100; %第99個數寫入-100
data(1, 100) = -10;
s = int16(data);
fp = fopen(filename, 'wb');
fwrite(fp, s, 'int16');
fclose(fp);
fp = fopen(filename, 'rb');
b = zeros(16,1);
b = fread(fp, 100,'int16');
fclose(fp);
C Hex檔案轉Bin檔案
好吧 我接觸到微控制器的一點點東西了 今天要在web上面做乙個對硬體的遠端公升級,給我的是bin檔案或者是hex檔案,傻了沒搞過,發現讀bin不太會搞,讀hex是ascii碼然後轉哈哈 首先需要了解以下hex的檔案資訊 intel hex檔案是記錄文字行的ascii文字檔案,在intel hex檔案...
ELF檔案和BIN檔案
檔案的內容 1.bin檔案是 raw binary 檔案,這種檔案只包含機器碼。2.elf檔案除了機器碼外,還包含其它額外的資訊,如段的載入位址,執行位址,重定位表,符號表等。所以elf檔案的體積比對應的bin檔案要大。檔案的執行 1.執行raw binary很簡單,只需要將程式載入到其起始位址,就...
ELF檔案和BIN檔案
檔案的內容 1.bin檔案是 raw binary 檔案,這種檔案只包含機器碼。2.elf檔案除了機器碼外,還包含其它額外的資訊,如段的載入位址,執行位址,重定位表,符號表等。所以elf檔案的體積比對應的bin檔案要大。檔案的執行 1.執行raw binary很簡單,只需要將程式載入到其起始位址,就...