微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI蓝牙设计交流 > CC2541 Central 端,怎样使用GATT_WriteCharValue给peripheral发数据。

CC2541 Central 端,怎样使用GATT_WriteCharValue给peripheral发数据。

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

现在刚开始学习BLE的透传通信,在从机端利用

void sbpSerialAppSendNoti(uint8 *pBuffer,uint16 length)
{
uint8 len;
if(length > 20)
len = 20;
else
len = length;
static attHandleValueNoti_t pReport;
pReport.handle=0x002E;
pReport.len = len;
osal_memcpy(pReport.value, pBuffer, len);
GATT_Notification( 0, &pReport, FALSE );
}

实现了向主机发送数据,并且接收到了;但是,主机向从机怎么实现向从机数据传输:利用 GATT_WriteCharValue( simpleBLEConnHandle, &bac, simpleBLETaskId );。

本来的想法是,让主机接收到数据后,将数据11回传给从机,可是没成功,如下:

if(pMsg->method == ATT_HANDLE_VALUE_NOTI)
{
if(pMsg->msg.handleValueNoti.handle == 0x002E)
{

uint8 str[17]; 

osal_memcpy(str, pMsg->msg.handleValueNoti.value,17);

attWriteReq_t bac;
bac.handle = simpleBLECharHdl;
bac.len = 1;
bac.value[0] =11 ;
bac.sig = 0;
bac.cmd = 0;
GATT_WriteCharValue( simpleBLEConnHandle, &bac, simpleBLETaskId );


}
}

不清楚,GATT_WriteCharValue该如何使用,各位牛人,给指点一下。

Maxweller,

看代码貌似木有问题。

你再仔细看看参数配置对不对?比如charHdl之类?

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

网站地图

Top