CC2540 Packet Sniffer
各位好:
我在USB dongle中烧入了sniffer_fw_cc2540_usb.hex,想监控另外一端的master和slave端的通信,现在当slave端处于可被扫描状态时,sniffer端可以看到相应的数据包,但其后扫描、连接、读写等过程在sniffer中都看不到相关的数据包,请问是在哪里出了问题?
在GAPRole_Init中固定gapRole_AdvChanMap = 0x27;在sniffer中如下图选择:
还是不行,求指教。谢谢!
Hi Peng, my friend,
你这个太乌龙了.
虽然你的想法是非常正确的, 没错, 要把这个值固定在代码广播频道里.
但是, 但是, 但是, gapRole_AdvChanMap = 0x27 ?
我相信你肯定看过源码: gapRole_AdvChanMap = GAP_ADVCHAN_ALL;
如果你再看 GAP_ADVCHAN_ALL 定义, 你就会发现:
#define GAP_ADVCHAN_37 0x01 //!< Advertisement Channel 37
#define GAP_ADVCHAN_38 0x02 //!< Advertisement Channel 38
#define GAP_ADVCHAN_39 0x04 //!< Advertisement Channel 39
#define GAP_ADVCHAN_ALL (GAP_ADVCHAN_37 | GAP_ADVCHAN_38 | GAP_ADVCHAN_39) //!< All Advertisement Channels Enabled
好吧, 我相信你应该看到了, 你要的 GAP_ADVCHAN_39, 是什么? 好像不是你想象的 0x27, 而是 0x04......
YAN,
非常感谢,确实是我的疏忽,问题已经解决了,你的回复太及时和详细了,谢谢~~
不客气, good luck!
想请教一下:广播的channel只有37 38 39 然而选择 GAP_ADVCHAN_ALL 和单独选择37 38 39 有什么区别?
brocaster端需要广播时设置channel ,gapRole_AdvChanMap = GAP_ADVCHAN_ALL;那么observer端是否也可以设置channel 比如说,brocaster广播的通道是37 observer端收广播消息的通道也是37 如何进行设置? 将其固定在某个通道内传输数据
#define GAP_ADVCHAN_37 0x01 //!< Advertisement Channel 37 #define GAP_ADVCHAN_38 0x02 //!< Advertisement Channel 38 #define GAP_ADVCHAN_39 0x04 //!< Advertisement Channel 39 #define GAP_ADVCHAN_ALL (GAP_ADVCHAN_37 | GAP_ADVCHAN_38 | GAP_ADVCHAN_39) //!< All Advertisement Channels Enabled