TI中文支持网
TI专业的中文技术问题搜集分享网站

蓝牙协议栈(ble_sdk_1.4.2.2)从机发送数据

使用CC2541作为从机,手机作为主机,从机发送数据函数如下:

void sbpSerialAppSendNoti(uint8 *pBuffer,uint16 length)
{
uint8 len;
attHandleValueNoti_t pReport;

if(length > 20)
len = 20;
else
len = length; 

pReport.handle=0x2E;
pReport.len = len;
osal_memcpy(pReport.value, pBuffer, len);
GATT_Notification( 0, &pReport, FALSE );
}

使用1.4.0.0协议栈时,手机和从机通信正常,使用1.4.2.2协议栈时,通过APP发送数据从机可以接收,但是从机串口接收到的数据无法正确发送到手机。

查找原因时发现1.4.0.0协议栈中定义如下:

typedef struct
{
uint16 handle; //!< Handle of the attribute that has been changed (must be first field)
uint8 len; //!< Length of value
uint8 value[ATT_MTU_SIZE-3]; //!< New value of the attribute
} attHandleValueNoti_t;

1.4.2.2协议栈中定义如下:

typedef struct
{
uint16 handle; //!< Handle of the attribute that has been changed (must be first field)
uint8 len; //!< Length of value
uint8 *pValue; //!< Current value of the attribute (0 to ATT_MTU_SIZE-3)
} attHandleValueNoti_t;

尝试修改void sbpSerialAppSendNoti(uint8 *pBuffer,uint16 length)函数,任然解决不了问题,请问问题在什么地方?

user4519296:

回复 甜甜的大香瓜:

感谢回复,按照您提供的方法问题解决了。原来是我分配空间的地方出错了,谢谢

ZANGk:

回复 user4519296:

@pan gao1 后来这个问题怎么处理的??????谢谢

ZANGk:

回复 ZANGk:

感谢,已经解决。谢谢

赞(0)
未经允许不得转载:TI中文支持网 » 蓝牙协议栈(ble_sdk_1.4.2.2)从机发送数据
分享到: 更多 (0)