freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

藍(lán)牙技術(shù)研究論文小編整理-資料下載頁

2025-04-28 21:24本頁面
  

【正文】 ice,connect,pairing,bond 等 4個主要部分。 1)廣播:廣播包可以包含廣播數(shù)據(jù),廣播包可以無指定或者對指定的設(shè)備發(fā)送。可以聲明該器件是可連接的還是不可連接的。在一次廣播中,廣播包可以在三個廣播通道中同時發(fā)送。 廣播類型: 1 未指定可連接 2 指定可連接 3 未指定不可見 4 未指定不可連接 defineGAP_ADTYPE_ADV_IND 0x00//!pfnSimpleProfileChange) { simpleProfile_AppCBspfnSimpleProfileChange(notifyApp)。 }注意函數(shù)指針的用法,實際是在接收到主機(jī)數(shù)據(jù)發(fā)過來的數(shù)據(jù)后調(diào)用 simpleProfileChangeCB 函數(shù)來處理接收到的數(shù)據(jù)。這個函數(shù)在初始化時注冊,下面會講到。作為 GATT 的 server 和 client,主要通過 Attribute 來進(jìn)行交互,當(dāng) client 請求 server 讀取數(shù)據(jù)時,通過如下注冊的回調(diào)函數(shù)來進(jìn)行訪問。 //RegistercallbackwithSimpleGATTprofile VOIDSimpleProfile_RegisterAppCBs(amp。simpleBLEPeripheral_SimpleProfileCBs)。//給應(yīng)用注冊回調(diào)函數(shù),這個函數(shù)非常重要在回調(diào)函數(shù)中對數(shù)據(jù)做出處理。 staticsimpleProfileCBs_tsimpleBLEPeripheral_SimpleProfileCBs={ simpleProfileChangeCB //Charactersiticvaluechangecallback}。 在 SimpleProfile_RegisterAppCBs 函 數(shù) 中 賦 值 。simpleProfile_AppCBs=simpleProfileChangeCB 在 simpleProfileChangeCB 函數(shù)中可以啟動定時器來給主機(jī)發(fā)送Notification 數(shù)據(jù) 發(fā) 送 數(shù) 據(jù) 函 數(shù) 為GATT_Notification(noti_cHandle,amp。pReport,FALSE)。 如下: {staticattHandleValueNoti_tpReport。// 聲明attHandleValueNoti_t 這個結(jié)構(gòu)體 uint16noti_cHandle。//存放 handle =simpleProfileAttrTbl[11].handle。// 讀取notification 對應(yīng)的 handle GAPRole_GetParameter(0x30E,amp。noti_cHandle)。// 獲取ConnectionHandle =1。//數(shù)據(jù)長度 [0]=0x03。//賦值 GATT_Notification(noti_cHandle,amp。pReport,FALSE)。} 主機(jī)使能 Notification: 這個 handle 應(yīng)該是相應(yīng)的 characteristicvalue 的 handle 的后面一個 ,就是 characteristicvalue 的 handle加 1. 例子 :{attWriteReq_twriteReq。=。=2。wr[0]=LO_UINT16(GATT_CLIENT_CFG_NOTIFY)。 這 里 是[1]=HI_UINT16(GATT_CLIENT_CFG_NOTIFY)。 這 里 是=0。=0。GATT_WriteCharValue(simpleBLEConnHandle,amp。writeReq,simpleBLETaskId)。} 這兩個值目的是打開 Notification功能 .CCC的參數(shù)有兩個 ,一個Notification, 一個 [0] 就 是 打 開 關(guān) 閉notification,value[1]是打開關(guān)閉 indication. 主機(jī)數(shù)據(jù)處理: 這 個 文 件 , 里 面 有 個 函數(shù) :simpleBLECentralProcessGATTMsg()這個函數(shù)就是處理各種從peripheral 過來的數(shù)據(jù) . 但是在示例代碼中并沒有加入通知 ,就是 notification 的接收 ,所 以 你 得 自 己 添 加 代 碼 . 很 簡 單 , 類似if((pMsgmethod==ATT_READ_RSP)||........), 添加elseif((pMsgmethod==ATT_HANDLE_VALUE_NOTI)||......) 就可以處理從機(jī) Notification 的數(shù)據(jù)。 value被寫的時候首先 simpleProfile_WriteAttrCB()會被調(diào)到 . 最后才會調(diào)用 simpleProfileChangeCB() GAP 通過在啟動設(shè)備事件的任務(wù)處理中啟動設(shè)備,其實主要是向GAP中注冊回調(diào)函數(shù),讓系統(tǒng)在發(fā)現(xiàn)自身運行狀態(tài)變化時,調(diào)用該函數(shù),方便應(yīng)用層進(jìn)行相關(guān)操作。 if(eventsamp。SBP_START_DEVICE_EVT) { //StarttheDeviceVOIDGAPRole_StartDevice(amp。simpleBLEPeripheral_PeripheralCBs)。//啟動設(shè)備,注冊回調(diào)函數(shù),用于監(jiān)督設(shè)備的狀態(tài)變化 :廣播、連接、配對、綁定等。 //StartBondManagerVOIDGAPBondMgr_Register(amp。simpleBLEPeripheral_BondMgrCBs)。}simpleBLEPeripheral_PeripheralCBs 函數(shù)定義如下 staticgapRolesCBs_tsimpleBLEPeripheral_PeripheralCBs={ peripheralStateNotificationCB,//ProfileStateChangeCallbacks NULL //WhenavalidRSSIisreadfromcontroller(notusedbyapplication)}。staticvoidperipheralStateNotificationCB(gaprole_States_tnewState)//傳入?yún)?數(shù)由 GPA 自己輸入,內(nèi)部調(diào)用回調(diào)函數(shù)給用戶,處理連接狀態(tài)的改變 simpleBLEPeripheral_BondMgrCBs 函數(shù)定義如下:staticgapBondCBs_tsimpleBLEPeripheral_BondMgrCBs={ ProcessPasscodeCB, //生成配對密碼,發(fā)送給主機(jī) ProcessPairStateCB //主機(jī)密碼的校驗處理。配對狀態(tài)管理 }。 一、修改廣播功率 {defineLL_EXT_TX_POWER_MINUS_23_DBM 0//23dbm功率最小 defineLL_EXT_TX_POWER_MINUS_6_DBM 1//6dbm defineLL_EXT_TX_POWER_0_DBM 2//0dbm defineLL_EXT_TX_POWER_4_DBM 3//+dbm功率最大 HCI_EXT_SetTxPowerCmd(gTxPower)。 更新廣播內(nèi)容 GAP_UpdateAdvertisingData(simpleBLEPeripheral_TaskID,TRUE,sizeof(advertData_Ex),advertData_Ex)。} 二 、 數(shù) 據(jù) 加 密 解 密{uint8key[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}。 //需要加密的數(shù)據(jù) uint8plaintextData[16]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}。 //加密后數(shù)據(jù)存放區(qū) uint8encryptedData[16]。 //解密后數(shù)據(jù)存放區(qū) uint8deccryptedData[16]。 //開始加密 LL_Encrypt(key,plaintextData,encryptedData)。 //開始解密 LL_EXT_Decrypt(key,encryptedData,deccryptedData)。} 三 、 設(shè) 置 從 機(jī) 廣 播 時 間 1 )、 廣 播 模 式 必 須 是LimitedDiscoverablemode 在 advertData 中加 入此 ADstring :0x02,GAP_ADTYPE_FLAGS,GAP_ADTYPE_FLAGS_LIMITED|GAP_ADTYPE_FLAGS_BREDR_NOT_SUPPORTED2)、設(shè)置時間 //Maximumtimetoremainadvertising,wheninLimitedDiscoverablemodefineUSER_DEF_ADV_TIMEOUT 30GAP_SetParamValue(TGAP_LIM_ADV_TIMEOUT,USER_DEF_ADV_TIMEOUT)。 第五篇:藍(lán)牙通信原理 藍(lán)牙耳機(jī)的工作原理: 關(guān)于音頻流的藍(lán)牙傳輸可以通過兩個方式: 1)通過 PCM接口來傳送 2)通過模擬 UART來傳送 下面分別來講述: 1)通過 PCM接口來傳送 通過音頻播放器( eg:MediaPlayer)來打開音頻文件,調(diào)用 Audio驅(qū)動,音頻文件通過解碼后,由 PCM 輸出到 Host 端藍(lán)牙模塊的 PCM 輸入端,接著,經(jīng)過藍(lán)牙模塊的處理后,由 RF 無線模塊發(fā)送給 Client端藍(lán)牙設(shè)備。 Client 端藍(lán)牙設(shè)備經(jīng)由無線接收模塊后,濾波,穩(wěn)壓,經(jīng)微處理芯片處理后,直接由 Speaker播放。 2)通過模擬 UART來傳送 通過設(shè)置注冊表【 HKEY_LOCAL_MACHINE\Services\BTAGSVC】IsEnabled= 1使得系統(tǒng)引導(dǎo)時自動加載語音網(wǎng)關(guān)( AG)服務(wù)。 首先,通過手動配置建立 Host 端藍(lán)牙設(shè)備與 Client 端藍(lán)牙設(shè)備ACL 鏈接(面向無連接的異步鏈路),接著在 Applicaiton 或AudioDriver 中調(diào)用 IOCTL_AG_OPEN_AUDIO,重新建立 Host端藍(lán)牙設(shè)備與 Client 端藍(lán)牙設(shè)備 SCO鏈接(面向連接的同步鏈路),接著 AG 自動發(fā)送 waveOutMessage((HWAVEOUT)i,WODM_BT_SCO_AUDIO_CONTROL,0,TRUE)。從而建立了 Audio 至藍(lán)牙芯片之間的通道,也即,實現(xiàn)了音頻流到藍(lán)牙模塊的傳送。 然后,經(jīng)由主機(jī)端藍(lán)牙模塊將音頻流打包經(jīng)由 RF 模塊發(fā)送出去。 客戶端藍(lán)牙耳機(jī)接收到無線音頻包后,濾波,穩(wěn)壓,經(jīng)微處理芯片處理后,由 PCM 傳送給音頻編解碼器芯片,最后,由 Speaker 播放。
點擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1