TI中文支持网
TI专业的中文技术问题搜集分享网站

notify问题咨询

现在看串口透传的程序,想知道central开启notify的函数语句是哪个???

例程里面没找到有开启的语句。。。

Yan:

yueliangz0123,

开启notification 用的是central的 write 命令。

找到notification对应的handle, 然后写0x0001 过去,就打开了。

WIND JXC:

回复 Yan:

例程里面没见这样的语句啊???

难道是连接的时候顺便开起来??

HG:

回复 Yan:

Hi Yan,

   以simpleBLECentral.c为例, 是不是

 if ( simpleBLEDoWrite )      {        // Do a write        attWriteReq_t req;                req.handle = simpleBLECharHdl;        req.len = 1;        req.value[0] = simpleBLECharVal;        req.sig = 0;        req.cmd = 0;        status = GATT_WriteCharValue( simpleBLEConnHandle, &req, simpleBLETaskId );               }

 

 

WIND JXC:

回复 HG:

这个是跟按键操作相关函数里面的吧??要是我不操作按键呢

WIND JXC:

回复 Yan:

从机代码里面哪里是修改notify以便开启的??

我看了你在其他帖子里面的回复,打了一些断点,根本就不进这些断点…

我把我看的串口透传代码发上来你看看,central代码好像没有开启notify的操作~~

Yan:

回复 WIND JXC:

yueliangz0123,

木有类似 “enableNotification()” 这样的接口。例程里面没有使能notification 的示例代码。

但如我前面所说, 是用write命令实现的。

也如Holly 描述的,她贴的代码里面,simpleBLECharHdl 就是你需要的notification CCCD的handle,simpleBLECharVal 就是 0x0001, 其他都一样。

前提是你先通过服务查找,找到你需要特征值的CCCD.

我记得之前坛子里有很多关于查找服务下多个特征值的帖子,你可以搜索一下。

WIND JXC:

回复 Yan:

这些我知道。。。。

我上传的代码里面我没看到有通过write来开启的操作,但是又可以发送接收通知,我就觉得很奇怪…

Yan:

回复 WIND JXC:

yueliangz0123,

我也没看到你代码里面有什么。

你确定central接收的是notification, 而不是read的回复?

最好的方法是你用packet sniffer 抓包看一下,到底是什么情况。

WIND JXC:

回复 Yan:

我是用串口发送数据给peripheral,peripheral发给安卓手机,这种情况应该不是read的回复吧??

BLE有直通模式???是啥样的??

packet sniffer抓包,只能抓到广播的包,问了其他一些人讲,通信数据是调频抓不到,不知道怎么抓应用数据的包。。。

附件为安卓APP的源码,在google给的demo上修改的,麻烦看一下,谢谢

WIND JXC:

回复 Yan:

sbpSerialAppCallback是串口的回调函数   sbpSerialAppCallback() -> sbpSerialAppSendNoti() -> GATT_Notification(),从这里看,串口的数据最后是通过GATT_Notification()发上来的,这应该是notify,不是read的回复吧???

赞(0)
未经允许不得转载:TI中文支持网 » notify问题咨询
分享到: 更多 (0)