将结构体中的浮点数数据提取出来并发送至串口屏显示

news2024/9/26 5:19:27

1、由于项目中定义了一个结构体如下:

typedef struct
{
	uint16_t number;
  uint16_t LocationData;
	uint16_t PersonData;
//	_calendar_obj calendar;
//	uint16_t LiuLiang_Value;
	float LiuLiang_Value;
	_calendar_obj calendar_records;
} Frame;

现需要将其中的float LiuLiang_Value;值从结构体存储的空间中提取出来,使用串口将该数据分字节传递出去,可以使用如下方法:

2、先定义结构体变量

 Frame CeLiang_data;//定义测量结构体变量
 	Frame *p;

然后初始化:

p=&CeLiang_data;//初始化结构体指针,将结构体初值地址给指针变量p

再讲结构体指针做一个转化

		//提取测量结构体中的浮点数测量值到liuliang_buff[4]
		 unsigned char *pdata1=(unsigned char *)p;//定义一个字符类型指针,将测量结构体的指针地址给pdata
		 unsigned char *pdata2=pdata1+8;//偏移地址要加8,不能加6,因为结构体前面的三个数为2字节的uint16_t,占用空间时应该是为了对齐,占用了8个字节,所以加8开始存储的float流量值
		 for(uint8_t i=0;i<4;i++)
		{
				liuliang_buff[i]=*pdata2++;
		}

3、这样,就可以使用pdata2指针按字节地址访问结构体中的成员数据,这里通过提取,将float LiuLiang_Value数据存放在了liuliang_buff[i]中。

4、然后,可以发送串口屏指令,将浮点数据显示在串口屏上

SetTxData3_toLCD(0x13,0x00,liuliang_buff[0],liuliang_buff[1],liuliang_buff[2],liuliang_buff[3]);//将流量值传给串口屏显示
		UserUart1Send( tempbuff3,sizeof(tempbuff3));

5、需要注意的是,直接将float LiuLiang_Value值给串口屏是无法实现的。同时,参照迪文屏的使用手册指南,可以找到单精度浮点数的传递方法:

可以看到,单精度浮点数占据4个字节长度。

6、最后,还需要在迪文屏的制作文件中设置数据类型,如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1429848.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

新手从零开始学习数学建模论文写作(美赛论文临时抱佛脚篇)

本文记录于数学建模老哥视频的学习过程中。b站视频&#xff1a;http://【【零基础教程】老哥&#xff1a;数学建模算法、编程、写作和获奖指南全流程培训&#xff01;】https://www.bilibili.com/video/BV1kC4y1a7Ee?p50&vd_sourceff53a726c62f94eda5f615bd4a62c458 目录…

一分钟教你搭建steam幻兽帕鲁服务器,稳定不卡

如何自建幻兽帕鲁服务器&#xff1f;基于阿里云服务器搭建幻兽帕鲁palworld服务器教程来了&#xff0c;一看就懂系列。本文是利用OOS中幻兽帕鲁扩展程序来一键部署幻兽帕鲁服务器&#xff0c;阿里云百科aliyunbaike.com分享官方基于阿里云服务器快速创建幻兽帕鲁服务器教程&…

2024年适合进入股市吗?北京想开股票账户找哪家证券公司交易佣金费用最低?

股市规则是指股票市场中的一系列规则和制度&#xff0c;用于监管和管理股票交易。以下是一些常见的股市规则&#xff1a; 证券法律法规&#xff1a;股市规则的基础是国家的证券法律法规&#xff0c;包括证券法、公司法等&#xff0c;用于规范股票发行、交易和上市等方面的法律规…

【紧耦合新范式】Think-on-Graph:解决大模型在医疗、法律、金融等垂直领域的幻觉

Think-on-Graph&#xff1a;解决大模型在医疗、法律、金融等垂直领域的幻觉 Think-on-Graph 原理ToG 算法步骤&#xff1a;想想再查&#xff0c;查查再想实验结果 论文&#xff1a;https://arxiv.org/abs/2307.07697 代码&#xff1a;https://github.com/IDEA-FinAI/ToG Think…

AI专题:2023年AI创意营销趋势白皮书

今天分享的是AI系列深度研究报告&#xff1a;《AI专题&#xff1a;2023年AI创意营销趋势白皮书》。 &#xff08;报告出品方&#xff1a;蓝色光标集团销博特&#xff09; 报告共计&#xff1a;65页 2022年10月 Stabili ty AI获得1.01亿美元融资 开源人工智能公司 StabilityA…

STM32CAN2进入bus off 模式

工作遇到的问题记录 无人机CAN2整个进不了中断&#xff0c;通过查看寄存器判定出CAN节点进入了bus off mode 为何进入bus off &#xff0c;最后通过示波器看到整个CAN2总线波形就不对&#xff0c;总线出现了错误 Busoff的产生是一定是因为节点自身识别到自己发送错误&#xff…

Konva中滚动问题

现在有两个group,想要的效果时拖动绿的group时&#xff0c;红色group按照相同方向移动同样距离 可以在绿的group的拖动方法中 通过move方法 移动红色的group

零基础Vue框架上手;git,node,yarn安装

项目搭建环境&#xff1a; git安装&#xff1a;Git - 安装 Git (git-scm.com)&#xff08;官网&#xff09; 下载路径&#xff1a;Git - Downloading Package (git-scm.com)&#xff1b;根据自己电脑下载相对应的安装包 ​ 点next ​ 点next&#xff0c;点到最后安装就行。…

人工智能基础-matplotlib基础

绘制图形 import numpy as np x np.linspace(0, 10, 100) y np.sin(x) import matplotlib as mpl import matplotlib.pyplot as plt plt.plot(x, y) plt.show()绘制多条曲线 siny y.copy() cosy np.cos(x) plt.plot(x, siny) plt.plot(x, cosy) plt.show()设置线条颜色 …

2024年第四届能源与环境工程国际会议(CoEEE 2024) | Ei Scopus检索

会议简介 Brief Introduction 2024年第四届能源与环境工程国际会议(CoEEE 2024) 会议时间&#xff1a;2024年5月22日-24日 召开地点&#xff1a;意大利米兰 大会官网&#xff1a;www.coeee.org CoEEE 2024将围绕“能源与环境工程”的最新研究领域而展开&#xff0c;为研究人员、…

ES6-数组的解构赋值

一、数组的解构赋值的规律 - 只要等号两边的模式相同&#xff0c;左边的变量就会被赋予对应的值二、数组的解构赋值的例子讲解 1&#xff09;简单的示例&#xff08;完整的解构赋值&#xff09; 示例 //基本的模式匹配 // a&#xff0c;b,c依次和1&#xff0c;2&#xff0c…

CSS 外边距合并、塌陷和BFC

外边距合并 CSS中的外边距合并指的是当两个相邻元素都设置了上下外边距时&#xff0c;它们之间会发生重叠。这种现象被称为"margin collapsing"&#xff08;外边距合并&#xff09;或者"margin collapse"&#xff08;外边距塌陷&#xff09;。 可以看出上…

【PTA浙大版《C语言程序设计(第4版)》编程题】练习7-4 找出不是两个数组共有的元素(附测试点)

目录 输入格式: 输出格式: 输入样例: 输出样例: 代码呈现 测试点 给定两个整型数组&#xff0c;本题要求找出不是两者共有的元素。 输入格式: 输入分别在两行中给出两个整型数组&#xff0c;每行先给出正整数N&#xff08;≤20&#xff09;&#xff0c;随后是N个整数&a…

【DDD】学习笔记-代码模型的架构决策

代码模型属于软件架构的一部分&#xff0c;它是设计模型的进化与实现&#xff0c;体现出了代码模块&#xff08;包&#xff09;的结构层次。在架构视图中&#xff0c;代码模型甚至会作为其中的一个视图&#xff0c;通过它来展现模块的划分&#xff0c;并定义运行时实体与执行视…

Leetcode—203. 移除链表元素【简单】

2024每日刷题&#xff08;一零九&#xff09; Leetcode—203. 移除链表元素 实现代码 /*** Definition for singly-linked list.* struct ListNode {* int val;* ListNode *next;* ListNode() : val(0), next(nullptr) {}* ListNode(int x) : val(x), next(n…

ffmpeg 时间裁剪之-ss -t与滤镜中trim=start=*:duration=*的区别和联系

背景 工作中遇到的呗。记下来贡着。 滤镜重置时间戳&#xff1a;setptsPTS-STARTPTS 在FFmpeg中&#xff0c;setptsPTS-STARTPTS是一种用于调整视频时间戳&#xff08;PTS&#xff09;的滤镜表达式。这个表达式通常用于视频编辑和处理过程中&#xff0c;用于修改视频的时间轴…

H5 加密(MD5 Base64 sha1)

1. 说明 很多的时候是避免不了注册登录这一关的&#xff0c;但是一般的注册是没有任何的难度的&#xff0c;无非就是一些简单的获取用户输入的数据&#xff0c;然后进行简单的校验以后调用接口&#xff0c;将数据发送到后端&#xff0c;完成一个简单的注册的流程&#xff0c;那…

代码随想录 Leetcode93. 复原 IP 地址

题目&#xff1a; 代码(首刷看解析 2024年2月3日&#xff09;&#xff1a; class Solution { public:vector<string> res;bool Enligible(string& s, int left, int right) {if (left > right) return false;if (s[left] 0 && left ! right) return fal…

类银河恶魔城学习记录1-1 Player状态机的搭建 P28

对状态机的介绍 什么是状态机&#xff1f;一篇文章就够了 - 知乎 说实话&#xff0c;目前并不能深入理解状态机的奇妙之处&#xff08;当然&#xff0c;我觉得状态机作为教程的重要组成部分是不得不理解的&#xff0c;所以以下我会对游戏教程内的状态机做一些我认为的解释&am…

通过 ChatGPT 的 Function Call 查询数据库

用 Function Calling 的方式实现手机流量包智能客服的例子。 def get_sql_completion(messages, model"gpt-3.5-turbo"):response client.chat.completions.create(modelmodel,messagesmessages,temperature0,tools[{ # 摘自 OpenAI 官方示例 https://github.com/…