日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]方法一:直接把float數(shù)據(jù)拆分為4個(gè)unsigned char(由于數(shù)字沒法拆分,所以只能用指針的),發(fā)過去,在合并為float。其中有兩點(diǎn)要注意。(1)大端存儲(chǔ),小端存儲(chǔ);如果搞錯(cuò)讀取數(shù)據(jù)就不是你接收的數(shù)據(jù)地址(我主要使用

方法一:


直接把float數(shù)據(jù)拆分為4個(gè)unsigned char(由于數(shù)字沒法拆分,所以只能用指針的),發(fā)過去,在合并為float。


其中有兩點(diǎn)要注意。


(1)大端存儲(chǔ),小端存儲(chǔ);如果搞錯(cuò)讀取數(shù)據(jù)就不是你接收的數(shù)據(jù)地址(我主要使用了fpga,arm以及PC機(jī),很有可能存儲(chǔ)方式不同,一般可能不需要考慮)


(2)字對(duì)齊。不然就合并不成float(我先前沒注意直接一個(gè)很怪異的數(shù)據(jù))


發(fā)送端



void package_frame(const void *data)

{

int i;

for(i=0; i<4; i++)

{

send_frame[i] = ((uchar *)data)[i];

}

}


將float data數(shù)據(jù)拆分成uchar后存儲(chǔ)在數(shù)組send_frame[]發(fā)送。




float exchange_data(uchar *data)

{

float float_data;

float_data = *((float*)data);

return float_data;

}


將uchar *data首地址付給float_data來合并成float型數(shù)據(jù)(記得字對(duì)齊和大小端存儲(chǔ),不然數(shù)據(jù)不對(duì))



其實(shí)發(fā)整數(shù)等大于1字節(jié)的數(shù)據(jù)也一樣。


方法二:


  讀取的adc數(shù)據(jù)寄存器的值不*3.3V(或5V)除以2的N次方,直接把這個(gè)數(shù)據(jù)發(fā)到上位機(jī),在上位機(jī)程序里再*3.3V除以2的N次方。


這樣就避免了傳遞浮點(diǎn)數(shù)的麻煩。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉