Discuz! Board

标题: [求助]NRF52832正常工作中切换广播模式(串口透传与Beacon切换) [打印本页]

作者: 超级网吧    时间: 2020-8-21 15:36
标题: [求助]NRF52832正常工作中切换广播模式(串口透传与Beacon切换)
本帖最后由 超级网吧 于 2020-8-21 15:44 编辑

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

[attach]2601[/attach]
现在我想在程序运行时,nrf52832通过串口(硬件串口不是BLE串口)接受其他单片机传过来的指令,根据指令变化功能,比如收到mode_1    nrf52832变为串口透传模式,收到mode_2    nrf52832变为beacon模式。
我尝试如下方式进行模式切换(重新走一遍初始化流程),但是无法到达所需效果,要么模式没变化,要么直接死机。
[attach]2603[/attach]
上图中,mode_flag是个全局变量,串口收到指定指令会改变此变量,串口部分如下。
[attach]2604[/attach]
实测串口这部分没有问题,可以收到正确指令,也可以运行到具体的切换部分。

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

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


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

[attach]2600[/attach]












作者: admin    时间: 2020-8-23 15:16
第一:你加了2个服务UUID改了没有,ROM内存够不够,需要仿真跟踪。
第二:官方有个ibeacon套件提供的例子就是有两个服务切换,一个是远程配置服务,一个ibeacon服务,你可以去参考一下。
作者: 超级网吧    时间: 2020-8-25 11:24
admin 发表于 2020-8-23 15:16
第一:你加了2个服务UUID改了没有,ROM内存够不够,需要仿真跟踪。
第二:官方有个ibeacon套件提供的例子 ...

好的好的,感谢
作者: lee.cn    时间: 2020-11-12 18:30
admin 发表于 2020-8-23 15:16
第一:你加了2个服务UUID改了没有,ROM内存够不够,需要仿真跟踪。
第二:官方有个ibeacon套件提供的例子 ...

"官方有个ibeacon套件"---能具体说明下是那个套件吗




欢迎光临 Discuz! Board (http://www.qfv8.com/) Powered by Discuz! X3