亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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之家 ? 來(lái)源:開源博客 ? 作者:學(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); }

代碼很簡(jiǎn)單,UART3接收到串口助手發(fā)送的float類型對(duì)應(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對(duì)應(yīng)的十六進(jìn)制數(shù)據(jù)是什么呢?

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

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

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

1.28對(duì)應(yīng)的十六進(jìn)制為:3FA3D70A。因?yàn)?a href="http://www.qiaming.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對(duì)應(yīng)4011EB85:

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

這里我們使用串口助手來(lái)模擬一個(gè)設(shè)備,所以需要查一下我們要發(fā)送的float數(shù)據(jù)對(duì)應(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)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1603

    瀏覽量

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

    關(guān)注

    1

    文章

    557

    瀏覽量

    43749
  • float
    +關(guān)注

    關(guān)注

    0

    文章

    9

    瀏覽量

    7972

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

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    E203的F指令集拓展

    設(shè)計(jì)完成FPU_control模塊,通過NICE完成數(shù)據(jù)寫回仲裁及數(shù)據(jù)傳遞,實(shí)現(xiàn)FPU浮點(diǎn)運(yùn)算功能 基于上述NICE接口筆者拓展了float_add,float_sub,
    發(fā)表于 10-20 09:23

    GD32的串口DMA收發(fā)數(shù)據(jù)失敗怎么解決?

    我在使用RTT的GD32F303的BSP時(shí),配置使用串口DMA收發(fā)(rt_device_open),發(fā)現(xiàn)錯(cuò)誤,最終無(wú)法收發(fā)數(shù)據(jù),對(duì)比了STM32的BSP發(fā)現(xiàn)在drv_usart.c中
    發(fā)表于 09-17 06:04

    SQL 通用數(shù)據(jù)類型

    SQL 通用數(shù)據(jù)類型 數(shù)據(jù)庫(kù)表中的每個(gè)列都要求有名稱和數(shù)據(jù)類型。Each column in a database table is required to have a name and a
    的頭像 發(fā)表于 08-18 09:46 ?526次閱讀

    IEC101協(xié)議可以傳輸什么類型數(shù)據(jù)

    IEC101協(xié)議作為電力系統(tǒng)遠(yuǎn)動(dòng)通信的核心標(biāo)準(zhǔn),其核心能力在于支持多種類型數(shù)據(jù)的傳輸,滿足調(diào)度端與場(chǎng)站端(如變電站、發(fā)電廠)的實(shí)時(shí)監(jiān)控、控制及狀態(tài)感知需求。以下從數(shù)據(jù)類型、傳輸模式及典型應(yīng)用場(chǎng)景三個(gè)
    的頭像 發(fā)表于 05-21 11:37 ?610次閱讀

    正點(diǎn)原子Linux系列全新視頻教程來(lái)啦!手把手教你MP257開發(fā)板,讓您輕松入門!

    正點(diǎn)原子Linux系列全新視頻教程來(lái)啦!手把手教你MP257開發(fā)板,讓您輕松入門! 一、視頻觀看 正點(diǎn)原子手把手教你學(xué)STM32MP257-第1期:https://www.bilibili.com/video/BV1UtEiz
    發(fā)表于 05-16 10:42

    STM32F103x8 STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)

    STM32F103x8STM32F103xB單片機(jī)數(shù)據(jù)手冊(cè)
    發(fā)表于 04-14 14:55 ?6次下載

    【第四章 定時(shí)任務(wù)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云

    【第四章 定時(shí)任務(wù)】手把手教你玩轉(zhuǎn)新版正點(diǎn)原子云 承接上篇,除了報(bào)警聯(lián)動(dòng)這個(gè)功能,原子云還有一個(gè)特色功能也是各開發(fā)者喜歡用的,定時(shí)任務(wù)功能。 【正點(diǎn)原子】云平臺(tái):原子云(點(diǎn)擊登錄原子云) 前言
    發(fā)表于 03-13 10:19

    設(shè)計(jì)了一個(gè)基于浮點(diǎn)數(shù)運(yùn)算的協(xié)處理器,使用C語(yǔ)言編程時(shí)沒法輸入float數(shù)據(jù),請(qǐng)問有哪些部分需要修改?

    我設(shè)計(jì)了一個(gè)基于浮點(diǎn)數(shù)運(yùn)算的協(xié)處理器,使用C語(yǔ)言編程時(shí)沒法輸入float數(shù)據(jù),請(qǐng)問有哪些部分需要修改?SDK,EXU_decoder浮點(diǎn)寄存器都需要修改嗎,謝謝
    發(fā)表于 03-07 16:03

    labview數(shù)據(jù)類型與PLC 數(shù)據(jù)類型之間的轉(zhuǎn)換(來(lái)自于寫入浮點(diǎn)數(shù)到匯川 PLC中的數(shù)據(jù)轉(zhuǎn)換關(guān)鍵的修改)

    為32位無(wú)符號(hào)整型U32 2、將U32拆分為兩個(gè)U16,分高低位寫入PLC 3、在PLC中,將低位寄存器設(shè)置為浮點(diǎn)數(shù)數(shù)據(jù)類型 4、結(jié)果:PLC中一直無(wú)法正確轉(zhuǎn)換。 原因及解決方法: 1、labview
    發(fā)表于 02-24 19:01

    IO-Link收發(fā)器怎么數(shù)據(jù)讀取

    扮演著關(guān)鍵角色,它們負(fù)責(zé)數(shù)據(jù)的發(fā)送和接收。本文將深入探討IO-Link收發(fā)器如何讀取數(shù)據(jù),包括其工作原理、硬件和軟件要求、數(shù)據(jù)類型及應(yīng)用場(chǎng)景等,為您提供一份詳盡的技術(shù)指南。
    的頭像 發(fā)表于 02-02 16:34 ?1017次閱讀

    分布式云化數(shù)據(jù)庫(kù)有哪些類型

    分布式云化數(shù)據(jù)庫(kù)有哪些類型?分布式云化數(shù)據(jù)庫(kù)主要類型包括:關(guān)系型分布式數(shù)據(jù)庫(kù)、非關(guān)系型分布式數(shù)據(jù)
    的頭像 發(fā)表于 01-15 09:43 ?801次閱讀

    STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F405xx和STM32F407xx微控制器數(shù)據(jù)手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 01-03 14:49 ?4次下載

    總線接口的類型與選擇指南

    總線是計(jì)算機(jī)中各種設(shè)備的連接通道,是不同設(shè)備間信息傳輸?shù)墓餐ǖ?。而總線接口則是計(jì)算機(jī)與外部設(shè)備進(jìn)行信息傳輸?shù)耐ǖ馈R韵率菍?duì)總線接口的類型及選擇指南的介紹: 總線接口的類型 UART(通用異步收發(fā)
    的頭像 發(fā)表于 12-31 10:06 ?2097次閱讀

    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— 手把手教你搞定數(shù)據(jù)打包解包

    本文要說(shuō)的是低功耗4G模組Air780E的LuatOS開發(fā)實(shí)戰(zhàn),我將手把手教你搞定數(shù)據(jù)打包解包。
    的頭像 發(fā)表于 12-03 11:17 ?950次閱讀
    Air780E模組LuatOS開發(fā)實(shí)戰(zhàn) —— 手把手<b class='flag-5'>教你</b>搞定<b class='flag-5'>數(shù)據(jù)</b>打包解包