串口发送浮点型数据及int(2个字节)long int(4个字节)的方法
方法一:
直接把float数据拆分为4个unsigned char(由于数字没法拆分,所以只能用指针的),发过去,在合并为float。
其中有两点要注意。
(1)大端存储,小端存储;如果搞错读取数据就不是你接收的数据地址(我主要使用了fpga,arm以及PC机,很有可能存储方式不同,一般可能不需要考虑)
(2)字对齐。不然就合并不成float(我先前没注意直接一个很怪异的数据)
发送端
void package_frame(const void *data)
{
int i;
for(i=; i<; 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次方。
这样就避免了传递浮点数的麻烦。
串口发送浮点型数据及int(2个字节)long int(4个字节)的方法的更多相关文章
- 【小梅哥FPGA进阶教程】串口发送图片数据到SRAM在TFT屏上显示
十五.串口发送图片数据到SRAM在TFT屏上显示 之前分享过rom存储图片数据在TFT屏上显示,该方法只能显示小点的图片,如果想显示TFT屏幕大小的图片上述方法rom内存大小不够.小梅哥给了个方案,利 ...
- c# 串口发送接收数据
/********************** 串口数据接收事件 *****************************/ private void SerialPort_DataReceived ...
- 纠错:基于FPGA串口发送彩色图片数据至VGA显示
今天这篇文章是要修改之前的一个错误,前面我写过一篇基于FPGA的串口发送图片数据至VGA显示的文章,最后是显示成功了,但是显示的效果图,看起来确实灰度图,当时我默认我使用的MATLAB代码将图片数据转 ...
- Winform串口编程---接收数据demo(VSPD虚拟串口)
参考地址:https://blog.csdn.net/memgxingfeixiang/article/details/52513970 https://blog.csdn.net/kevin_io ...
- 03 串口发送端口Rs232之简单驱动1
前言: 最近想实际做两个项目,认真学习怎么做一个系统,所以在看FPGA小梅哥2019的培训课程,发现他是从各个模块讲起,就是没有直接讲一个整体的系统,而是从一些模块开始,如串口发送.刚开始我想直接创造 ...
- golang连接activemq,发送接收数据
介绍 使用golang连接activemq发送数据的话,需要使用一个叫做stomp的包,直接go get github.com/go-stomp/stomp即可 代码 生产者 package main ...
- C语言实验单片机串口发送int型数据
void SendIint(int n)reentrant { unsigned char s; while(n!=0) { s=(unsigned char)n%10+48; SendByte(s) ...
- C#串口通信—向串口发送数据,同步接收返回数据
最近写C#串口通信程序,系统是B/S架构.SerialPort类有一个DataReceived事件,用来接收串口返回的数据,但这种方式在C/S架构下很好用,但B/S就不好处理了.所以写了一个同步模式接 ...
- C#把汉字转换成16进制(HEX)并向串口发送数据
报警器实例:(有发送,无返回获取) using System; using System.Collections.Generic; using System.Linq; using System.Te ...
随机推荐
- POJ 3628 Bookshelf 2【01背包】
题意:给出n头牛的身高,以及一个书架的高度,问怎样选取牛,使得它们的高的和超过书架的高度最小. 将背包容量转化为所有牛的身高之和,就可以用01背包来做=== #include<iostream& ...
- checkbox美化;给div加上checked属性
DIV的背景图修改 $("#isOpenmibao").css("backgroundImage", " url('../images/checkbo ...
- BZOJ 3306 树
dfs序建线段树+分类讨论+写的有点长. #include<iostream> #include<cstdio> #include<cstring> #includ ...
- 2015-10-13 晴 tcp/ip卷1
今年看tcp/ip卷1的内容.苦和甜来自外界,坚强则来自内心,来自一个人的自我努力. 只有勤奋和积极进取的人 才会赢得成功的人生.加油
- 如何使用 Java 中的数组
Java 中操作数组只需要四个步骤: 1. 声明数组 语法: 数据类型[ ] 数组名: 或者 数据类型 数组名[ ]: 其中,数组名可以是任意合法的变量名,如: 2. 分配空间 简单地说,就是指 ...
- library cache lock和cursor: pin S wait on X等待
1.现象: 客户10.2.0.4 RAC环境,出现大量的library cache lock和cursor: pin S wait on X等待,经分析是由于统计信息收集僵死导致的.数据库在8点到9点 ...
- Codeforces Round #217 (Div. 2) c题
C. Mittens time limit per test 1 second memory limit per test 256 megabytes input standard input out ...
- cocos2dx+lua中cc.EventListenerMouse:create()的bug
今天在调试项目的时候用到了鼠标事件的监听 在创建事件监听器的时候出了问题 cc.EventListenerMouse:create() 这句返回值为nil 原来这是cocos2dx引擎的一个bug,t ...
- 理解Mysql的索引与优化
转自:http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html 写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库 ...
- ERROR:The requested URL could not be retrieved解决方法
ERROR 错误 The requested URL could not be retrieved 您所请求的网址(URL)无法获取 While trying to retrieve the URL: ...