1个月前
MultiRole示例发送数据
张贴了本杰德杜135分 12回复嗨对话框,
In short, my question is how to send data to slaves in多尔例子。
让我解释一下我的问题:
我用da14531-da14585 586_multole_example与多奴(我使用ble_app_profile.example), I can connect more than one slaves,and the master(多尔)可以从奴隶接收数据,但我不知道如何将数据发送到从属,我使用iPad连接从属(ble_app_profile.示例),从而可以接收数据。
我测试了以下内容user_catch_rest_hndl.回调,我希望如果有收到的数据,那么我会将数据发送到从属,但我可以从从站接收数据,而从站无法接收数据。
struct gattc_write_cmd * wr_char = ke_msg_alloc_dyn(gattc_write_cmd,
dest_id,src_id,
gattc_write_cmd,sizeof(struct gattc_write_cmd));
// 抵消
WR_CHAR-> OFFSET = 0x0000;
//光标总是0
wr_char->cursor = 0x0000;
// Write Type
WR_CHAR->操作= GATTC_WRITE;
//特征值属性句柄
WR_CHAR->手柄= 1;
// 价值Length
WR_CHAR->长度= 3;
// Auto Execute
wr_char-> auto_execute = true;
// 价值
INT8_T AA [2];
aa [0] = 9;
aa [1] = 5;
memcpy(&wr_char->值[0],aa,2);
//发送消息
KE_MSG_SEND(WR_CHAR);
谢谢
本杰明
1个月前
嗨对话框,
非常感谢您的快速答案。
我发现user_ble_gatt_write()与上面使用的功能类似,无论如何,我测试了不同参数的函数,但仍然无法在从站中接收数据。
您是否可以帮助举例说明如何使用此功能的参数?从图片显示,如果函数可以发送相同的数据,则从闪烁从闪烁的数据显示,我认为它可以是一个非常好的起点,我将能够使用这个功能。
再次感谢。
本杰明
附件 | 尺寸 |
---|---|
1.jpg. | 157.96 KB |
2.jpg | 159.6 KB. |
3.JPG. | 168.29 KB. |
4周前
嗨本杰明,
为延迟道歉。快速问题:您希望从间隙中央设备写入哪种服务?是定制服务吗?
您能分享user_ble_gatt_write()的调用方式吗?
谢谢,PM_DIALOG.
4周前
嗨对话框,
非常感谢您的回复。
我打了电话user_ble_gatt_write()在功能中user_catch_rest_hndl()。
以下是我用于执行调用的代码的一部分。
570.
571案例gattc_event_ind:
572 {
573.
574 / / Benjam后添加in
575 INT8_T AA [2];
576 AA[0]=9;
577 AA [1] = 5;
578.
579 user_ble_gatt_write(gattc_write_cmd,conn_idx,svc1_idx_led_state_val,aa,sizeof(aa));
580
581
582 //后面的两行输出接收数据。
583结构gattc_event_ind const * msg_param =(struct gattc_event_ind const *)(param);
584 ARCH_PRINTF(“<%d> \ t”,msg_param->值[0]);
585 //上面由Benjamin添加
586
587 }break;
588
589案例GAPM_CMP_EVT:
590 {
谢谢
本杰明
3个星期前
Hi BenjaminDu,
请从中央实施SW示例检查Handle_svc_ind()。当收到GattC_SDP_SVC_ind时,Handle_svc_ind(con_idx,disc_svc);在user_catch_rest_hndl()中调用。gattc_sdp_svc_ind意味着服务发现表示已找到服务,因此在找到新服务后,触发句柄_svc_ind()。如果在HANDER_SVC_IND()中检查代码,则会看到它发现BAS(ENABLE_BAS)和IAS服务(ENABLE_IAS)发现。服务发现后,您可以按中心设备上的按钮。这将写入警报服务,并开始在邻近记者上闪烁LED。如果正确发送,您还应该看到终端的写入。
因此,按下按钮时,将调用user_ble_gatt_write()以便写入IAS。
In the case of the custom service (SVC1_IDX_LED_STATE_VAL), you should follow the same procedure. Discover the custom service in the handle_svc_ind() and then perform a GATT write to the correct attribute handle.
谢谢,PM_DIALOG.
1个月前
Hi BenjaminDu,
谢谢你的问题。您可以使用BLE通知。请检查一下DA14585 / DA14586 / DA14531中央实施这表明如何将GATT读取/写入中央。
在user_ble_gatt.c源文件中,您将找到user_ble_gatt_write()。该函数执行GATT写。您应该向堆栈发送一个gattc_write_cmd命令。
谢谢,PM_DIALOG.