在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你們STM32如何收發(fā)float類型數(shù)據(jù)

FPGA之家 ? 來源:開源博客 ? 作者:學(xué)以解憂 ? 2021-04-09 16:49 ? 次閱讀

實(shí)際應(yīng)用中,我們可能需要兩個(gè)設(shè)備通過串口傳輸浮點(diǎn)數(shù)據(jù):

fedd4e54-990e-11eb-8b86-12bb97331649.png

本篇筆記為了方便演示,使用串口助手模擬其中一個(gè)設(shè)備,本篇筆記內(nèi)容如下:

02044fa6-990f-11eb-8b86-12bb97331649.png

我們創(chuàng)建一個(gè)用于管理float類型數(shù)據(jù)的共用體:

unionfloat_data { floatf_data; uint8_tbyte[4]; };

數(shù)據(jù)的流向如:

02316d10-990f-11eb-8b86-12bb97331649.png

本次使用串口助手模擬發(fā)送設(shè)備,省略了第一步,主要看第②、③步。

創(chuàng)建兩個(gè)共用體變量,用于發(fā)送與接收:

unionfloat_datarx_float_data,tx_float_data;

收發(fā)相關(guān)代碼:

左右滑動(dòng)查看全部代碼>>>

// if(HAL_UART_Receive(&huart3,rx_float_data.byte,4,1000)==HAL_OK) { printf("rx_float_data.byte[0]=%.2x(addr:%#x) ",rx_float_data.byte[0],&rx_float_data.byte[0]); printf("rx_float_data.byte[1]=%.2x(addr:%#x) ",rx_float_data.byte[1],&rx_float_data.byte[1]); printf("rx_float_data.byte[2]=%.2x(addr:%#x) ",rx_float_data.byte[2],&rx_float_data.byte[2]); printf("rx_float_data.byte[3]=%.2x(addr:%#x) ",rx_float_data.byte[3],&rx_float_data.byte[3]); printf("rx_float_data.f_data=%f(addr:%#x) ",(float)rx_float_data.f_data,&rx_float_data.f_data); tx_float_data.f_data=rx_float_data.f_data+1.0f; printf("tx_float_data.f_data=%f ",tx_float_data.f_data); HAL_UART_Transmit(&huart3,tx_float_data.byte,4,1000); }

代碼很簡單,UART3接收到串口助手發(fā)送的float類型對應(yīng)的16進(jìn)制數(shù)據(jù)存于rx_float_data.byte中,并打印輸出rx_float_data.byte的各個(gè)字節(jié),此時(shí)rx_float_data.f_data就是我們接收的浮點(diǎn)數(shù)據(jù),接收到的數(shù)據(jù)加上1.0后賦予tx_float_data.f_data再通過UART3把tx_float_data.byte發(fā)送出去。

運(yùn)行結(jié)果:

029ca5da-990f-11eb-8b86-12bb97331649.png

這里以傳輸數(shù)據(jù)1.28為例,1.28對應(yīng)的十六進(jìn)制數(shù)據(jù)是什么呢?

我們可以通過一些在線網(wǎng)站查看,比如

http://www.styb.cn/cms/ieee_754.php

02c9b12e-990f-11eb-8b86-12bb97331649.png

1.28對應(yīng)的十六進(jìn)制為:3FA3D70A。因?yàn)?a href="http://www.xsypw.cn/v/tag/751/" target="_blank">STM32是小端模式,所以使用串口助手發(fā)送時(shí)需要進(jìn)行一個(gè)逆序,即發(fā)送0AD7A33F。從實(shí)驗(yàn)結(jié)果可以看到:

02edf03e-990f-11eb-8b86-12bb97331649.png

STM32收到1.28之后,加上1.0之后通過UART3發(fā)回上位機(jī),2.28對應(yīng)4011EB85:

02fba01c-990f-11eb-8b86-12bb97331649.png

這里我們使用串口助手來模擬一個(gè)設(shè)備,所以需要查一下我們要發(fā)送的float數(shù)據(jù)對應(yīng)的十六進(jìn)制數(shù)據(jù)。實(shí)際兩個(gè)設(shè)備之間做傳輸是不需要這么做的,想發(fā)什么就傳什么就可以:

032a68ac-990f-11eb-8b86-12bb97331649.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1555

    瀏覽量

    76629
  • STM
    STM
    +關(guān)注

    關(guān)注

    1

    文章

    556

    瀏覽量

    42505
  • float
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7785

原文標(biāo)題:STM32如何收發(fā)float類型數(shù)據(jù)?

文章出處:【微信號(hào):zhuyandz,微信公眾號(hào):FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請問TLV320AIC3106怎么轉(zhuǎn)換32位float數(shù)據(jù)

    TLV320AIC3106怎么轉(zhuǎn)換32位float數(shù)據(jù)
    發(fā)表于 11-05 08:07

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型整數(shù)類型

    是整數(shù)類型或浮點(diǎn)類型。 % 的操作數(shù)只支持整數(shù)類型。 ** 的左操作數(shù)只能為 Int64 類型Float64
    發(fā)表于 09-13 14:55

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型元組類型

    二元,例如,(Int64, Float64) 表示一個(gè)二元組類型,(Int64, Float64, String) 表示一個(gè)三元組類型。 元組的長度是固定的,即一旦定義了一個(gè)元組
    發(fā)表于 09-12 11:02

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基礎(chǔ)數(shù)據(jù)類型浮點(diǎn)類型

    浮點(diǎn)類型包括 Float16、 Float32 和 Float64,分別用于表示編碼長度為 16-bit、 32-bit 和 64-bit 的浮點(diǎn)數(shù)(帶小數(shù)部分的數(shù)字,如 3.1415
    發(fā)表于 09-10 10:22

    i2s_read返回的內(nèi)存指針可以是float類型的數(shù)組嗎?

    (aux in輸入的音頻信號(hào)),如果我把float 改成int16_t就沒有問題了,但是我后續(xù)的數(shù)據(jù)處理精度需要是float數(shù)據(jù)類型,誰能給解答一下?i2s_read返回的到底是整形還
    發(fā)表于 06-28 08:07

    想用stm32f407完成數(shù)據(jù)收發(fā)功能,想裸機(jī)以中斷的方式控制數(shù)據(jù)收發(fā),不知道該方案是否可行?

    想用stm32f407完成數(shù)據(jù)收發(fā)功能,暫時(shí)不想移植協(xié)議棧,想裸機(jī)以中斷的方式控制數(shù)據(jù)收發(fā),不知道該方案是否可行?有沒有相關(guān)的例程?希望
    發(fā)表于 05-17 06:26

    關(guān)于stm32 unsigned int轉(zhuǎn)float數(shù)據(jù)變化問題求解

    Temp的值是2147553344 (0x80011040)數(shù)據(jù)類型是unsigned int型 Temp_float的值是2.14755328e+009數(shù)據(jù)類型float
    發(fā)表于 05-08 06:48

    關(guān)于go中接口類型的表示方法

    go是一個(gè)靜態(tài)性語言,每個(gè)變量都有靜態(tài)的類型,因此每個(gè)變量在編譯階段中有明確的變量類型,比如像:int、float32、MyType。
    的頭像 發(fā)表于 04-28 10:13 ?377次閱讀

    STM32F103VC使用simulation和虛擬串口進(jìn)行串口數(shù)據(jù)收發(fā)時(shí),進(jìn)不了IDLE中斷的原因?

    單片機(jī):STM32F103VC,keil版本:5.18; 在使用simulation和虛擬串口進(jìn)行串口數(shù)據(jù)收發(fā)時(shí),數(shù)據(jù)能夠正常發(fā)送,但是接收數(shù)據(jù)
    發(fā)表于 04-26 07:09

    stm32f4xx的CAN對ID配置有要求嗎?CAN收發(fā)器是什么型號(hào)的?

    stm32f4xx的CAN疑問: 1)標(biāo)準(zhǔn)幀收發(fā)時(shí),對CAN ID有特殊的要求或約束嗎?比如哪些CAN ID不能用? 2)CAN收發(fā)器是什么型號(hào)?對CAN數(shù)據(jù)鏈路層的編碼有特殊操作嗎?
    發(fā)表于 04-22 06:03

    STM32F4用JSCOPE選參數(shù)的時(shí)候float類型的選不了是為什么?

    有人遇到這種問題嗎,JSCOPE選參數(shù)的時(shí)候float類型的選不了,不知道什么原因
    發(fā)表于 04-15 06:14

    stm32cubeIDE移植的UCOSIII,定義float變量后進(jìn)入硬件錯(cuò)誤怎么解決?

    如題:stm32cubeIDE移植的UCOSIII,STemwin,用的stm32407芯片,定義float變量后進(jìn)入硬件錯(cuò)誤 之前是Keil5移植的時(shí)候也遇到了這個(gè)問題,然后是在啟動(dòng)文件中加了一段代碼解決了。 這次因?yàn)閱?dòng)文件
    發(fā)表于 04-12 06:09

    使用CubeMX配置STM32010C6T6的LPUART1外設(shè),調(diào)用串口發(fā)送和接收函數(shù)均不能收發(fā)數(shù)據(jù)怎么解決?

    如題,STM32010C6T6串口1配置完成后,Cube界面接收引腳模式默認(rèn)為推挽輸出,并且沒有其它選項(xiàng)可以更改,(其它系列MCU默認(rèn)是輸入模式)生成的工程調(diào)用串口發(fā)送和接收函數(shù)均不能收發(fā)數(shù)據(jù)
    發(fā)表于 03-19 07:48

    STM32G491使用串口DMA收發(fā)數(shù)據(jù),一直進(jìn)中斷卡死其他任務(wù)是為什么?

    STM32G491使用串口DMA收發(fā)數(shù)據(jù),一直進(jìn)中斷卡死其他任務(wù),具體原因是出現(xiàn)在哪里?
    發(fā)表于 03-18 07:49

    arcgis值類型與字段類型不兼容

    數(shù)據(jù)類型,用于定義字段可以存儲(chǔ)的數(shù)據(jù)范圍和格式。常見的字段類型包括整數(shù)(int),浮點(diǎn)數(shù)(float),日期(date),文本(string)等。當(dāng)我們在創(chuàng)建
    的頭像 發(fā)表于 02-25 11:14 ?1742次閱讀
    主站蜘蛛池模板: 在线网址你懂的| 五月天在线播放| 日本69式xxx视频| 1000又爽又黄禁片在线久| 亚洲成人黄色网址| 最近新韩国hd视频| 亚洲香蕉毛片久久网站老妇人| 在线看片你懂得| 天天色图片| 日本在线www| 六月婷婷啪啪| 激情网址在线观看| 成人sese| 天天干在线影院| 激情综合五月天丁香婷婷| 欧美精品高清在线xxxx| 日产精品卡二卡三卡四卡无卡乱码| 国产一级αv片免费观看| jlzzjlzzjlzz日本亚洲| xx性欧美| 伊人久久成人成综合网222| 天堂最新版资源www在线| 免费一级特黄a| 377p亚洲欧洲日本大胆色噜噜| 女色窝人体色77777| 黄频网| 一区二区三区免费视频网站| 色婷婷在线视频观看| 狠狠色丁香久久综合婷婷| 夜夜爽夜夜爱| 成年女人色费视频免费| 欧美性色xo影院在线观看| 四虎影院台湾辣妹| 久久88色综合色鬼| 天天躁夜夜躁狠狠躁| 1024国产基地永久免费| av免费网站在线观看| 人操人摸| 一级视频在线观看免费| 不卡的毛片| 妖精视频永久在线入口|