如何在ch573 Peripheral在主机连接从机时获取主机mac地址
需求:就是主机连接从机时,从机先判断主机mac地址,再让主机连接从机
请问要在例程的哪里改?谢谢
如何在ch573 Peripheral在主机连接从机时获取主机mac地址
需求:就是主机连接从机时,从机先判断主机mac地址,再让主机连接从机
请问要在例程的哪里改?谢谢
您好,可以在下图函数中的结构体里获取到主机的地址类型和地址,
若要断开连接可调用此函数:
GAPRole_TerminateLink(peripheralConnList.connHandle);
执行到这个函数是已经被主机连上了吗?
/*********************************************************************
* @fn Peripheral_LinkEstablished
*
* @brief Process link established.
*
* @param pEvent - event to process
*
* @return none
*/
static void Peripheral_LinkEstablished(gapRoleEvent_t *pEvent)
{
gapEstLinkReqEvent_t *event = (gapEstLinkReqEvent_t *)pEvent;
// See if already connected
if(peripheralConnList.connHandle != GAP_CONNHANDLE_INIT)
{
GAPRole_TerminateLink(pEvent->linkCmpl.connectionHandle);
PRINT("Connection max...\n");
}
else
{
peripheralConnList.connHandle = event->connectionHandle;
peripheralConnList.connInterval = event->connInterval;
peripheralConnList.connSlaveLatency = event->connLatency;
peripheralConnList.connTimeout = event->connTimeout;
peripheralMTU = ATT_MTU_SIZE;
// Set timer for periodic event
tmos_start_task(Peripheral_TaskID, SBP_PERIODIC_EVT, SBP_PERIODIC_EVT_PERIOD);
// Set timer for param update event
tmos_start_task(Peripheral_TaskID, SBP_PARAM_UPDATE_EVT, SBP_PARAM_UPDATE_DELAY);
// Start read rssi
tmos_start_task(Peripheral_TaskID, SBP_READ_RSSI_EVT, SBP_READ_RSSI_EVT_PERIOD);
PRINT("Conn %x - Int %x \n", event->connectionHandle, event->connInterval);
}
}
如果是,那有没有还没连上时,可以拒绝主机连的?
您好,没有还没连上的状态回调的,需要在这个已连接回调里去处理,可以根据自己的需求去选择是否断开连接。
GAPRole_TerminateLink(peripheralConnList.connHandle);//断开连接后,还会不会再次持续发广播?
默认的例程在断开连接后,会重新开启广播,也就是有advertising的日志信息。