打印
[蓝牙芯片]

CH579怎么回传数据

[复制链接]
8417|14
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在peripheral例程中查到如下函数
static void peripheralChar4Notify( uint8 *pValue, uint16 len )
{
  attHandleValueNoti_t noti;
  noti.len = len;
  noti.pValue = GATT_bm_alloc( peripheralConnList.connHandle, ATT_HANDLE_VALUE_NOTI, noti.len, NULL, 0 );
  tmos_memcpy( noti.pValue, pValue, noti.len );
  if( simpleProfile_Notify( peripheralConnList.connHandle, &noti ) != SUCCESS )
  {
    GATT_bm_free( (gattMsg_t *)&noti, ATT_HANDLE_VALUE_NOTI );
  }
}
然后又调用了:主动通知函数  GATT_Notification:
bStatus_t simpleProfile_Notify( uint16 connHandle, attHandleValueNoti_t *pNoti )
{
  uint16 value = GATTServApp_ReadCharCfg( connHandle, simpleProfileChar4Config );

  // If notifications enabled
  if ( value & GATT_CLIENT_CFG_NOTIFY )
  {
    // Set the handle
    pNoti->handle = simpleProfileAttrTbl[SIMPLEPROFILE_CHAR4_VALUE_POS].handle;
  
    // Send the notification
    return GATT_Notification( connHandle, pNoti, FALSE );
  }
  return bleIncorrectMode;
}
程序中直接调用GATT_Notification函数发送数据,串口调试助手app收不到数据

使用特权

评论回复
沙发
彩虹天空cc|  楼主 | 2021-8-16 21:05 | 只看该作者
问题已解决,修改UUID即可

使用特权

评论回复
板凳
彩虹天空cc|  楼主 | 2021-8-16 21:09 | 只看该作者
在Central主机例程中,扫描周围蓝牙设备只列出了地址:
Discovering...
Device 1 - Addr e7 62 29 dd d7 63
Device 2 - Addr 99 7e 51 77 c4 67
怎么查询蓝牙名称,比如我想直接连接名称为Simple Peripheral的蓝牙设备

使用特权

评论回复
地板
彩虹天空cc|  楼主 | 2021-8-17 10:37 | 只看该作者
呼叫打野爸爸

使用特权

评论回复
5
WCHTech2| | 2021-8-18 10:51 | 只看该作者
彩虹天空cc 发表于 2021-8-16 21:09
在Central主机例程中,扫描周围蓝牙设备只列出了地址:
Discovering...
Device 1 - Addr e7 62 29 dd d7 63 ...
static void centralEventCB( gapRoleEvent_t *pEvent )

可以自行解析函数参数 pEvent

使用特权

评论回复
6
彩虹天空cc|  楼主 | 2021-8-23 16:47 | 只看该作者
我想用Central例程连接如下的从机

修改了例程中如下两处


显示连接成功,但是收不到notify信息

使用特权

评论回复
7
彩虹天空cc|  楼主 | 2021-8-23 16:51 | 只看该作者
串口信息如下:
CH57x_BLE_LIB_V1.80
Discovering...
Device 1 - Addr 35 76 f e4 c2 84
Device 2 - Addr bc ed 36 12 af 62
Device 3 - Addr a4 5 52 7a fa 28
Device found...
Connecting...
Connected...
RSSI : -91 dB
Param Update...
RSSI : -88 dB
RSSI : -85 dB
RSSI : -91 dB
Param Update...
RSSI : -90 dB
RSSI : -89 dB
RSSI : -88 dB
RSSI : -93 dB
RSSI : -92 dB
RSSI : -91 dB
RSSI : -90 dB
RSSI : -87 dB

使用特权

评论回复
8
彩虹天空cc|  楼主 | 2021-8-23 16:53 | 只看该作者
本帖最后由 彩虹天空cc 于 2021-8-23 18:20 编辑

程序中定位到static void centralGATTDiscoveryEvent( gattMsgEvent_t *pMsg ),3个profile全部不可读,因此特征值句柄为空,这种情况下怎么接收notify

使用特权

评论回复
9
彩虹天空cc|  楼主 | 2021-8-25 17:03 | 只看该作者
@WCHTech2 打野爸爸 江湖救急

使用特权

评论回复
10
彩虹天空cc|  楼主 | 2021-8-27 18:00 | 只看该作者
那就只能硬搞了,用一个递增变量一个一个的写CCD,试出来通知句柄为0x20,然后写死

使用特权

评论回复
11
redone| | 2021-9-11 12:08 | 只看该作者
还有这个别称,你们都是老铁了

使用特权

评论回复
12
K359225712| | 2021-10-6 12:26 | 只看该作者
果然硬搞还是是搞定了

使用特权

评论回复
13
两只袜子| | 2021-10-11 10:28 | 只看该作者
哈哈,硬搞,牛

使用特权

评论回复
14
两只袜子| | 2021-10-11 10:28 | 只看该作者
哈哈,硬搞,牛

使用特权

评论回复
15
mutable| | 2021-10-11 16:46 | 只看该作者
你们都是这么牛的么?~~
看着好深奥

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

7

主题

50

帖子

0

粉丝