当前位置: 首页 > news >正文

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

一、问题简介

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.lryc.cn/news/230953.html

相关文章:

  • 童装CPC认证检测哪些内容?童装上架亚马逊美国站CPC认证办理
  • 2023鸿蒙预定未来,环境搭建学习
  • 技术架构 - 应用数据分离,应用服务集群架构
  • YOLO目标检测——树叶检测数据集下载分享【含对应voc、coco和yolo三种格式标签】
  • ubuntu 20通过docker安装onlyoffice,并配置https访问
  • Vue 模板语法 v-bind
  • 定义宏,字符串、枚举、接口类绑定
  • 盘点30个Python树莓派源码Python爱好者不容错过
  • 「Verilog学习笔记」用优先编码器①实现键盘编码电路
  • APT攻击的特点及含义
  • 使用html2canvas插件进行页面截屏
  • Java --- JVM的执行引擎
  • 前端学习笔记--node.js
  • DB2 常用命令及SQL语句
  • spring-boot-starter-data-redis2.X连接redis7
  • PHP中$_SERVER全局变量
  • 【ML】欠拟合和过拟合的一些判别和优化方法(吴恩达机器学习笔记)
  • 服务器数据恢复—服务器发生故障导致数据丢失如何恢复服务器数据?
  • SLAM中提到的相机位姿到底指什么?
  • 《视觉SLAM十四讲》-- 后端 1(上)
  • 南昌市西湖区棒球特色规划
  • nginx启动命令
  • 防爆五参数气象仪的科技力量
  • J. Chem. Theory Comput. | AI驱动的柔性蛋白-小分子复合物建模
  • 数据库sql语句设置外键
  • excel在函数中插入函数
  • 保姆级前端翻牌效果(CSS)
  • Mac环境配置的相关知识
  • 业务连续性:确保稳健运营的关键战略
  • 【Pytorch和深度学习】栏目导读