永发信息网

CC2541 一个包可以发送超过20个字节的数据吗

答案:1  悬赏:60  手机版
解决时间 2021-02-27 17:50
CC2541 一个包可以发送超过20个字节的数据吗
最佳答案
我发送的程序为一个子函数,如下:

void write_center_data_to_client()//向center数据通道写入数据,大小为20个字节
{
if ( simpleBLEState == BLE_STATE_CONNECTED &&
CENTER_data_valueHdl != 0 &&
simpleBLEProcedureInProgress == FALSE )
{//必须为可读写状态才能读写

attWriteReq_t req;
req.handle = CENTER_data_valueHdl;
req.len = 20;
osal_memcpy(req.value,center_data_buff,req.len);
req.sig = 0;
req.cmd = 0;

if ( GATT_WriteCharValue( simpleBLEConnHandle, &req, simpleBLETaskId ) == SUCCESS )
{
simpleBLEProcedureInProgress = TRUE;
}
else
{
simpleBLEProcedureInProgress = FALSE;
}
}
}
其中uint8 center_data_buff[20];//固定向client写入的20字节数据缓冲
在发送的时候,首先调用这个子函数发送第一包,然后在MSG函数中得到回应后,才发送第二包,如此循环,我将后续函数放到这里:
else if ( ( pMsg->method == ATT_WRITE_RSP ) ||
( ( pMsg->method == ATT_ERROR_RSP ) &&
( pMsg->msg.errorRsp.reqOpcode == ATT_WRITE_REQ ) ) )//写特征值回调确认状态
{

if ( pMsg->method == ATT_ERROR_RSP == ATT_ERROR_RSP )
{
uint8 status = pMsg->msg.errorRsp.errCode;

LCD_WRITE_STRING_VALUE( "Write Error", status, 10, HAL_LCD_LINE_1 );
}
else
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
在对柱下钢筋混凝土独立基础进行抗冲切计算时
紫色指甲水弄到白色梳妆台上弄不掉了怎么办?
所谓“念佛现世当得十种利益”,不知出自何本
‘爱情专属权’是什么意思
寻觅的近义词是
米兰季节精品包饰鞋服地址在什么地方,想过去
世友灯饰地址有知道的么?有点事想过去!
下列是四个不同地区的夏季昼夜气温数据,其中
梦见小孩叫我妈妈
电脑能不能冷冻
excel中的字体自动变化怎么回事
请问,胎盘成熟,  请问各位姐妹,胎盘一般在
汗乌拉奶食店在哪里啊,我有事要去这个地方
什么游戏可以结婚像梦幻西游一样但是终身免费
为什么要读mba,读mba有用吗
推荐资讯
问道金系带什么娃娃好
钢琴五线谱前面有一个降音符号后面用继续降吗
k20次列车时刻表
掌悦理财可靠吗?
大竹县老大
一品香云南过桥米线屯留分店在什么地方啊,我
测试一下采纳功能是怎么样定义的
淘宝客服说圆通快递在系统维护中查不到物流信
谁是最受关注的人和车
四川杰鑫房地产开发有限公司这个地址在什么地
性喜若狂的"若"是什么意思
细菌的分离与培养技术在接种细菌时检查细菌是
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?