当前位置:首页 > 单片机 > 单片机
[导读]方法一:直接把float数据拆分为4个unsigned char(由于数字没法拆分,所以只能用指针的),发过去,在合并为float。其中有两点要注意。(1)大端存储,小端存储;如果搞错读取数据就不是你接收的数据地址(我主要使用

方法一:


直接把float数据拆分为4个unsigned char(由于数字没法拆分,所以只能用指针的),发过去,在合并为float。


其中有两点要注意。


(1)大端存储,小端存储;如果搞错读取数据就不是你接收的数据地址(我主要使用了fpga,arm以及PC机,很有可能存储方式不同,一般可能不需要考虑)


(2)字对齐。不然就合并不成float(我先前没注意直接一个很怪异的数据)


发送端



void package_frame(const void *data)

{

int i;

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

{

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

}

}


将float data数据拆分成uchar后存储在数组send_frame[]发送。




float exchange_data(uchar *data)

{

float float_data;

float_data = *((float*)data);

return float_data;

}


将uchar *data首地址付给float_data来合并成float型数据(记得字对齐和大小端存储,不然数据不对)



其实发整数等大于1字节的数据也一样。


方法二:


  读取的adc数据寄存器的值不*3.3V(或5V)除以2的N次方,直接把这个数据发到上位机,在上位机程序里再*3.3V除以2的N次方。


这样就避免了传递浮点数的麻烦。


本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

▼点击下方名片,关注公众号▼大家好,很高兴和各位一起分享我的第45篇原创文章,喜欢和支持我的工程师,欢迎给我点赞、收藏、分享。加微信[xyzn3333]与作者沟通交流,免费获取更多单片机与嵌入式的海量电子资料。欢迎关注【...

关键字: 串口发送

最近项目上要用到 MPU6050 陀螺仪,以前没有接触过它。虽然在网上很容易就可以找到了需要的代码。实现了一部分功能。但是却还是对陀螺仪的工作原理不太了解,它的代码也需要分析一下,I2C通信、相关寄存器也要熟悉。我看网上...

关键字: mpu6050 int

摘要:为了更好地发挥随钻测井仪检测数据的真实性和使用灵活性等优点,文中基于Actel公司的APA075FPGA数据采集和传输系统所涉及到的AD数据采集、FPGA数据缓存、FPGA中数据的串口发送三部分,在实验室自制的一块...

关键字: 随钻井径检测 AD数据采集 FPGA 串口发送

大家好,我是张巧龙,本文介绍如何使用带FIFO的串口来减少接收中断次数,通过一种自定义通讯协议格式,给出帧打包方法;之后介绍一种特殊的串口数据发送方法,可在避免使用串口发送中断的情况下,提高系统的响应速度。一种可1.简介...

关键字: 串口发送

MCU:STM32F334C8T6Frameware:STM32F3348-Discovery_FW_V1.0.0实现功能:在PC使用串口调试助手向MCU发送字符(数据),MCU将接收到的字符发回PC代码:#includ...

关键字: stm32f334 串口发送 接收数据

  init可执行程序是系统运行的第一个用户控件的程序  它已守护进程的方式运行,它是从linux启动标准自动进入Android系统的入口  init可执行成程序的代码路径为:system/core/

关键字: android系统 int

#include void leddisplay(); // 数码管显示 void delayms(unsigned int k); // 延时 n ms void USART_SEND(unsigned char...

关键字: 51单片机 中断接收 串口发送

bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。int 从 -

关键字: int mysql bigint sm

1、C8051f的UART0是异步、全双工串口。其波特率发生器规定由定时器1定时器提供。可配置为8位UART或9位UART(多机通讯第九位用于片选作用)。SYSCLK=24.5MHZ(我的板子采用内部晶振频率作为系统时钟...

关键字: c8051f300 uart0 初始化 串口发送

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

关键字: atmega16 中断接收 串口发送
关闭
关闭