⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 btcommon.cpp

📁 蓝牙
💻 CPP
字号:
#include "btcommon.h"#include "btappcbk.h"bool ParseBtAddr(const char* buf, BTUINT8* addr){	if (!buf || !addr)		return false;		int i;	char* str = (char*)buf;	char* token;		i = BTSDK_BDADDR_LEN - 1;	while ((str = strtok_r(str, ":", &token)) != NULL)	{		addr[i] = (BTUINT8)strtol(str, NULL, 16);		str = token;		i--;	}		return true;}void OutputBtAddr(const BTUINT8* bd_addr){	for (int j = 5; j > 0; j--)		printf("%02x:", bd_addr[j]);	printf("%02x", bd_addr[0]);	printf("\n");}void RegAppIndHandle(){    BtSdkCallBackStru cb;		cb.type = BTSDK_PIN_CODE_REQ_IND;	cb.func = (void*)BtsdkAppCallback::HandlePinReqInd;	Btsdk_RegisterCallback(&cb);	// 加上就得不到 BTSDK_PIN_CODE_REQ_IND 回调	// cb.type = BTSDK_LINK_KEY_REQ_IND;	// cb.func = (void*)BtsdkAppCallback::HandleLinkKeyReqInd;	// Btsdk_RegisterCallback(&cb);	// cb.type = BTSDK_LINK_KEY_NOTIF_IND;	// cb.func = (void*)BtsdkAppCallback::HandleLinkKeyNotifInd;	// Btsdk_RegisterCallback(&cb);	// cb.type = BTSDK_AUTHENTICATION_FAIL_IND;	// cb.func = (void*)BtsdkAppCallback::HandleAuthenticationFailInd;	// Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_INQUIRY_RESULT_IND;	cb.func = (void*)BtsdkAppCallback::HandleInquiryResultInd;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_INQUIRY_COMPLETE_IND;	cb.func = (void*)BtsdkAppCallback::HandleInquiryCompleteInd;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_AUTHORIZATION_IND;	cb.func = (void*)BtsdkAppCallback::HandleAuthorizationReqInd;	Btsdk_RegisterCallback(&cb);	// cb.type = BTSDK_AUTHORIZATION_ABORT_IND;	// cb.func = (void*)BtsdkAppCallback::HandleAuthorAbortInd;	// Btsdk_RegisterCallback(&cb);	// cb.type = BTSDK_CONNECTION_REQUEST_IND;	// cb.func = (void*)BtsdkAppCallback::HandleConnectionRequestInd;	// Btsdk_RegisterCallback(&cb);	// cb.type = BTSDK_CONNECTION_COMPLETE_IND;	// cb.func = (void*)BtsdkAppCallback::HandleConnectionCompleteInd;	// Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_CONNECTION_EVENT_IND;	cb.func = (void*)BtsdkAppCallback::HandleConnectionCompleteInd;	Btsdk_RegisterCallback(&cb);	// cb.type = BTSDK_SHORTCUT_EVENT_IND;	// cb.func = (void*)BtsdkAppCallback::HandleAuthorAbortInd;	// Btsdk_RegisterCallback(&cb);}void UnRegAppIndHandle(){    BtSdkCallBackStru cb;		cb.type = BTSDK_PIN_CODE_REQ_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_LINK_KEY_REQ_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_LINK_KEY_NOTIF_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_AUTHENTICATION_FAIL_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_INQUIRY_RESULT_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_INQUIRY_COMPLETE_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_AUTHORIZATION_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_AUTHORIZATION_ABORT_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_CONNECTION_REQUEST_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_CONNECTION_COMPLETE_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_CONNECTION_EVENT_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);	cb.type = BTSDK_SHORTCUT_EVENT_IND;	cb.func = NULL;	Btsdk_RegisterCallback(&cb);}static bool btSdkInited = false;bool InitBtSdk(){	char szVer[128];	Btsdk_GetVersionString((BTUINT8*)szVer, sizeof(szVer) - 1);	printf("Btsdk version %s\n", szVer);	btSdkInited = true;	init_timer_interrupt();	if (Btsdk_IsSDKInitialized() != BTSDK_TRUE)	{		if (Btsdk_Init() != BTSDK_OK)		{			printf("Btsdk_Init failed\n");			btSdkInited = false;		}	}	if (Btsdk_IsBluetoothReady() != BTSDK_TRUE)	{		Btsdk_StopBluetooth();		printf("Starting bluetooth ...\n");		if (Btsdk_StartBluetooth() == BTSDK_OK)			Btsdk_SetLocalClassDevice(BTSDK_COMPCLS_DESKTOP);		else		{			printf("Btsdk_StartBluetooth failed\n");			btSdkInited = false;		}	}	if (btSdkInited)		RegAppIndHandle();	Btsdk_SetSecurityMode(BTSDK_SECURITY_LOW);	Btsdk_SetDiscoveryMode(BTSDK_DISCOVERABLE | BTSDK_PAIRABLE | BTSDK_CONNECTABLE);	return btSdkInited;}void DestroyBtSdk(){	UnRegAppIndHandle();	if (Btsdk_IsSDKInitialized() == BTSDK_TRUE)		Btsdk_Done();}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -