场景及需求:我的cc2541(主机模式)是嵌入在板子上的,可以通过i2c和外部系统通信,想要通过i2c把cc2541扫描到的结果(主要是mac地址)传给系统。
现在代码中DEFAULT_MAX_SCAN_RES设置成八,这个能不能设置很大,比如设置成100之类的,设置大了有什么影响?是不是资源有限支持不了?我现在设置这个数据比较大了之后会发现i2c收不到数据,提示接收的数据错误。
此外还有如下问题要请教,如下:
1.正常情况下是扫描一次,我在GAP_DEVICE_DISCOVERY_EVENT事件到来时候再次开启扫描以期实现连续扫描,发现通过I2C经常接收不到数据,提示接收到的数据错误,请问我要我要怎么才能实现连续扫描,而不是扫描一次?
2.此外在接收不到数据的情况下要通过什么手段得知cc2541内部是不是正常工作,而不是挂掉了?
3.这个扫描是3个广播信道都扫描么?能不能指定信道扫描?
提前谢谢各位的细心解答,祝:工作顺利,万事如意!
Viki Shi:
扫描设备个数问题请参考本帖: http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/126502.aspx
1、经常收不到数据,是不是连接间隔设得太低?提高频率试试
2、根据蓝牙spec,指定信道扫描是不允许的,但是可以使用packet sniffer去监听一个信道
shengqi an:
回复 Viki Shi:
1.http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/126502.aspx 这里说了cc2640 支持30个,cc2541最多能到多少呢?
2.是不是连接间隔设得太低?是不是扫描的窗口TGAP_GEN_DISC_SCAN_INT和间隔TGAP_GEN_DISC_SCAN_WIND短一些?
3.指定信道扫描不允许,这个哪里有文档可以参考么?
4.我想实现连续扫描,是不是扫描完成事件GAP_DEVICE_DISCOVERY_EVENT到来之后再开启就行了?