一直覺得NI很惡心,最近越發(fā)覺得惡心,竟知道騙錢,我花了2周去探它該死的數(shù)據(jù)格式,問他們售后居然說不知道...還得我親自動手...現(xiàn)在把數(shù)據(jù)格式寫下來,為大家做點(diǎn)貢獻(xiàn)吧...關(guān)于用matlab/vc讀二進(jìn)制文件 write to binary file的數(shù)據(jù)NI可以直接用這個函數(shù)把數(shù)據(jù)寫下來,但是讀取格式不告訴你,要你用它的軟件去讀...讀的方法:
1) 用uchar去讀,將數(shù)據(jù)轉(zhuǎn)置存儲;
2)用浮點(diǎn)去讀,倒序;--------這些在網(wǎng)上可以查到,下面才是關(guān)鍵.... 對64位數(shù)據(jù):
3)每個通道有21個數(shù)據(jù)是頭文件,即21*64bit的頭信息,可以不去管它,跳過;
4)除了頭文件外,每個通道還有1-3個字節(jié)的信息(不知道什么玩意兒),要跳過;具體來講是這樣,如果有6個通道,第一個通道存儲了1個字節(jié),要扣除;第2,4,5個通道多了2個字節(jié),要扣除;第3,6通道多了3個字節(jié)要扣除.但是必須從3開始扣.即假如總共N字節(jié)數(shù)據(jù),則第一個通道讀N-3個,接下來2,4,5要讀N-4個,剩下的3,6要讀N-5個.只有這樣才能正確的讀取.不過要注意數(shù)據(jù)倒序的問題,實(shí)際的數(shù)據(jù)可能正好通道順序相反.
5)剩下的就是編程的問題了,還有很多細(xì)節(jié)大家可以自己解決,再看怎么要內(nèi)存最小,耗時最短...
我是沒有在NI的說明文檔里面找對相關(guān)的數(shù)據(jù)存儲格式,這里是6個通道的舉例,要是5個通道又得慢慢試了...再來一句,NI真惡心,其實(shí)沒必要保留數(shù)據(jù)格式...搞的人家都要用它的軟件...