发 帖  
原厂入驻New
[问答] 用CC2540作为master请问如何配置,有没有例程?
2020-8-28 11:50:49  63 CC2540
分享
我想用CC2540作为master ,请问如何配置,有没有例程?
0
2020-8-28 11:50:49   评论 分享淘帖
16 个讨论
TI BLE stack 里SimpleBLECentral工程就是Master的
2020-8-28 11:57:12 评论

举报

芯羿飞扬 发表于 2020-8-28 19:35
TI BLE stack 里SimpleBLECentral工程就是Master的

SimpleBLECentral工程里面如果接收到从机发过来的包有没有产生一个中断或回调?
技术发广告 发表于 2020-8-28 19:44
SimpleBLECentral工程里面如果接收到从机发过来的包有没有产生一个中断或回调?

首先你要让主机和从机成功完成连接,然后所有从从机发过来的GATT封包可以在
simpleBLECentralProcessGATTMsg()里收到。
2020-8-28 12:11:32 评论

举报

芯羿飞扬 发表于 2020-8-28 19:49
首先你要让主机和从机成功完成连接,然后所有从从机发过来的GATT封包可以在
simpleBLECentralProcessGATTMsg()里收到。

首先你要让主机和从机成功完成连接,然后所有从从机发过来的GATT封包可以在
simpleBLECentralProcessGATTMsg()里收到。simpleBLECentralProcessGATTMsg()里面的pMsg->method的值是什么?
技术发广告 发表于 2020-8-28 19:55
首先你要让主机和从机成功完成连接,然后所有从从机发过来的GATT封包可以在
simpleBLECentralProcessGATTMsg()里收到。simpleBLECentralProcessGATTMsg()里面的pMsg->method的值是什么?

信息属性类型,表示这个封包是一个什么信息,例如是读属性还是写属性或者是一个Notifacation,等等
2020-8-28 12:37:03 评论

举报

芯羿飞扬 发表于 2020-8-28 20:14
信息属性类型,表示这个封包是一个什么信息,例如是读属性还是写属性或者是一个Notifacation,等等

如果从机是Notifacation,那pMsg->method是什么?
技术发广告 发表于 2020-8-28 20:21
如果从机是Notifacation,那pMsg->method是什么?

ATT_HANDLE_VALUE_NOTI
2020-8-28 13:02:31 评论

举报

从机用Notifacation送出一个包,主机端simpleBLECentralProcessGATTMsg()没有反应。
第一,你要确保已经连接
第二,连接后Notification的属性必须打开才能正常工作,默认是设置为0的,你需要设置为1
例如例程Peripheral中,连接后Master必须设置Slave的skConfig属性为1,才能正常Notification
2020-8-28 13:27:39 评论

举报

芯羿飞扬 发表于 2020-8-28 21:05
第一,你要确保已经连接
第二,连接后Notification的属性必须打开才能正常工作,默认是设置为0的,你需要设置为1
例如例程Peripheral中,连接后Master必须设置Slave的skConfig属性为1,才能正常Notification

我的从机与苹果电脑通信用Notification送数据,苹果电脑可以接收到数据,但是我主机用SimpleBLECentral例程,从机同样用Notification送数据,主机没反应
例如例程Peripheral中,连接后Master必须设置Slave的skConfig属性为1,才能正常Notification是不是skKeyPressed=1;?
技术发广告 发表于 2020-8-28 21:21
例如例程Peripheral中,连接后Master必须设置Slave的skConfig属性为1,才能正常Notification是不是skKeyPressed=1;?

不是,是这个UUID的属性:
// Characteristic configuration
      [
        [ ATT_BT_UUID_SIZE, clientCharCfgUUID ],
        GATT_PERMIT_READ | GATT_PERMIT_WRITE,
        0,
        (uint8 *)skConfig
      ],
2020-8-28 13:54:54 评论

举报

芯羿飞扬 发表于 2020-8-28 21:32
不是,是这个UUID的属性:
// Characteristic configuration
      [

原本就是这样设置的,那需要怎样改?
我印象中是调用这个函数:
GATT_WriteCharValue()
2020-8-28 14:12:08 评论

举报

我主机用SimpleBLECentral工程,从机用BloodPressure工程,它们连接成功后我用从机Service_IMeasNotify发送数据给主机,在运行
bStatus_t Service_IMeasNotify( uint16 connHandle, attHandleValueNoti_t *pNoti, uint8 taskId )
[
uint16 value = GATTServApp_ReadCharCfg( connHandle, ServiceIMeasConfig );
// If notifications enabled
if ( value & GATT_CLIENT_CFG_NOTIFY )
[
// Set the handle
pNoti->handle = ServiceAttrTbl[SERVICE_IMEAS_VALUE_POS].handle;
// Send the Indication
return GATT_Notification( connHandle, pNoti, FALSE);

]
return bleIncorrectMode;

]这个中uint16 value = GATTServApp_ReadCharCfg( connHandle, ServiceIMeasConfig );读出value 为0;这是为什么,是还要怎样设置才可以从机端才可以用Notification发送数据给主机端?
技术发广告 发表于 2020-8-28 22:00
我主机用SimpleBLECentral工程,从机用BloodPressure工程,它们连接成功后我用从机Service_IMeasNotify发送数据给主机,在运行
bStatus_t Service_IMeasNotify( uint16 connHandle, attHandleValueNoti_t *pNoti, uint8 taskId )
[

mo mo,
正如CZ前面说的 在central端, 请通过GATT_WriteCharValue() 去写 peripheral中的 skConfig 这个值, 把这个值写成1.
你没写, 通过GATTServApp_ReadCharCfg()读回来的当然是 0.

只有小组成员才能发言,加入小组>>

1454个成员聚集在这个小组

加入小组

创建小组步骤

关闭

站长推荐 上一条 /9 下一条

快速回复 返回顶部 返回列表