Part Number:LAUNCHXL-CC26X2R1Other Parts Discussed in Thread:SYSCONFIG, ENERGYTRACE
在DEBUG这个工程的时候遇到一些问题:
1、当APP task任务执行到设置GapAdv_create #2时,会跳转执行SimplePeripheral_advCallback(此函数是向BLE stack传入的回调)将APP_ADV_EVT入队。
关于这一步我的理解是:BLE stack的优先级高于APP task,所以当GapAdv_enable之后,BLE stack可以打断APP task的运行,从而可以先执行SimplePeripheral_advCallback。随后enable了两次,所以APP_ADV_EVT被执行两次。
请问我这样理解是不是正确的,或者APP task和BLE stack各自是怎样运行的?
2、ble_log显示初始化完成之后会执行APP_PERIODIC_EVT,但是在代码里没有发现在初始化过程中开始周期时钟的动作。请问这个APP_PERIODIC_EVT事件是在哪里开启的?
tsru rgeherhh:
补充:
关于APP_PERIODIC_EVT事件入队函数,是不是没有任务执行的意思?
,
Yolande Wang:
您好,正在跟进您的问题。
,
Yolande Wang:
您好,
非常抱歉,久等了,
1.请问您使用的SDK版本是什么?
2.SimplePeripheral 项目包含两组广告,因此两个 GAP 事件在启用后启动。我不确定这是否是您所指的,希望告您提供一下详细信息。
2.要启用定期广告,请使用 RF 堆栈 – BLE 功能 – 定期广告下的 SysConfig 文件来执行此操作。您可以通过启用或禁用此选项来查看修改的文件。
期待您的回复!
,
tsru rgeherhh:
您好:
1、SDK版本:simplelink_cc13xx_cc26xx_sdk_7_10_00_98。
2、指的是这两个广播。第一个广播设置完参数并使能启动之后,在设置第二个广播参数时(未使能启动),stack会执行第一个广播调用的ADVcallback函数,随后第二个广播设置完并启动之后,第二个广播启动后stack又会执行一次ADVcallback函数。这是我观察到的现象,所以请问是这是怎样的逻辑?
3、启用定期广播不是经过APP tsak通过开启定时时钟,然后入队APP 事件执行的吗?
,
tsru rgeherhh:
补充:
project里没有开启周期广播,但是有周期广播功能。
,
Yolande Wang:
正在跟进您的问题,请等候一下。
,
Yolande Wang:
您好,
以下是来自E2E英文论坛的回复:
对于造成的混乱,我深表歉意,我对定期广告的回答是错误的,你的问题与此无关。但是,您能够对此进行检查吗?
关于 PERIODIC_EVT 问题,我建议查看用户指南中给出的时钟部分,尤其是功能示例图。
,
Yolande Wang:
您好,
1. 对于第一个问题,SimplePeripheral_advCallback 在软件中断上下文中执行,因此比其他任务具有更高的优先级。
2. APP_PERIODIC_EVT 是在 SimplePeripheral_init() 中使用 Util_constructClock() 创建的,但不会立即启动,而是等待调用来启动,在本例中为 Util_startClock()。例如,您可以看到该函数在 GAP_LINK_ESTABLISHED_EVENT 中被调用,也在 SimplePeripheral_clockHandler() 函数中被调用以启动下一个事件周期。
您查看上个回答的链接了吗,问题的疑惑点是否解决了?
如果没有这边会为您继续跟进,因为时差的关系,收到E2E论坛的回复会需要一些时间。
期待您的回复。
,
tsru rgeherhh:
非常抱歉!前段时间忙有其他的事情,以至于没有及时回复。
1、用户指南的时钟部分给出的正常情况start 时钟到执行post 事件的过程。在SDK simple_peripheral project中并没有执行 GAP_LINK_ESTABLISHED_EVENT事件和SimplePeripheral_clockHandler() 函数中的Util_startClock(),同样会执行APP_PERIODIC_EVT;
2、该现象是板子上电之后,没有执行任何操作。发现一直会有APP_PERIODIC_EVT执行。附件是BLE_LOG,请查收分析!
ble_log_peripheral_event.txt
,
Yolande Wang:
我正在研究这一点。
请问您是否对原始工程进行了修改?
simple_peripheral_CC26X2R1_LAUNCHXL_tirtos7_ticlang
,
tsru rgeherhh:
没有哦!谢谢。
,
Yolande Wang:
收到您的跟进信息,我会反馈给E2E,希望您等候一下。
,
Yolande Wang:
您好,
以下是来自E2E的回复,请参考:
我已经这边已经复现了此现象,观察了项目、日志和结果。
该行为是预期的,调用 SP_PERIODIC_EVT 的任务每 5000 毫秒运行一次,同时设备也在不断进行广告。您可以使用蓝牙嗅探器、EnergyTrace 或 SimpleLink Connect 移动应用程序仔细检查情况。例如,如果您启动连接,您将看到新的事件状态。此定期任务可以配置为执行示例中当前执行的操作之外的其他操作。您的设备在广告吗?
,
Yolande Wang:
您好,
您问题的疑惑解决了吗?