大家好,请教一个问题,我的需求是用NXP的一个开发板(linux系统),通过标准的HCI Command接口去控制外接的cc2640r2f模块(烧的是hosttestapp例程),但是会报错:
root@:~# hcitool -i hci0 lescan
Bluetooth: hci0 command 0x200b tx timeout
Set scan parameters failed: Connection timed out
查看TI BLE HCI Vendor Specific HCI Guide 有如下描述:
The following table, Table 2, lists all specification LE HCI commands and their opcodes. Note
that while all commands can be sent by the application processor to the Network Processor
using HCI, not all events will be returned as they will be trapped and possibly discarded by the
Host layer of the BLE Stack. Therefore, it is not possible to support an external BLE Host in the
Network Processor configuration. Network Processor based designs should use the respective
Vendor Extension commands detailed in the following sections to implement an off-chip
application.对这段话不是很明白,意思是有些LE HCI command cc2640不会回复event?控制cc2640只能用TI 自定义的那些Vendor Extension commands 是吗?
另外,如果我想用标准的LE HCI command去控制2640,2640该使用什么例程呢?SNP例程支持标准的LE HCI Command吗?满足我的需求吗?
先谢谢了
http://processors.wiki.ti.com/index.php/CC2640_BLE_Network_Processor
Viki Shi:
hostTest 例程支持标准的LE HCI command
dong a:
回复 Viki Shi:
谢谢,也就是说, hcitool -i hci0 lescan是执行了的,只是没有返回event,所以超时了?
root@:~# hcitool -i hci0 lescan
Bluetooth: hci0 command 0x200b tx timeout
Set scan parameters failed: Connection timed out我的需求很简单,就是控制cc2640去扫描周围的蓝牙设备,使其能接收到周边设备的广播包,并交给上层应用处理。
这样的应用场景,只用LE HCI command能满足需求吗?因为我们的代码都是基于标准的HCI Command开发的,如果用vendor-specific HCI commands去写,代码改动量比较大
Viki Shi:
回复 dong a:
也就是你不用external MCU【即host_test】方案是吧?
dong a:
回复 Viki Shi:
hosttest只能用vendor-specific HCI commands去控制对吧?如果这样的话我们主核心板的控制代码就要重写了,改动比较大,来不及 不知道还有没有其他的例程或者方案能满足我们的需求?即可以用标准的HCI Command去控制蓝牙模块完成扫描,接收数据包等操作的 谢谢
Alvin Chen:
回复 dong a:
你好,
很抱歉我回复晚了。
首先需要说明的问题有两点如下:
1.硬件流控的问题值得注意
2.就是开始使用的步骤应该如下面这样:
首先你要进行设备的初始化设置。
Alvin Chen:
回复 Alvin Chen:
我用串口助手试了一下,给你做个例子,你用你的linux-arm 试一下。
dong a:
回复 Alvin Chen:
老哥,你是不是回错帖子了。。。。
Alvin Chen:
回复 dong a:
你不是做HCI?可能我回错了,对不起。