SYD881X读取GATT VALUE的长度

SYD881X读取GATT VALUE的长度
现在具体遇到这样一个需要,机器生产后要更新profile,这个只能够通过升级4K来做,但是需要知道profile是否改变了,这个就要知道profile是否改变来决定是否要升级,这里的做法是增加一个函数:
extern uint8_t GattValueGetHdlLen(uint16_t hdl);
比如我要知道handle为0x001F对应的数据的长度是否改变了,只要这样调用函数就好了:

int main(void)
{uint8_t value_len;__disable_irq();	ble_init();  //蓝牙初始化,系统主时钟初始化64M,32K时钟初始化为LPOvalue_len=GattValueGetHdlLen(BLE_UART_NOTIFY_VALUE_HANDLE);//这个函数必须要在协议栈初始化之后调用nvic_priority();   //把串口优先级设置到最高********************dbg_printf("Syd8811_UART %s:%s %d\r\n",__DATE__ ,__TIME__,value_len);

在这里插入图片描述
代码运行后显示log如下:
在这里插入图片描述
这里删除两个字节后把TXT下载到芯片后,复位代码运行显示的长度如下:
在这里插入图片描述
在这里插入图片描述
这里显示的是26,但是实际的长度只有18,另外的8个是一些固定的头部!
到此说明可以读回长度了,注意这个功能只有在syd8811_ble_lib20240620_105101.lib这个版本才有这个函数
本文涉及到的代码和profile请从如下地址下载:https://download.csdn.net/download/chengdong1314/89459878
**后话:**傻了,只是想着客户的需求,没有想过其实可以在Verdor datas里面保存4K的版本号,这样就不用通过读取GATT这些如此复杂的方式来做判断是否要升级了.但是想过接口已经做了,为了对得起自己逝去的时间还是把这篇文章写出来!

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

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

相关文章

肩背筋膜炎怎么治疗最有效

肩背筋膜炎是一种常见的肌肉骨骼疾病,其症状主要包括:肩背区域疼痛:由于筋膜组织受到损伤,肩背部位会出现明显的疼痛,疼痛可能会放射到周围的其他部位,严重时会影响睡眠和休息。肌肉紧张和僵硬:…

嵌入式数据库_2.嵌入式数据库的一般架构

嵌入式数据库的架构与应用对象紧密相关,其架构是以内存、文件和网络等三种方式为主。 1.基于内存的数据库系统 基于内存的数据库系统中比较典型的产品是每个McObject公司的eXtremeDB嵌入式数据库,2013年3月推出5.0版,它采用内存数据结构&…

智能座舱中的HUD介绍

HUD(Head Up Display,抬头显示系统)是将车速、油耗、胎压等行车重要信息投影到前方挡风玻璃上的一套显示系统。HUD 最早应用在战斗机上,旨在降低飞行员低头查看仪表的频率,使得飞行员能在保证正常驾驶的同时&#xff0…

2002-2022年各省人口总抚养比数据(人口抽样调查)

2002-2022年各省人口总抚养比数据(人口抽样调查) 1、时间:2002-2022年 2、指标:总抚养比 3、来源:国家统计局、统计年鉴 4、范围:31省, 5、缺失情况:无缺失,其中201…

Git 和 TortoiseGit 安装和配置(图文详解)

使用git,需要在Windows上需要安装两个软件:1)Git 2)TortoiseGit 注意:tortoiseGit是在安装了Git的基础上运行的,所以需要先安装Git,后安装运行tortoiseGit。 因为,运行TortoiseGi…

Web3新视野:Lumoz节点的潜力与收益解读

摘要:低估值、高回报、无条件退款80%...... Lumoz正通过其 zkVerifier 节点销售活动,引领一场ZK计算革命。 长期以来,加密市场以其独特的波动性和增长潜力,持续吸引着全球投资者的目光。而历史数据表明,市场往往在一年…

六西格玛目标设定的时候需要考虑哪些因素?

在追求企业卓越绩效的道路上,六西格玛管理方法论以其严谨的数据驱动和持续改进的理念,成为众多企业的首选工具。然而,要想真正发挥六西格玛的潜力,合理而精准的目标设定至关重要。那么,六西格玛目标设定的时候需要考虑…

电商API接口详述:涵盖订单、库存等多功能接口介绍

电商商家自研管理系统,线下ERP系统或WMS系统想要接入电商平台订单打单发货,通过点三电商API可以一键对接多个电商平台,帮助商家、ERP/WMS服务商快速开发电商模块,实现电商业务管理功能,那么点三电商API接口有哪些可用接…

Stranger Lands - StampIT

作为StampIT!Collection的一部分,Stranger Lands包含30个高质量纹理,具有惊人的4K分辨率。这些高度图纹理可以用作Unity地形工具的画笔,以便在Unity地形上绘制特征。或者您可以在Atlas、Gaia、Map Magic 2、Vista等其他资源中使用这些高度图纹理。 该资源包含高度图和笔刷预…

Java多线程+线程池图文实例操作(源码自取)

目录 线程相关概念 并发 并行 继承Thread类 实现Runnable接口 实现Callable接口 使用ExecutorService 和线程池 多线程卖手机 非同步 同步机制卖手机 锁方法 锁代码块 ​编辑锁静态方法 锁静态代码块 线程常用方法 用户线程和守护线程 线程状态 线程池 自定…

视频监控管理平台的日志功能的重要性

日志功能的重要性 视频监控平台在日常工作生活中越来越重要,具有完备的平台日志,不仅可以增强视频监控系统的自身安全性,还能在更大程度上保障社会的安全与稳定。 (一)安全保障 视频监控平台作为安全防护…

第三十三章 添加和使用自定义标题元素

文章目录 第三十三章 添加和使用自定义标题元素SOAP 标头元素简介如何表示 SOAP 标头 第三十三章 添加和使用自定义标题元素 本主题介绍如何添加和使用自定义 SOAP 标头元素。 有关发生故障时添加标头元素的信息,请参阅 SOAP 故障处理。 WS-Addressing 标头元素在…

机器学习课程复习——集成学习

1. 基本概念 1.1. 定义 通过构建并结合多个个体学习器来完成学习任务,获得比单一学习器显著优越的泛化性能。 1.2. 分类 名称个体学习器例子同质集成基学习器Boosting、Bagging异质集成组件学习器Stacking1.3. 研究的核心 个体学习器的“准确性”和“多样性”本身就存在冲…

悬浮翻译app免费怎么操作?看完这篇文章就知道了

#高考结束该出发看世界了# 高考的钟声已落,是时候开启探索世界的旅程了。无论是踏上旅途,观看视频,阅读书籍,还是浏览网页资料,我们都有机会拓宽视野。 然而,语言常常成为我们与世界沟通的障碍。好在&…

设计模式学习之——单例模式

文章目录 单例模式什么叫做单例模式单例模式的动机 简单单例模式思考 饿汉式单例和懒汉式单例饿汉式单例懒汉式单例 单例模式总结1.主要优点2.主要缺点3.适用场景 单例模式 什么叫做单例模式 顾名思义,简单来说,单例…

Python语言修改控制台输出文字的颜色和背景颜色

Python语言修改控制台输出文字的颜色和背景颜色 格式显示模式字体颜色背景颜色文字加效果显示类 格式 \033[显示模式;字体颜色;背景颜色m 显示模式 显示模式格式将文本颜色和背景颜色重置为默认值,取消所有其他文本属性\033[0m高亮(加粗)\03…

Study--Oracle-04-SQL练习

一、SQL语句思维导图 二、SQL练习 -- 以employee_id 为排序,列出前5个人 -- FETCH select employee_id,first_name from employees order by employee_id FETCH FIRST 5 rows only; -- 以employee_id 为排序,从第6个人开始 到第10个人 -- offset …

【Java】已解决java.sql.SQLException异常

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决java.sql.SQLException异常 在Java中,java.sql.SQLException是一个通用的异常类,用于表示在数据库操作中发生的错误。无论是类型错误、数据类型不匹配…

ArcGIS图斑分区(组)排序—从上到下从左到右

​​ 点击下方全系列课程学习 点击学习—>ArcGIS全系列实战视频教程——9个单一课程组合系列直播回放 ArcGIS图斑分区(组)从上到下从左到右排序 是之前的内容的升级 GIS技巧100例——12ArcGIS图斑空间排序 关于今天的内容 我们在19年已经和大家分…

【Kubernetes项目部署】k8s集群+高可用、负载均衡+防火墙

项目架构图 (1)部署 kubernetes 集群 详见:http://t.csdnimg.cn/RLveS (2) 在 Kubernetes 环境中,通过yaml文件的方式,创建2个Nginx Pod分别放置在两个不同的节点上; Pod使用hostP…