设为首页收藏本站

Discuz! Board

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 644|回复: 3

[求助]NRF52832正常工作中切换广播模式(串口透传与Beacon切换)

[复制链接]

1

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
超级网吧 发表于 2020-8-21 15:36:01 | 显示全部楼层 |阅读模式
本帖最后由 超级网吧 于 2020-8-21 15:44 编辑

        大家好,问题如题,使用NRF52832芯片,已跑通教程里的串口透传和Beacon功能的例程。以串口透传例程为基础,将beacon例程的配置以及一些所需函数,通过手工修改可以实现同一个工程可以有这两种功能(不是运行时同时有这两个功能,而是使用一个工程手动开启不同的注释代码段开始不同的功能),如下图的方式。此种方式,这两种模式都可以正常运行。


现在我想在程序运行时,nrf52832通过串口(硬件串口不是BLE串口)接受其他单片机传过来的指令,根据指令变化功能,比如收到mode_1    nrf52832变为串口透传模式,收到mode_2    nrf52832变为beacon模式。
我尝试如下方式进行模式切换(重新走一遍初始化流程),但是无法到达所需效果,要么模式没变化,要么直接死机。

上图中,mode_flag是个全局变量,串口收到指定指令会改变此变量,串口部分如下。

实测串口这部分没有问题,可以收到正确指令,也可以运行到具体的切换部分。

当前问题:
无法正确切换这两种模式
求助:
希望大家可以帮忙给个思路,或可以指出问题所在,或者如果已有类似教程也可帮忙告知,或者其他的任何帮助

我之前一直是搞stm32单片机的,也玩了有几年了,因为需要,暂时转战nrf52832,已经跟着教程学了半个多月了,基本的开发流程和不带协议栈的外设已经熟悉,但是对于带有蓝牙协议栈的蓝牙这么庞大的体系还是有些许陌生。
在此感谢大家了!感谢 感谢 感谢。


下面是主要的三个文件,mian.c  myApp_uart.h myApp_beacon.h 。myApp_uart.h内是串口透传用到的配置和函数,myApp_beacon.h 内是beacon用到的配置和函数,然后mian.c直接调用这两个头文件。













本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

247

主题

1629

帖子

5787

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5787
admin 发表于 2020-8-23 15:16:35 | 显示全部楼层
第一:你加了2个服务UUID改了没有,ROM内存够不够,需要仿真跟踪。
第二:官方有个ibeacon套件提供的例子就是有两个服务切换,一个是远程配置服务,一个ibeacon服务,你可以去参考一下。
回复 支持 1 反对 0

使用道具 举报

1

主题

3

帖子

29

积分

新手上路

Rank: 1

积分
29
 楼主| 超级网吧 发表于 2020-8-25 11:24:47 | 显示全部楼层
admin 发表于 2020-8-23 15:16
第一:你加了2个服务UUID改了没有,ROM内存够不够,需要仿真跟踪。
第二:官方有个ibeacon套件提供的例子 ...

好的好的,感谢
回复 支持 反对

使用道具 举报

1

主题

2

帖子

27

积分

新手上路

Rank: 1

积分
27
lee.cn 发表于 2020-11-12 18:30:24 | 显示全部楼层
admin 发表于 2020-8-23 15:16
第一:你加了2个服务UUID改了没有,ROM内存够不够,需要仿真跟踪。
第二:官方有个ibeacon套件提供的例子 ...

"官方有个ibeacon套件"---能具体说明下是那个套件吗
回复 支持 反对

使用道具 举报

Archiver|手机版|小黑屋|Comsenz Inc.   

GMT+8, 2020-12-1 15:53 , Processed in 0.224782 second(s), 28 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表