DA14580Firmware:.. \ da14580_581_583_sdk_3.0.10.1 \ dk_apps \ keil_projects \ proximity \ prox_monitor_ext_usb \ keil_5
PCTOOL:.. \ da14580_581_583_sdk_3.0.10.1 \ host_apps \ windows \ proximity \ monitor \ host_proxm_sdk
在PC项目中,有一个功能:
void app_inq(void)//它发送命令:gapm_start_scan_cmd
{....}
但大约7秒或8秒后,收到一条消息:
msgid,lapm_cmp_evt_handler(ke_msg_id_t msgid,
struct gapm_cmp_evt * param,
ke_task_id_t dest_id,
ke_task_id_t src_id)
param->操作= gapm_scan_active
param-> status = 0x45(69),
为什么参数 - >状态不等于co_error_no_error ??
0x45意味着什么?
设备:
嗨石头,
扫描过程在自动10秒后完成后完成并触发操作的完成。操作状态代码(0x45 GAP_ERR_TIMEOUT)声明由于超时而结束扫描操作(因为操作持续10秒)。您可以在RW-BLE-GAP-IS.PDF中找到间隙错误代码。
谢谢mt_dialog.
嗨,mt_dialog
是的,扫描过程在100秒自动约10秒后完成并触发操作的完成。但为什么我发送Gapm_start_scan_cmd命令,它总是持续7-8秒?
当我使用SDK 5.0.4时,它是相同的错误,我不知道为什么。谢谢。
嗨石头,
这不是一个错误,这是通过堆栈的设计(实际上10秒不完全10秒,但是7-8秒),如果你有一个中心,你在GAP_GEN_DISCOVERY中开始扫描这是设备将与之连体的金额扫描,然后操作将完成,并将发生回调“超时”状态。从回调中,您可以重新启动扫描过程。为了扫描缺乏扫描,您可以使用不会超时的GAP_OBSERVER_MODE,并且只能使用GAPM_CANCEL_CMD停止它(稍后的选项将扫描任何广告报告数据)。
谢谢mt_dialog.
好的,我理解,谢谢很多。