无感升级时,接收蓝牙数据,只能接收到后半部分

背景:
ota升级过程中不上报脉冲类、模拟量类数据时,升级过程没问题;(接收到升级数据包,发送应答)
ota升级过程中上报脉冲类、模拟量数据时,偶尔会接收数据包不完整;

现象:
ota升级过程中,接收到的蓝牙数据,只能接收到后半部分;

解决思路:
要确定是发送方发送数据是否完整或接收方接收数据是否完整;
发送方程序是新开发的,无法自证发送数据是否完整,需要找一个可靠的软件代替发送方程序;
在手机上装了ble蓝牙 app(e调试、feasyBlue、ble调试助手、ble蓝牙助手);
用的是feasyBlue app,按照协议发送数据,重现了接收蓝牙数据不完整现象,这说明是单片机接收代码问题;

一点点排除,不是接收缓冲器小的问题;最后发现是如下问题:
image
这里用了临界区了,临界区会关闭中断,影响了串口接收中断!!!

posted @   我爱茜茜公主  阅读(50)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2022-11-01 数组理解
2021-11-01 按键事件检测与事件处理
点击右上角即可分享
微信分享提示