引用: 60user157 发表于 2019-9-23 13:18
Hi, shaokai,
谢谢你的回答,但就是 至于能不能更新参数,这得取决于Central的决定 这个使我疑惑,
因为我遍寻TI的Central的例程,没有找到Central做决定的这段程序,似乎Central默认接受Peripheral的更新请求,请问是否这样呢?
Hi sw yang
是的,协议栈是规定由central来决定是否执行更新peripheral的更新请求的,2540里的协议栈默认是接受peripheral的更新请求的。
static void simpleBLECentralEventCB( gapCentralRoleEvent_t *pEvent )
[
case GAP_LINK_PARAM_UPDATE_EVENT://这个事件表示完成一次参数更新,如果你从机有发起更新请求,主机应该会触发这个事件
]
另外,主机在连接期间可以随时调用以下API来修改连接参数:
bStatus_t GAPCentralRole_UpdateLink( uint16 connHandle, uint16 connIntervalMin,
uint16 connIntervalMax, uint16 connLatency,
uint16 connTimeout );
引用: 60user157 发表于 2019-9-23 13:18
Hi, shaokai,
谢谢你的回答,但就是 至于能不能更新参数,这得取决于Central的决定 这个使我疑惑,
因为我遍寻TI的Central的例程,没有找到Central做决定的这段程序,似乎Central默认接受Peripheral的更新请求,请问是否这样呢?
Hi sw yang
是的,协议栈是规定由central来决定是否执行更新peripheral的更新请求的,2540里的协议栈默认是接受peripheral的更新请求的。
static void simpleBLECentralEventCB( gapCentralRoleEvent_t *pEvent )
[
case GAP_LINK_PARAM_UPDATE_EVENT://这个事件表示完成一次参数更新,如果你从机有发起更新请求,主机应该会触发这个事件
]
另外,主机在连接期间可以随时调用以下API来修改连接参数:
bStatus_t GAPCentralRole_UpdateLink( uint16 connHandle, uint16 connIntervalMin,
uint16 connIntervalMax, uint16 connLatency,
uint16 connTimeout );
举报