微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2540作为central时,如何接收notify从机数据?

CC2540作为central时,如何接收notify从机数据?

时间:10-02 整理:3721RD 点击:

用CC2540作为主机,接收从机心率带的notify数据,通过串口将数据回传。

目前可以连上心率带,串口也通了,但是数据没有出来。

TI的大拿和各位大神们,有没有好的思路或者代码参考一下!

非常感谢!

notify数据需要打开开关 peripheral端才会自动向central端推送notification

Hi WBJ,

     这个开关是从机的还是主机的?

之前有个帖子写的类似的

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/63808.aspx?pi2132219853=1

按照该方法做了,出现了类似的情况,可惜没有下文介绍解决办法。

TI的大牛们能否帮忙看看?

这个开关是peripheral这边的开关,在notification属性的里面应该有个开关,打开从机才会发notification。一般句柄是属性句柄+1。

你现在类似的状况是什么?

打开和关闭开关在主机这一侧可以做。类似于再用lightblue连接从机,需要点选notification on然后才能收到notification。现在central设备就要打开这个开关 ,通常就是把值从0置为1就好。

我现在的情况就是notification没有打开。

使用如下代码能否打开notification?

attWriteReq_t AttReq;
uint8 ValueBuf[2];

AttReq.handle = 0x180d; //180d为心律计UUID
AttReq.len = 2;
AttReq.sig = 0;
AttReq.cmd = 0;
ValueBuf[0] = 0x01;
ValueBuf[1] = 0x00;
osal_memcpy ( AttReq.value, ValueBuf, 2 );
GATT_WriteCharValue ( 0, &AttReq, simpleBLETaskId );
NPI_WriteTransport ("Enable Notice\n", 14 );

应该handle不对,用心率计连bTool可以看到开关的handle通常handle是characteristic的handle+1

Hi WBJ,

       非常感谢!使用bTool后找到handle,可以写入使能且能收到数据,但是从串口看收到的都是字符串乱码,如附图。

请问有什么办法可以让串口将收到的字符串数据改由十六进制输出?

       谢谢!

 

 

串口的数据一般调试工具可以选是char还是hex输出 看看是不是没有选对

然后在代码里面如果要转换要自己写个代码 不复杂的

请问这个handle的值是多少呀?又是如何获取的呢?我没有Dongle怎么连接btool呢

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top