www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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

方法一:


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


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


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


(2)字對(duì)齊。不然就合并不成float(我先前沒(méi)注意直接一個(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來(lái)合并成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)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

▼點(diǎn)擊下方名片,關(guān)注公眾號(hào)▼大家好,很高興和各位一起分享我的第45篇原創(chuàng)文章,喜歡和支持我的工程師,歡迎給我點(diǎn)贊、收藏、分享。加微信[xyzn3333]與作者溝通交流,免費(fèi)獲取更多單片機(jī)與嵌入式的海量電子資料。歡迎關(guān)注【...

關(guān)鍵字: 串口發(fā)送

最近項(xiàng)目上要用到 MPU6050 陀螺儀,以前沒(méi)有接觸過(guò)它。雖然在網(wǎng)上很容易就可以找到了需要的代碼。實(shí)現(xiàn)了一部分功能。但是卻還是對(duì)陀螺儀的工作原理不太了解,它的代碼也需要分析一下,I2C通信、相關(guān)寄存器也要熟悉。我看網(wǎng)上...

關(guān)鍵字: mpu6050 int

摘要:為了更好地發(fā)揮隨鉆測(cè)井儀檢測(cè)數(shù)據(jù)的真實(shí)性和使用靈活性等優(yōu)點(diǎn),文中基于Actel公司的APA075FPGA數(shù)據(jù)采集和傳輸系統(tǒng)所涉及到的AD數(shù)據(jù)采集、FPGA數(shù)據(jù)緩存、FPGA中數(shù)據(jù)的串口發(fā)送三部分,在實(shí)驗(yàn)室自制的一塊...

關(guān)鍵字: 隨鉆井徑檢測(cè) AD數(shù)據(jù)采集 FPGA 串口發(fā)送

大家好,我是張巧龍,本文介紹如何使用帶FIFO的串口來(lái)減少接收中斷次數(shù),通過(guò)一種自定義通訊協(xié)議格式,給出幀打包方法;之后介紹一種特殊的串口數(shù)據(jù)發(fā)送方法,可在避免使用串口發(fā)送中斷的情況下,提高系統(tǒng)的響應(yīng)速度。一種可1.簡(jiǎn)介...

關(guān)鍵字: 串口發(fā)送

MCU:STM32F334C8T6Frameware:STM32F3348-Discovery_FW_V1.0.0實(shí)現(xiàn)功能:在PC使用串口調(diào)試助手向MCU發(fā)送字符(數(shù)據(jù)),MCU將接收到的字符發(fā)回PC代碼:#includ...

關(guān)鍵字: stm32f334 串口發(fā)送 接收數(shù)據(jù)

  init可執(zhí)行程序是系統(tǒng)運(yùn)行的第一個(gè)用戶控件的程序  它已守護(hù)進(jìn)程的方式運(yùn)行,它是從linux啟動(dòng)標(biāo)準(zhǔn)自動(dòng)進(jìn)入Android系統(tǒng)的入口  init可執(zhí)行成程序的代碼路徑為:system/core/

關(guān)鍵字: android系統(tǒng) int

#include void leddisplay(); // 數(shù)碼管顯示 void delayms(unsigned int k); // 延時(shí) n ms void USART_SEND(unsigned char...

關(guān)鍵字: 51單片機(jī) 中斷接收 串口發(fā)送

bigint 從 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型數(shù)據(jù)(所有數(shù)字)。存儲(chǔ)大小為 8 個(gè)字節(jié)。int 從 -

關(guān)鍵字: int mysql bigint sm

1、C8051f的UART0是異步、全雙工串口。其波特率發(fā)生器規(guī)定由定時(shí)器1定時(shí)器提供。可配置為8位UART或9位UART(多機(jī)通訊第九位用于片選作用)。SYSCLK=24.5MHZ(我的板子采用內(nèi)部晶振頻率作為系統(tǒng)時(shí)鐘...

關(guān)鍵字: c8051f300 uart0 初始化 串口發(fā)送

/*********************************************File name : USART.c Chip type : ATmega16 Program type : Applic...

關(guān)鍵字: atmega16 中斷接收 串口發(fā)送
關(guān)閉