蓝牙系列七:开源蓝牙协议栈BTStack数据处理
继续蓝牙系列的研究。
在上篇博客,通过阅读BTStack的源码,大体了解了其框架,对于任何一个BTStack的应用程序都有一个main函数,这个main函数是统一的。这个main函数做了某些初始化之后,最终会调用到应用程序提供的btstack_main,在btstack_main里面首先做一些初始化,然后调用hci_power_on函数去打开蓝牙模块。
一. 数据类型
运行BTStack程序时,会生成hci_dump.pklg文件,可以使用WireShark打开此文件,截图如下:

怎么理解上图中的数据呢?
BTStack中涉及的数据有2类:
1.从硬件上获得的数据、发给硬件的数据
2.为更新系统状态而虚构的数据

1. 跟硬件相关的数据有4类:
① 发送给蓝牙控制器的Command
② 从蓝牙控制器获得的Event,蓝牙控制器收到Command后会回复Event
③ ACL数据,这涉及收、发两个方向
④ SCO数据
相关文章:
蓝牙系列七:开源蓝牙协议栈BTStack数据处理
继续蓝牙系列的研究。 在上篇博客,通过阅读BTStack的源码,大体了解了其框架,对于任何一个BTStack的应用程序都有一个main函数,这个main函数是统一的。这个main函数做了某些初始化之后,最终会调用到应用程序提供的btstack_main,在btstack_main里面首先做一些初始化,然后…...
数据仓库作业一:第1章 绪论
目录 一、给出下列英文短语或缩写的中文名称,并简述其含义。二、简述操作型数据与分析型数据的主要区别。三、简述数据仓库的定义。四、简述数据仓库的特征。五、简述主题的定义。六、简述元数据的概念。七、简述数据挖掘的主要任务。八、简述数据挖掘的主要步骤。九…...
spring aop中获取request和response
Spring AOP 操作中如何使用request和response 实际使用时,如果方法一不行,请使用方法二 方法一 HttpServletRequest request ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); HttpServletResponse respons…...
在Mac上安装nginx+rtmp 本地服务器
需要使用终端命令,如果没有Homebrew,要安装Homebrew,执行: ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 一、安装Nginx 1、先clone Nginx项目到本地: brew tap de…...
解决ChatGPT发送消息没有反应
ChatGPT发消息没反应 今天照常使用ChatGPT来帮忙码代码,结果发现发出去的消息完全没有反应,即不给我处理,也没有抱任何的错误,按浏览器刷新,看起来很正常,可以查看历史对话,但是再次尝试还是一…...
windows关闭copilot预览版
如果用户不想在windows系统当中启用Copilot,可以通过以下三种方式禁用。 第一种:隐藏Copilot 按钮 右键点击任务栏,取消勾选“显示 Copilot(预览版)按钮”,任务栏则不再显示,用户可以通过快捷键…...
基于Java的社区买菜系统(Vue.js+SpringBoot)
目录 一、摘要1.1 项目介绍1.2 项目录屏 二、系统设计2.1 功能模块设计2.1.1 数据中心模块2.1.2 菜品分类模块2.1.3 菜品档案模块2.1.4 菜品订单模块2.1.5 菜品收藏模块2.1.6 收货地址模块 2.2 可行性分析2.3 用例分析2.4 实体类设计2.4.1 菜品分类模块2.4.2 菜品档案模块2.4.3…...
html--心花怒放
代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Canvas 绘制一个❤</title><link rel"shortcut icon" href"../../assets/images/icon/favicon.ico" type"ima…...
FPGA的配置状态字寄存器Status Register
目录 简介 状态字定义 Unknown Device/Many Unknow Devices 解决办法 一般原因 简介 Xilinx的FPGA有多种配置接口,如SPI,BPI,SeletMAP,Serial,JTAG等;如果从时钟发送者的角度分,还可以…...
【HarmonyOS Arkts笔记】http网络请求封装
common.ts export default class CommonConstant {/*** The host address of the server.*/static readonly SERVER: string 请求接口地址;/*** The request success code.*/static readonly SUCCESS_CODE: number 200;/*** Read timeout.*/static readonly READ_TIMEOUT: n…...
html前端的几种加密/解密方式
HTML前端的加密解密方式有以下几种: 一、base64加密 Base64编码:Base64是一种将二进制数据转换为可打印字符的编码方式。在前端,可以使用JavaScript的btoa()函数进行Base64编码,使用atob()函数进行解码。 var str "hello…...
算法学习01:排序二分
算法学习01:排序&&二分 文章目录 算法学习01:排序&&二分前言需要记忆的模版:快速排序归并排序:整数二分:浮点数二分 一、排序1.快速排序2.归并排序: 二、二分1.整数2.浮点数 总结 前言 需要…...
OpenAI (ChatGPT)中国免费试用地址
GitHub - click33/chatgpt---mirror-station-summary: 汇总所有 chatgpt 镜像站,免费、付费、多模态、国内外大模型汇总等等 持续更新中…… 个人能力有限,搜集到的不多,求大家多多贡献啊!众人拾柴火焰高!汇总所有 cha…...
IOS面试题object-c 11-20
11、解释self [super init]方法? 容错处理, 当父类初始化失败,会返回一个nil, 表示初始化失败。 由于继承的关系, 子类是需要拥有父类的实例和行为, 因此, 我们必须先初始化父类,然后再初始化子类 12、简述使用block有什么优点?代码紧凑,传值…...
北斗导航 | 十四种抗差稳健估计(抗差M估计)方法(算法公式)
===================================================== github:https://github.com/MichaelBeechan CSDN:https://blog.csdn.net/u011344545 ===================================================== 稳健估计(M估计) 1、Huber法2、残差绝对和最小法3、L1-L2法...
【JavaEE】_Spring MVC项目使用数组与集合传参
目录 1. 使用数组传参 1.2 传递单个参数 1.3 传递多个名称相同的参数 1.3.1 关于urlencode 2. 使用集合传参 1. 使用数组传参 创建一个Spring MVC项目,其中 .java文件内容如下: package com.example.demo.controller;import com.example.demo.Per…...
Centos 9 安装 k8s
为了尽可能契合生产环境的部署情况,这里用kubeadm安装集群,同时方便跟随笔记一步步实践的过程,也更加了解k8s的一些特性和基础知识。 先决条件 这里将通过虚拟机安装3台centos stream 9服务器,并组成kubeneters集群(…...
WiFi模块助力少儿编程:创新学习与实践体验
随着科技的飞速发展,少儿编程已经成为培养孩子们创造力和问题解决能力的重要途径之一。在这个过程中,WiFi模块的应用为少儿编程领域注入了新的活力,使得学习编程不再是单一的代码教学,而是一个充满创新与实践的综合性体验。 物联网…...
最新:Selenium操作已经打开的Chrome(免登录)
最近重新尝试了一下,之前写的博客内容。重新捋了一下思路。 目的就是,selenium在需要登录的网站面前,可能就显得有些乏力,因此是不是有一种东西,可以操作它打开我们之前打开过的网站,这样就不用登录了。 …...
三色标记过程
可达性分析 GC过程中需要对对象图遍历做可达性分析。使用了三色标记法进行分析。 什么三色? 白色:尚未访问过。 黑色:本对象已访问过,而且本对象 引用到 的其他对象 也全部访问过了。 灰色:本对象已访问过࿰…...
Kazumi番剧采集应用完全指南:如何免费观看高清动漫与实时弹幕
Kazumi番剧采集应用完全指南:如何免费观看高清动漫与实时弹幕 【免费下载链接】Kazumi 基于自定义规则的番剧采集APP,支持流媒体在线观看,支持弹幕,支持实时超分辨率。 项目地址: https://gitcode.com/gh_mirrors/ka/Kazumi …...
Genshin Impact API 深度解析与实战指南
Genshin Impact API 深度解析与实战指南 【免费下载链接】api A fan-made Genshin Impact API for easy access to game data. 项目地址: https://gitcode.com/gh_mirrors/api13/api GenshinDev API 是一个专门为《原神》游戏数据提供结构化访问接口的开源项目。通过提供…...
Spring Boot WebFlux 响应式性能测试
Spring Boot WebFlux响应式性能测试:解锁高并发潜力 在当今高并发、低延迟的应用场景中,传统的同步阻塞式架构逐渐暴露出性能瓶颈。Spring Boot WebFlux作为响应式编程的典范,通过非阻塞I/O和事件驱动模型,为开发者提供了更高效的…...
PIE Engine数据管理避坑指南:从Shapefile上传到哨兵2号影像导出的完整流程
PIE Engine数据管理避坑指南:从Shapefile上传到哨兵2号影像导出的完整流程 第一次接触PIE Engine时,我花了整整三天时间才成功导出一张完整的哨兵2号影像。期间经历了Shapefile压缩包反复上传失败、云盘导出后找不到文件、波段组合显示异常等各种问题。如…...
StructBERT文本相似度模型C语言调用指南:轻量级嵌入式集成方案
StructBERT文本相似度模型C语言调用指南:轻量级嵌入式集成方案 如果你正在为嵌入式设备或资源受限的边缘计算场景寻找一个简单可靠的文本相似度解决方案,那么你来对地方了。今天,我们不聊复杂的Python环境部署,也不讲沉重的模型加…...
终极指南:如何用Fiji科学图像分析工具快速完成科研图像处理
终极指南:如何用Fiji科学图像分析工具快速完成科研图像处理 【免费下载链接】fiji A "batteries-included" distribution of ImageJ :battery: 项目地址: https://gitcode.com/gh_mirrors/fi/fiji Fiji科学图像分析工具是科研人员的瑞士军刀&#…...
深度解析ncmdump:高效破解网易云音乐NCM加密格式实战指南
深度解析ncmdump:高效破解网易云音乐NCM加密格式实战指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在第三方播放器播放而烦恼吗?ncmdump作为一款专业的NCM格式解…...
AI写代码真的比人类快3.7倍?2026奇点大会闭门测试数据首次公开:12类真实业务场景下代码正确率、可维护性、安全漏洞率三维对比
第一章:2026奇点智能技术大会:AI代码对比 2026奇点智能技术大会(https://ml-summit.org) 本届大会首次设立“AI原生编码”专项评测赛道,聚焦大模型在真实工程场景中生成、理解与优化代码的能力。评测覆盖Python、Go、Rust三类主流语言&…...
开源项目突然崩溃?SITS2026紧急预警:这6类“幽灵依赖”正在 silently hijack 你的构建流程!
第一章:SITS2026演讲:AI代码依赖分析 2026奇点智能技术大会(https://ml-summit.org) 在SITS2026主会场,来自CodeGraph Labs的研究团队首次公开演示了基于大语言模型增强的静态代码依赖图谱构建系统——DepenDAG。该系统突破传统AST解析边界…...
《SAP FICO系统配置从入门到精通共40篇》025、新总账(New GL)配置:平行会计与扩展分类账
025、新总账(New GL)配置:平行会计与扩展分类账 上周帮客户排查一个怪问题:利润表科目余额突然对不上了。业务部门反馈说,按成本中心维度查的数据和按利润中心维度查的数据差了二十几万。查了一下午,最后发…...
