嗨,对话框中,
我的自定义应用程序应该同时进行广告和启动连接,但只有广告有效。代码片段:ble_gap_role_set (GAP_PERIPHERAL_ROLE | GAP_CENTRAL_ROLE);...ble_gap_adv_start (GAP_CONN_MODE_UNDIRECTED);ble_gap_connect (&bd_addr, cp);
有什么问题吗?
谢谢阿明
嗨ArminL,
我担心像这样的事情是不可能的,并发中央/外设只在连接时有效(检查多链接演示),你不能同时做广告和扫描/连接。
由于MT_dialog
嗨MT_dialog,
这是一个问题,因为应用程序应该总是能够连接到中心或外围设备。所以我必须交替调用广告和扫描程序,可能需要一个定时器。你能给我一点提示吗,这个问题该怎么解决?
是的,你应该能够做到这一点,你可以改变扫描和广告稳定间隔通过一个自由的RTOS定时器,只是设置你的定时器和在回调或定时器停止广告。在广告完成后(获得广告完成回调,您可以开始扫描或发起连接)。记住,扫描是自动终止的程序,所以你没有计时器测量扫描程序,如果你喜欢,扫描将自动超时8秒。
整个过程是这样的:
我已经实现了与您的解释类似的这个过程。
在这种情况下,应用程序连接到一个中心(连接间隔30毫秒)和连接过程仍然是活动的(扫描窗口30毫秒),应用程序有时似乎崩溃。与中心的连接中断,连接过程停止。有什么问题吗?在扫描窗口期间发生连接事件是否有问题?
所以,你有双模式的设备GAP_PERIPHERAL_ROLE | GAP_CENTRAL_ROLE和扫描和广告之间切换,当你开始从你的手机连接,例如,你看到有时设备崩溃?
设备为了连接它需要两个广告信息,所以如果你的手机在68x开始扫描之前收到最后一个广告信息,它不会崩溃,手机将收到广告信息并启动连接程序。连接将继续,直到68x切换回广告模式,然后连接将完成。然后,如果您继续扫描或广告,而您仍然连接68x设备将尝试安排所有的活动。为了调试你所看到的,你必须附加调试器并检查设备在哪里停止。至少在我身边,复制您的设置(如果我错了,请纠正我的设置)我没有看到任何问题与android手机的默认连接在48女士(中央定义连接的连接时间间隔,除非连接参数更新发出,中央决定是否将再次接受参数)。
这是一款iOS手机。当我的应用程序连接到一个电话(连接事件每30毫秒),我的应用程序继续扫描过程连接到外设(扫描窗口30毫秒)。在这种情况下,我的应用程序有时会崩溃。我将用调试器检查我的应用程序停滞的地方。
嗨ArminL,
我担心像这样的事情是不可能的,并发中央/外设只在连接时有效(检查多链接演示),你不能同时做广告和扫描/连接。
由于MT_dialog
嗨MT_dialog,
这是一个问题,因为应用程序应该总是能够连接到中心或外围设备。
所以我必须交替调用广告和扫描程序,可能需要一个定时器。
你能给我一点提示吗,这个问题该怎么解决?
谢谢
阿明
嗨ArminL,
是的,你应该能够做到这一点,你可以改变扫描和广告稳定间隔通过一个自由的RTOS定时器,只是设置你的定时器和在回调或定时器停止广告。在广告完成后(获得广告完成回调,您可以开始扫描或发起连接)。记住,扫描是自动终止的程序,所以你没有计时器测量扫描程序,如果你喜欢,扫描将自动超时8秒。
整个过程是这样的:
由于MT_dialog
嗨MT_dialog,
我已经实现了与您的解释类似的这个过程。
在这种情况下,应用程序连接到一个中心(连接间隔30毫秒)和连接过程仍然是活动的(扫描窗口30毫秒),应用程序有时似乎崩溃。与中心的连接中断,连接过程停止。
有什么问题吗?
在扫描窗口期间发生连接事件是否有问题?
谢谢
阿明
嗨ArminL,
所以,你有双模式的设备GAP_PERIPHERAL_ROLE | GAP_CENTRAL_ROLE和扫描和广告之间切换,当你开始从你的手机连接,例如,你看到有时设备崩溃?
设备为了连接它需要两个广告信息,所以如果你的手机在68x开始扫描之前收到最后一个广告信息,它不会崩溃,手机将收到广告信息并启动连接程序。连接将继续,直到68x切换回广告模式,然后连接将完成。然后,如果您继续扫描或广告,而您仍然连接68x设备将尝试安排所有的活动。为了调试你所看到的,你必须附加调试器并检查设备在哪里停止。至少在我身边,复制您的设置(如果我错了,请纠正我的设置)我没有看到任何问题与android手机的默认连接在48女士(中央定义连接的连接时间间隔,除非连接参数更新发出,中央决定是否将再次接受参数)。
由于MT_dialog
嗨MT_dialog,
这是一款iOS手机。当我的应用程序连接到一个电话(连接事件每30毫秒),我的应用程序继续扫描过程连接到外设(扫描窗口30毫秒)。在这种情况下,我的应用程序有时会崩溃。
我将用调试器检查我的应用程序停滞的地方。
谢谢
阿明