MCU通过KT6368A用SPP透传发送1K左右的数据,手机APP显示是3个包或者4个包,但是我看手册说最大一个包是512,理论应该是两个包吧,请问这正常吗?

news2024/11/18 21:44:11

一、问题简介

MCU通过KT6368A用SPP透传发送1K左右的数据,手机APP显示是3个包或者4个包,但是我看手册说最大一个包是512,理论应该是两个包吧,请问这正常吗?

  • 详细说明

实际测试的截图如下:使用的是安卓app测试软件测试的结果

原因分析如下:


1、当您发1K的数据给KT6368A,芯片内部串口是dma的接收,收满256个字节,就中断
然后转发spp到手机
2、但是此时串口还在不停的接收,下一个256满了之后,继续转发给spp
逻辑就是这样子,这就是解释了你为什么1K发上去,分了3包或者4包的原因

3、这里还有一个细节,蓝牙不是实时发送的,而是等待心跳包确认之后才发送,大概是10ms左右交互一次,如果当前收满256之后,还没到发送的时间,此时还会继续串口接收存到缓存,等时间到了,在一起发送到spp,所以长度是不确定的


扩展说明:
蓝牙spp,理论上最大一包的数据长度,可以达到600个字节左右,不同的手机可能略有差异
基本一包数据大于512是肯定可以的。这里分包,是我们芯片内部串口机制去分包,和spp无关

三、最后的总结

当然需要最大的数据包,我们这边修改蓝牙程序--串口部分,也是可以做到的,加大蓝牙芯片的dma接收长度限制就可以了,很简单

但是尽量您那边能自己处理最好,app那边处理数据也很简单,这样会比较通用一点

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

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

相关文章

【设计原则篇】聊聊开闭原则

开闭原则 其实就是对修改关闭,对拓展开放。 是什么 OCP(Open/Closed Principle)- 开闭原则。关于开发封闭原则,其核心的思想是:模块是可扩展的,而不可修改的。也就是说,对扩展是开放的&#xf…

《哈佛商业评论》:CRM实施为什么成功率低?

《哈佛商业评论》研究表明,三分之一的CRM客户管理系统实施以失败告终。CRM实施为什么成功率较低?研究发现,CRM实施失败的主要原因在于:CRM系统目标不清晰,重点不明确,操作过于复杂,给一线用户带…

NIO的浅了解

一、五种IO类型 1、阻塞IO 用户进程一直等待数据准备好,在复制完成之前都是阻塞的 2、非阻塞IO 用户进程需要不断轮询查看是否数据准备好 优化了提升并发连接数量,但是每一个请求都需要创建一个socket建立连接,每个线程都需要去遍历轮询&am…

ZooKeeper+Kafka+ELK+Filebeat集群搭建实现大批量日志收集和展示

大致流程:将nginx 服务器(web-filebeat)的日志通过filebeat收集之后,存储到缓存服务器kafka,之后logstash到kafka服务器上取出相应日志,经过处理后写入到elasticsearch服务器并在kibana上展示。 一、集群环…

4、创建第一个鸿蒙应用

一、创建项目 此处以空模板为例来创建一个鸿蒙应用。在创建项目前请保持网页的畅通。 1、在欢迎页面点击“Create Project”。 2、左侧默认为“Application”,在“Template Market”中选择空模板(Empty Ability),点击“Next” 3…

Redhat Linux v8.2 实时内核环境配置及参数调优

BC-Linux V8.2 实时内核环境配置及参数调优 -------物理机 & 虚拟机 一、前言 本文档包含有关Redhat Linux for Real Time的基本安装和调试信息。许多行业和组织需要极高性能的计算,并且可能需要低且可预测的延迟,尤其是在金融和电信行业中。延迟&…

FAB天车系统OHT 介绍

1.技术背景: “OHT”是Overhead Hoist Transport的简称,是指能够在空中轨道上行驶,并能够通过皮带传动起重机构“直接”进入保管设备或工艺设备的装卸口,应用于工序区内部运输,也应用于工序区间或工厂间运输。 “OHT…

VMware ubuntu 新虚拟机的创建

根据自己指定的路径安装好vm后。 创建新的虚拟机。 记录一下,下次用到别再忘记了。 如需转载,注明出处! 点赞收藏关注我 以资鼓励 打开vm 软件,点击创建新的虚拟机 选择典型,点击下一步 选择你的ubuntu镜像iso文件 …

2023测试职业生涯必看系列:手写web自动化测试框架教程 涵盖框架源码+视频教程以及搭建流程

前言 ​ 测试行业现在70%是以手工测试为主,那么只有20%是自动化测试,剩下的10%是性能测试。 有人可能会说,我现在做手工,我为什么要学自动化呢?我去学性能更好性能的人更少? 其实,性能的要求比…

如何利用 cpolar 内网穿透技术实现 U8 用友 ERP 异地访问

文章目录 前言1. 服务器本机安装U8并调试设置2. 用友U8借助cpolar实现企业远程办公2.1 在被控端电脑上,点击开始菜单栏,打开设置——系统2.2 找到远程桌面2.3 启用远程桌面 3. 安装cpolar内网穿透3.1 注册cpolar账号3.2 下载cpolar客户端 4. 获取远程桌面…

Leetcode_203.移除链表元素—C语言

目录 ❣️1.题目❣️ ❣️2.解答❣️ 💞方法一:暴力法 💞方法二: 尾插法 💞方法三:哨兵位法 ❣️1.题目❣️ 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.va…

高可用架构设计

1. 引言 软件系统有三个追求:高性能、高并发、高可用,俗称三高。三者既有区别也有联系,门门道道很多,本篇讨论高可用 高可用技术的重要性在于保证系统的连续可用性,提高系统的稳定性和可靠性。它可以应对高并发和大规…

2783爱心公益网站的设计与实现JSP【程序源码+文档+调试运行】

一、摘要 本文将详细介绍一个基于Web的爱心公益网站的设计和实现。该网站包括前台用户模块和后台管理员模块,能够满足用户和管理员的不同需求。通过对用户和管理员的功能需求分析,本文将重点阐述数据库设计和界面设计的关键环节,同时介绍如何…

区块链链游合约系统开发项目模式技术方案

​随着区块链技术的发展,链游合约系统开发逐渐成为了一个备受关注的项目。本文将探讨区块链链游合约系统开发项目的技术方案,包括项目背景、开发目标、技术架构、系统流程、安全措施等方面的内容。 一、项目背景 链游是一种基于区块链技术的游戏&#xf…

初识MySQL(一)(创建数据库,查看删除数据库,备份和恢复,创建表,数据类型)

目录 客户端 ------> MySQL服务(3306) 数据库三层结构-破除MySQL神秘 创建数据库 查看删除数据库 备份恢复数据库 创建表 MySQL常用的数据类型(列类型) ​编辑 ​编辑整型 bit类型 小数类型 字符串类型 日期类型的使用 客户端 ------> MySQL服务(3306) 连接…

nmap原理与使用

kali的命令行中可以直接使用 nmap 命令,打开一个「终端」,输入 nmap 后回车,可以看到 nmap 的版本,证明 nmap 可用。 一、端口扫描 扫描主机的「开放端口」,在nmap后面直接跟主机IP(默认扫描1000个端口&am…

Java基础-基础语法

1、概述 一个 Java 程序可以认为是一系列对象的集合,而这些对象通过调用彼此的方法来协同工作。 对象:对象是类的一个实例,有状态和行为。例如,一条狗是一个对象,它的状态有:颜色、名字、品种;…

酉矩阵(Unitary Matrix)

对于n阶复数矩阵A,如果,其中表示矩阵A的共轭转置,为单位矩阵,那么就称A为酉矩阵。 对于酉矩阵, 如果酉矩阵的元素都是实数,那么该矩阵就是正交矩阵。

Redis应用之二分布式锁2

一、前言 前一篇 Redis应用之二分布式锁 我们介绍了使用SETNX来实现分布式锁,并且还遗留了一个Bug,今天我们对代码进行优化,然后介绍一下Redisson以及数据库的乐观锁悲观锁怎么用。 二、SetNX分布式锁优化后代码 RedisService.java Inven…

计算机中msvcp140.dll丢失的解决方法,修复msvcp140.dll报错问题

使用电脑的过程中,我们常常会遇到一些错误提示,其中之一就是“msvcp140.dll丢失”。msvcp140.dll是Microsoft Visual C运行时库的重要组成部分,丢失该文件可能导致程序无法正常运行、系统崩溃等问题。本文将详细介绍msvcp140.dll丢失的原因及…