日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

低功耗蓝牙BLE之连接事件、连接参数和更新方法

發(fā)布時(shí)間:2024/8/26 综合教程 119 生活家
生活随笔 收集整理的這篇文章主要介紹了 低功耗蓝牙BLE之连接事件、连接参数和更新方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)自:http://blog.csdn.net/zzfenglin/article/details/51304084

連接事件

在一個(gè)連接當(dāng)中,主設(shè)備會(huì)在每個(gè)連接事件里向從設(shè)備發(fā)送數(shù)據(jù)包。一個(gè)連接事件是指主設(shè)備和從設(shè)備之間相互發(fā)送數(shù)據(jù)包的過(guò)程。連接事件的進(jìn)行始終位于一個(gè)頻率,每個(gè)數(shù)據(jù)包會(huì)在上個(gè)數(shù)據(jù)包發(fā)完之后等待150μs再發(fā)送。

連接間隔決定了主設(shè)備與從設(shè)備的交互間隔;它是指兩個(gè)連續(xù)的連接事件開始處的時(shí)間距離,可以是7.5ms ~ 4s內(nèi)的任意值,但必須為1.25ms的整數(shù)倍。要確定從設(shè)備與主設(shè)備的實(shí)際交互間隔,需要用到從設(shè)備延遲這一參數(shù),代表從設(shè)備在必須偵聽(tīng)之前可以忽略多少個(gè)連接事件。

如下圖所示,連接事件被一個(gè)個(gè)的連接間隔分開。從主設(shè)備發(fā)送數(shù)據(jù)包開始,每個(gè)連接事件可以持續(xù)進(jìn)行,直至主設(shè)備或從設(shè)備停止響應(yīng)。在連接事件之外,主從設(shè)備之間不發(fā)送任何數(shù)據(jù)包。

舉個(gè)例子,如果連接間隔為100ms,從設(shè)備延遲是9,那么從設(shè)備可以忽略9個(gè)鏈接事件,但不得不偵聽(tīng)第10個(gè)連接事件。換言之,從設(shè)備必須每秒偵聽(tīng)一次,而此時(shí)監(jiān)控超時(shí)的最小值應(yīng)為1010ms。反過(guò)來(lái),另一個(gè)極端的例子是,如果監(jiān)控超時(shí)使用了32s的最大值,對(duì)于間隔為100ms的鏈路,從設(shè)備延時(shí)必須小于等于319。

雖然如此,如果將從設(shè)備延遲設(shè)為可行的最大值,在監(jiān)控超時(shí)發(fā)生前從設(shè)備只能獲得唯一一次偵聽(tīng)主設(shè)備的機(jī)會(huì),這可不是一個(gè)好主意。因此,建議至少給從設(shè)備留出6次偵聽(tīng)的機(jī)會(huì)。在前面的例子中,如果連接間隔為100ms,從設(shè)備延遲為9,那么監(jiān)控超時(shí)應(yīng)該至少為6s,這樣一來(lái),鏈路在最終斷開前從設(shè)備至少會(huì)有6次偵聽(tīng)的機(jī)會(huì)。

連接參數(shù)介紹

主設(shè)備和從設(shè)備建立連接之后,所有的數(shù)據(jù)通信都是在連接事件(ConnectionEvents)中進(jìn)行的。

尖刺的波就是連接事件(Connectionevents),剩下的Sleeping是睡眠時(shí)間,設(shè)備在建立連接之后的大多數(shù)時(shí)間都是處于Sleeping,這種情況下耗電量比較低,而在連接事件(Connectionevents)中,耗電量就相對(duì)高很多,這也是BLE為什么省電的原因之一。

每個(gè)連接事件(Connectionevents)中,都需要由Master發(fā)起包,再由Slave回復(fù)。

Master即主機(jī),簡(jiǎn)稱M;Slave即從機(jī),簡(jiǎn)稱S。抓包過(guò)程中看到的M->S或者S->M即主機(jī)到從機(jī)或者從機(jī)到主機(jī)。

連接參數(shù) (ConnectionParameters):

通過(guò)修改下面三個(gè)參數(shù),就可以設(shè)置BLE連接過(guò)程中的傳輸速度和功耗。

1.ConnectionInterval(連接間隔)

ConnectionInterval(GAPROLE_MIN_CONN_INTERVAL&&GAPROLE_MAX_CONN_INTERVAL)連接間隔,在BLE的兩個(gè)設(shè)備的連接中使用跳頻機(jī)制。兩個(gè)設(shè)備使用特定的信道發(fā)送和接收數(shù)據(jù),然后過(guò)一段時(shí)間后再使用新的信道(BLE協(xié)議棧的鏈路層處理信道的切換)。兩個(gè)設(shè)備在切換信道后發(fā)送和接收數(shù)據(jù)稱為一個(gè)連接事件。盡管沒(méi)有應(yīng)用數(shù)據(jù)被發(fā)送和接收,兩個(gè)設(shè)備仍舊會(huì)交換鏈路層數(shù)據(jù)(空包 EmptyPDU)來(lái)維持連接。

這個(gè)連接間隔就是指在一個(gè)連接事件(Connectionevents)的開始到下一個(gè)連接事件(Connectionevents)的開始的時(shí)間間隔。連接間隔以1.25ms為單元,連接間隔的范圍是6~3200既7.5ms~4s之間。

2.SlaveLatency(從設(shè)備延遲或者從設(shè)備時(shí)延)

允許Slave(從設(shè)備)在沒(méi)有數(shù)據(jù)要發(fā)的情況下,跳過(guò)一定數(shù)目的連接事件(Connectionevents),在這些連接事件(Connectionevents)中不必回復(fù)Master(主設(shè)備)的包,這樣就能更加省電。

范圍可以是0 ~ 499

更詳細(xì)的使用解析如下:

SlaveLatency=OFF也就是SlaveLatency為0時(shí),Master發(fā)包,Slave必須回復(fù),如果不回復(fù),Master就會(huì)認(rèn)為Slave那邊接收不正常。

SlaveLatency=ON也就是SlaveLatency不為0的時(shí)候,圖中SlaveLatency為3。Master發(fā)包,Slave沒(méi)有數(shù)據(jù)要回復(fù)的時(shí)候,就會(huì)忽略3個(gè)連接事件,在第4個(gè)連接事件接收到Master發(fā)送的數(shù)據(jù)之后,回復(fù)Master。如果Slave有數(shù)據(jù)要發(fā)送就會(huì)喚醒,也就是說(shuō)即使SlaveLatency為3,但是在Master發(fā)第二包的時(shí)候Slave有數(shù)據(jù)要回復(fù),這個(gè)時(shí)候就會(huì)立即回復(fù)Master而不是等到3個(gè)連接事件之后的第4個(gè)連接事件去回復(fù)。

3.SupervisionTimeout(超時(shí)時(shí)間或者監(jiān)控超時(shí))

這個(gè)參數(shù)設(shè)定了一個(gè)超時(shí)時(shí)間,如果BLE在這個(gè)時(shí)間內(nèi)沒(méi)有發(fā)生通信的話,就會(huì)自動(dòng)斷開。

單位是10ms,該變量的范圍是10 ~ 3200,折算成時(shí)間范圍是100ms ~ 32s。

連接間隔、從機(jī)時(shí)延以及超時(shí)時(shí)間這三者必須滿足如下公式:

SupervisionTimeout >(1+slaveLatency)*(connectionInterval)

上述公式必須滿足,否則連接就會(huì)不正常斷開。

這三個(gè)連接參數(shù)不同情況下對(duì)通信速率和功耗的影響:

1.ConnectionInterval縮短,Master和Slave通信更加頻繁,提高數(shù)據(jù)吞吐速度,縮短了數(shù)據(jù)發(fā)送的時(shí)間,當(dāng)然也增加了功耗。

2.ConnectionInterval增長(zhǎng),通信頻率降低,數(shù)據(jù)吞吐速度降低,增加了數(shù)據(jù)發(fā)送的時(shí)間,當(dāng)然,這種設(shè)置降低了功耗。

3.SlaveLatency減少或者設(shè)置為0,每次ConnectionEvents中都需要回復(fù)Master的包,功耗會(huì)上升,數(shù)據(jù)發(fā)送速度會(huì)提高。

4.SlaveLatency加長(zhǎng),功耗下降,數(shù)據(jù)發(fā)送速度降低。

連接參數(shù)更新規(guī)程

連接建立時(shí),主設(shè)備通過(guò)鏈接請(qǐng)求數(shù)據(jù)包發(fā)送連接參數(shù)。當(dāng)連接活躍了一段時(shí)間,連接參數(shù)也許不再適用于當(dāng)前使用的服務(wù)。出于提高效率的目的,連接參數(shù)需要進(jìn)行更新。較之首先斷開連接、接著更換新參數(shù)重新連接,還有一種在鏈路中更新參數(shù)更為簡(jiǎn)單的途徑,如下圖所示:

為此,主設(shè)備向從設(shè)備發(fā)送連接更新請(qǐng)求,即LL_CONNECTION_UPDATE_REQ,當(dāng)中攜帶了新的參數(shù)。這些參數(shù)不必進(jìn)行協(xié)商,從設(shè)備或者接受和使用它們,或者斷開鏈路。連接更新請(qǐng)求中包含了早先創(chuàng)建連接時(shí)用過(guò)的一部分參數(shù),還有一個(gè)稱為瞬時(shí)(instant)的新參數(shù):

1.傳輸窗口大小

2.傳輸窗口偏移量

3.連接間隔

4.從設(shè)備延遲

5.監(jiān)控超時(shí)

6.瞬時(shí)

瞬時(shí)參數(shù)決定了連接更新的開始時(shí)刻。發(fā)送消息時(shí),主設(shè)備為連接更新選定一個(gè)未來(lái)的時(shí)間點(diǎn),并且放在消息中。接到消息后,從設(shè)備會(huì)記住這個(gè)未來(lái)的時(shí)刻,屆時(shí)再切換至新的連接參數(shù)。這有助于解決無(wú)線系統(tǒng)里的一個(gè)最大問(wèn)題----報(bào)文重傳。只要數(shù)據(jù)包的重傳次數(shù)足夠,并最終在瞬時(shí)之前傳輸成功,上述過(guò)程執(zhí)行起來(lái)就不會(huì)有問(wèn)題。但是,如果該數(shù)據(jù)包屆時(shí)沒(méi)能完成傳輸,鏈路就有可能丟失。

由于低功耗藍(lán)牙沒(méi)有時(shí)鐘,要決定瞬時(shí)時(shí)刻只有依靠計(jì)算連接事件的個(gè)數(shù)。因此,每一個(gè)連接事件都會(huì)被計(jì)數(shù),鏈路上的第一個(gè)連接事件,也就是在連接請(qǐng)求之后的位于首個(gè)傳輸窗口里的連接事件記為0。因此,瞬時(shí)實(shí)際上是一個(gè)連接事件的計(jì)數(shù)器,相應(yīng)的連接事件到來(lái)時(shí)就使用新的參數(shù)。為了讓從設(shè)備收到數(shù)據(jù)包,主設(shè)備必須為其提供足夠的機(jī)會(huì)。不過(guò)從設(shè)備延遲是多少,都應(yīng)該至少保證 6 次數(shù)據(jù)發(fā)送機(jī)會(huì)。也就是說(shuō),如果從設(shè)備延遲為500ms,那么瞬時(shí)通常被設(shè)定在3s之后的某個(gè)未來(lái)時(shí)刻。

瞬時(shí)到來(lái)時(shí),從設(shè)備開始偵聽(tīng)發(fā)送窗口,就好像連接建立的過(guò)程那樣。主設(shè)備能夠調(diào)整從設(shè)備的計(jì)時(shí),總體而言不超過(guò)1.25ms。不過(guò),由于主設(shè)備可能還是一個(gè)經(jīng)典藍(lán)牙設(shè)備,上述調(diào)整使其得以協(xié)調(diào)低功耗藍(lán)牙從設(shè)備,從而更好地完成調(diào)度。一旦該過(guò)程結(jié)束,新的連接間隔、監(jiān)控超時(shí)、從設(shè)備延遲值將投入使用。

連接參數(shù)的修改

“連接參數(shù)更新請(qǐng)求”命令可以讓從設(shè)備更新鏈路層的連接參數(shù),如下圖所示。這些參數(shù)包括連接間隔(從設(shè)備希望主設(shè)備允許從設(shè)備發(fā)送數(shù)據(jù)包的頻率)、從設(shè)備延遲(從設(shè)備能夠忽略主設(shè)備的連接事件的最大值)以及監(jiān)控超時(shí)。

在連接中,如果從設(shè)備希望修改當(dāng)前的連接參數(shù)則可以使用該命令。比方說(shuō),如果連接事件的間隔有可能太快了,導(dǎo)致過(guò)多的電量浪費(fèi)。這在從設(shè)備時(shí)延很大時(shí)沒(méi)有問(wèn)題,但如果不是這樣,從設(shè)備將會(huì)頻繁的偵聽(tīng)鏈路。這在一些情況下是必要的,例如設(shè)備間首次綁定、互發(fā)多個(gè)數(shù)據(jù)包、探索服務(wù)和設(shè)備特性等。但在很多其他情況下,盡可能地減少?gòu)脑O(shè)備必須偵聽(tīng)連接事件的數(shù)量對(duì)提高電池壽命至關(guān)重要。

連接參數(shù)更新請(qǐng)求命令僅用于從設(shè)備向主設(shè)備發(fā)送,這是由于主設(shè)備隨時(shí)都能啟動(dòng)鏈路層連接參數(shù)更新控制(ConnectionParameterUpdateControl)規(guī)程。如果該命令由主設(shè)備發(fā)送,從設(shè)備會(huì)將其視為一個(gè)錯(cuò)誤,并返回帶有“命令不理解”原因代碼的“命令拒絕”命令。

從設(shè)備可以在任何時(shí)候發(fā)送該命令;收到該信息的主設(shè)備如果可以修改連接參數(shù),則將返回“連接參數(shù)更新響應(yīng)”(ConnectionParameterUpdateResponse),其中的結(jié)果代碼設(shè)為“接受(accepted)”。隨后,主設(shè)備將會(huì)啟動(dòng)鏈路層連接參數(shù)更新控制規(guī)程。

當(dāng)然,如果主設(shè)備不同意從設(shè)備的請(qǐng)求參數(shù),它可以發(fā)送結(jié)果代碼為“拒絕(rejected)”的連接參數(shù)更新響應(yīng)命令以拒絕請(qǐng)求。此時(shí)從設(shè)備有兩個(gè)選擇:要么接受主設(shè)備希望的正在使用的連接參數(shù),要么終止連接。終止連接的做法咋看起來(lái)可能讓人覺(jué)得很激進(jìn),但是,假如使用當(dāng)前的參數(shù)從設(shè)備將會(huì)在一周內(nèi)耗盡電量,而使用請(qǐng)求的參數(shù)則可以持續(xù)數(shù)年,很明顯,合理的選擇只有一個(gè)。

修改連接參數(shù)時(shí),如果要減少主設(shè)備拒絕從設(shè)備請(qǐng)求的可能性,可以在請(qǐng)求里設(shè)置一個(gè)可接受的參數(shù)范圍。經(jīng)過(guò)精心設(shè)計(jì)的從設(shè)備會(huì)樂(lè)意接受很寬的參數(shù)范圍。由于主設(shè)備可能正忙于實(shí)時(shí)會(huì)話音頻連接或者高質(zhì)量語(yǔ)音連接等任務(wù),它可以接受一定范圍內(nèi)的連接間隔參數(shù)。設(shè)備可接受的間隔參數(shù)會(huì)根據(jù)當(dāng)前任務(wù)的不同而不同,可能有別于上一次設(shè)備連接時(shí)的參數(shù)。

要提高主設(shè)備接受連接參數(shù)的機(jī)率,還有個(gè)方法是從設(shè)備提供一個(gè)合理的從設(shè)備延遲。主設(shè)備可以選擇最合適的連接事件間隔,從設(shè)備則使用最佳功耗的從設(shè)備延遲參數(shù)。

舉個(gè)例子,如果從設(shè)備想每600ms同步一次,它可以請(qǐng)求范圍100ms ~ 750ms的連接間隔參數(shù),并帶上從設(shè)備延遲5。如果主設(shè)備選擇100ms,則從設(shè)備每6個(gè)連接事件同步一次;如果主設(shè)備選擇200ms,則從設(shè)備每3個(gè)連接事件同步一次,實(shí)現(xiàn)其所期望的600ms間隔;如果主設(shè)備選擇300ms,則從設(shè)備忽略每隔一個(gè)連接事件同步一次;如果主設(shè)備選擇400ms,則從設(shè)備每400ms同步一次。

下面介紹一下在TI的CC2540和CC2541中,連接參數(shù)修改的方法。

(一)連接成功建立之后從設(shè)備自動(dòng)申請(qǐng)修改連接參數(shù)。

我們以TI 1.4.0協(xié)議棧中的“simpleBLEPeripheral”工程為例來(lái)進(jìn)行講解,在這個(gè)工程的“ProjectsleSimpleBLEPeripheralSourcesimpleBLEPeripheral.c”應(yīng)用文件中定義了如下的宏:

[cpp]view plaincopy

//Whethertoenableautomaticparameterupdaterequestwhenaconnectionisformed
#defineDEFAULT_ENABLE_UPDATE_REQUESTTRUE

從上面的注釋中,我們可以看出這個(gè)宏的作用是當(dāng)一個(gè)連接建立的時(shí)候,是否需要自動(dòng)申請(qǐng)連接參數(shù)更新。當(dāng)設(shè)置為“TRUE”的時(shí)候就是需要,當(dāng)設(shè)置為“FALSE”的時(shí)候就是不需要。那這個(gè)宏到底是如何起作用的呢?下面我們來(lái)看一下。

1.“ProjectsleSimpleBLEPeripheralSourcesimpleBLEPeripheral.c”應(yīng)用文件中的“SimpleBLEPeripheral_Init”初始化方法里對(duì)該宏進(jìn)行了處理,源碼如下:

[cpp]view plaincopy

uint8enable_update_request=DEFAULT_ENABLE_UPDATE_REQUEST;
GAPRole_SetParameter(GAPROLE_PARAM_UPDATE_ENABLE,sizeof(uint8),&enable_update_request);

2.我們看下“GAPRole_SetParameter”方法里面的相關(guān)的操作,相關(guān)操作在“ProjectsleProfilesRolesperipheral.c”文件里,源碼如下:

[cpp]view plaincopy

caseGAPROLE_PARAM_UPDATE_ENABLE:
if((len==sizeof(uint8))&&(*((uint8*)pValue)<=TRUE))
{
gapRole_ParamUpdateEnable=*((uint8*)pValue);
}
else
{
ret=bleInvalidRange;
}
break;

3.從上面的代碼不難看出,將我們?cè)O(shè)置的宏賦給了“gapRole_ParamUpdateEnable”全局變量,下面我們?cè)诒疚募兴阉饕幌略撊肿兞渴褂玫牡胤剑l(fā)現(xiàn)在如下源碼中用到了:

[cpp]view plaincopy

//連接成功建立之后底層返回的事件
caseGAP_LINK_ESTABLISHED_EVENT:
{
gapEstLinkReqEvent_t*pPkt=(gapEstLinkReqEvent_t*)pMsg;

if(pPkt->hdr.status==SUCCESS)
{
VOIDosal_memcpy(gapRole_ConnectedDevAddr,pPkt->devAddr,B_ADDR_LEN);
gapRole_ConnectionHandle=pPkt->connectionHandle;
gapRole_state=GAPROLE_CONNECTED;

if(gapRole_RSSIReadRate)
{
//StarttheRSSIReads
VOIDosal_start_timerEx(gapRole_TaskID,RSSI_READ_EVT,gapRole_RSSIReadRate);
}

//Storeconnectioninformation
//保存連接剛建立時(shí)的連接參數(shù)
gapRole_ConnInterval=pPkt->connInterval;
gapRole_ConnSlaveLatency=pPkt->connLatency;
gapRole_ConnTimeout=pPkt->connTimeout;

//Checkwhetherupdateparameterrequestisenabled
//檢測(cè)更新連接參數(shù)請(qǐng)求是否被使能
if(gapRole_ParamUpdateEnable==TRUE)
{
//Gettheminimumtimeuponconnectionestablishmentbeforethe
//peripheralcanstartaconnectionupdateprocedure.
//獲取設(shè)置的時(shí)間間隔,從機(jī)將在連接建立之后
//延時(shí)至少該時(shí)間間隔之后觸發(fā)連接參數(shù)更新事
//件。
uint16timeout=GAP_GetParamValue(TGAP_CONN_PAUSE_PERIPHERAL);

//在延時(shí)timeout*1000ms之后觸發(fā)連接參數(shù)更新事件
osal_start_timerEx(gapRole_TaskID,START_CONN_UPDATE_EVT,timeout*1000);
}

4.上面的注釋非常清楚了,在連接成功建立返回的事件中判斷我們?cè)O(shè)置的宏,如果設(shè)置為“TRUE”,那就獲取我們?cè)O(shè)置的時(shí)間間隔,在延時(shí)我們?cè)O(shè)置的時(shí)間間隔(上面注釋中提到至少,因?yàn)橛玫氖窍到y(tǒng)定時(shí)器,有可能在執(zhí)行別的事件,所以實(shí)際的延時(shí)時(shí)間會(huì)大于我們?cè)O(shè)置的時(shí)間,當(dāng)然,一般情況下偏移的那點(diǎn)時(shí)間是可以忽略的)之后,觸發(fā)連接參數(shù)更新事件,進(jìn)行連接參數(shù)的更新。那上面源碼中獲取的時(shí)間間隔以及后面要更新的連接參數(shù)是在什么地方設(shè)置的呢?下面我們繼續(xù)回到應(yīng)用層文件中查看相關(guān)設(shè)置。

5.在“ProjectsleSimpleBLEPeripheralSourcesimpleBLEPeripheral.c”文件中定義了如下宏用來(lái)設(shè)置自動(dòng)更新連接參數(shù)時(shí),相關(guān)連接參數(shù)的值,源碼如下:

[cpp]view plaincopy

//Minimumconnectioninterval(unitsof1.25ms,80=100ms)ifautomaticparameterupdaterequestisenabled
//如果自動(dòng)更新連接參數(shù)請(qǐng)求被使能的話,用到的最小連接間隔,單位1.25ms
#defineDEFAULT_DESIRED_MIN_CONN_INTERVAL80

//Maximumconnectioninterval(unitsof1.25ms,800=1000ms)ifautomaticparameterupdaterequestisenabled
//如果自動(dòng)更新連接參數(shù)請(qǐng)求被使能的話,用到的最大連接間隔,單位1.25ms
#defineDEFAULT_DESIRED_MAX_CONN_INTERVAL800

//Slavelatencytouseifautomaticparameterupdaterequestisenabled
//如果自動(dòng)更新連接參數(shù)請(qǐng)求被使能的話,用到的從機(jī)時(shí)延
#defineDEFAULT_DESIRED_SLAVE_LATENCY0

//Supervisiontimeoutvalue(unitsof10ms,1000=10s)ifautomaticparameterupdaterequestisenabled
//如果自動(dòng)更新連接參數(shù)請(qǐng)求被使能的話,用到的超時(shí)時(shí)間,單位10ms
#defineDEFAULT_DESIRED_CONN_TIMEOUT1000

//ConnectionPausePeripheraltimevalue(inseconds)
//如果自動(dòng)更新連接參數(shù)請(qǐng)求被使能的話,用到的時(shí)間間隔,單位s
#defineDEFAULT_CONN_PAUSE_PERIPHERAL6

6.通過(guò)上述宏進(jìn)行相應(yīng)設(shè)置的地方在“ProjectsleSimpleBLEPeripheralSourcesimpleBLEPeripheral.c”文件的“SimpleBLEPeripheral_Init”初始化方法中,源碼如下:

[cpp]view plaincopy

VOIDGAP_SetParamValue(TGAP_CONN_PAUSE_PERIPHERAL,DEFAULT_CONN_PAUSE_PERIPHERAL);

uint16desired_min_interval=DEFAULT_DESIRED_MIN_CONN_INTERVAL;
uint16desired_max_interval=DEFAULT_DESIRED_MAX_CONN_INTERVAL;
uint16desired_slave_latency=DEFAULT_DESIRED_SLAVE_LATENCY;
uint16desired_conn_timeout=DEFAULT_DESIRED_CONN_TIMEOUT;

GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL,sizeof(uint16),&desired_min_interval);
GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL,sizeof(uint16),&desired_max_interval);
GAPRole_SetParameter(GAPROLE_SLAVE_LATENCY,sizeof(uint16),&desired_slave_latency);
GAPRole_SetParameter(GAPROLE_TIMEOUT_MULTIPLIER,sizeof(uint16),&desired_conn_timeout);

上述操作在“ProjectsleProfilesRolesperipheral.c”文件里的具體實(shí)現(xiàn)我們就不一起看了,因?yàn)槔锩嫫鋵?shí)就是一個(gè)賦值的過(guò)程,所以大家自行查看即可。

(二)連接成功建立之后從設(shè)備在需要的時(shí)候去修改某個(gè)連接參數(shù)或者全部的連接參數(shù)。

1.修改單個(gè)連接參數(shù)的方法

修改最小連接間隔

[cpp]view plaincopy

uint16desired_min_interval=DEFAULT_DESIRED_MIN_CONN_INTERVAL;
GAPRole_SetParameter(GAPROLE_MIN_CONN_INTERVAL,sizeof(uint16),&desired_min_interval);

修改最大連接間隔

[cpp]view plaincopy

uint16desired_max_interval=DEFAULT_DESIRED_MAX_CONN_INTERVAL;
GAPRole_SetParameter(GAPROLE_MAX_CONN_INTERVAL,sizeof(uint16),&desired_max_interval);

修改從設(shè)備延遲

[cpp]view plaincopy

uint16desired_slave_latency=DEFAULT_DESIRED_SLAVE_LATENCY;
GAPRole_SetParameter(GAPROLE_SLAVE_LATENCY,sizeof(uint16),&desired_slave_latency);

修改超時(shí)時(shí)間

[cpp]view plaincopy

uint16desired_conn_timeout=DEFAULT_DESIRED_CONN_TIMEOUT;
GAPRole_SetParameter(GAPROLE_TIMEOUT_MULTIPLIER,sizeof(uint16),&desired_conn_timeout);

2.所有連接參數(shù)一起修改的方法

[cpp]view plaincopy

uint16minConnInterval;
uint16maxConnInterval;
uint16slaveLatency;
uint16timeoutMultiplier;

//Updateconnectionparameters
GAPRole_SendUpdateParam(minConnInterval,maxConnInterval,slaveLatency,timeoutMultiplier,GAPROLE_TERMINATE_LINK);

GAPRole_SendUpdateParam傳入的前四個(gè)參數(shù)在之前都已經(jīng)介紹過(guò)了,下面介紹下最后一個(gè)參數(shù),最后一個(gè)參數(shù)設(shè)置的是連接參數(shù)更新失敗后的操作,可取值定義在peripheral.h文件中,如下:

[cpp]view plaincopy

/**
*Possibleactionstheperipheraldevicemaytakeifanunsuccessfulparameter
*updateisreceived.
*
*ParametersforGAPRole_SendUpdateParam()only
*/

#defineGAPROLE_NO_ACTION0//Takenoactionuponunsuccessfulparameterupdates
#defineGAPROLE_RESEND_PARAM_UPDATE1//Continuetoresendrequestuntilsuccessfulupdate
#defineGAPROLE_TERMINATE_LINK2//Terminatelinkuponunsuccessfulparameterupdates

GAPROLE_NO_ACTION:沒(méi)有任何動(dòng)作

GAPROLE_RESEND_PARAM_UPDATE:重新發(fā)送參數(shù)更新請(qǐng)求

GAPROLE_TERMINATE_LINK:斷開連接

對(duì)于上述介紹的兩種修改連接參數(shù)的方法,個(gè)人建議還是采用第二種方法,因?yàn)榈谝环N方法在修改某一個(gè)參數(shù)的時(shí)候,可能會(huì)導(dǎo)致其他參數(shù)的變化,比如我們只修改了連接間隔,但從機(jī)延時(shí)可能會(huì)隨之改變,這樣我們就無(wú)法根據(jù)自己的需求控制連接參數(shù)的更新。

第二種方法在使用的時(shí)候有可能碰到一種情況,就是我們只想修改某一個(gè)或者某兩個(gè)連接參數(shù),剩下的參數(shù)想保持原有的,這樣的話,我們需要在修改連接參數(shù)之前先去讀取連接參數(shù),然后將需要修改的參數(shù)進(jìn)行重新設(shè)置即可,讀取連接參數(shù)的代碼如下:

[cpp]view plaincopy

uint16interval;
uint16latency;
uint16timeout;
GAPRole_GetParameter(GAPROLE_CONN_INTERVAL,&interval);
GAPRole_GetParameter(GAPROLE_CONN_LATENCY,&latency);
GAPRole_GetParameter(GAPROLE_CONN_TIMEOUT,&timeout);

下面我們通過(guò)一個(gè)實(shí)例來(lái)具體了解下連接參數(shù)修改的方法,需求是將連接間隔修改為25,從機(jī)延遲修改為8,超時(shí)時(shí)間不修改,更新失敗后重新發(fā)送參數(shù)更新請(qǐng)求,本實(shí)例中主設(shè)備是安卓設(shè)備,從設(shè)備是CC2541。代碼實(shí)現(xiàn)如下:

[cpp]view plaincopy

uint16interval;
uint16latency;
uint16timeout;

GAPRole_GetParameter(GAPROLE_CONN_INTERVAL,&interval);
GAPRole_GetParameter(GAPROLE_CONN_LATENCY,&latency);
GAPRole_GetParameter(GAPROLE_CONN_TIMEOUT,&timeout);

GAPRole_SendUpdateParam(25,25,8,timeout,GAPROLE_RESEND_PARAM_UPDATE);

該過(guò)程抓包顯示如下:

從抓到的包中我們看到首先是S->M,即從設(shè)備發(fā)送連接參數(shù)更新請(qǐng)求,請(qǐng)求中帶有申請(qǐng)的連接參數(shù),然后M->S,即主設(shè)備返回連接參數(shù)更新響應(yīng),Result為0,表示同意修改更新。最后M->S發(fā)送Datatype為Control的鏈路層連接參數(shù)更新控制規(guī)程,攜帶同意的連接參數(shù),這樣,新的連接參數(shù)就會(huì)投入使用。

注意修改連接參數(shù)的時(shí)候要滿足一定的要求:

1.安卓設(shè)備作主設(shè)備時(shí),連接參數(shù)滿足的要求見(jiàn)本篇博文第二節(jié)“連接參數(shù)介紹”中提到的內(nèi)容。另外實(shí)際開發(fā)過(guò)程中發(fā)現(xiàn)安卓設(shè)備作主設(shè)備時(shí)存在一個(gè)問(wèn)題,就是部分安卓設(shè)備連接BLE設(shè)備之后,只能進(jìn)行一次連接參數(shù)的修改。

2. 蘋果系統(tǒng)設(shè)備作主設(shè)備時(shí),連接參數(shù)更新的要求比較苛刻,如下:

IntervalMax*(SlaveLatency+1)≤2seconds

IntervalMin≥20ms

IntervalMin+20ms≤IntervalMax

SlaveLatency≤4

connSupervisionTimeout≤6seconds

IntervalMax*(SlaveLatency+1)*3<connSupervisionTimeout

即:

最大連接間隔時(shí)間 *(從機(jī)延遲+1)≤2s

最小連接間隔時(shí)間 ≥20ms

最小連接間隔時(shí)間 +20ms≤最大連接間隔時(shí)間

從機(jī)延遲≤4

超時(shí)時(shí)間≤6s

最大連接間隔時(shí)間 *(從機(jī)延遲+1)*3<超時(shí)時(shí)間

所以如果你的BLE從設(shè)備需要被iOS主設(shè)備連接,那你的BLE從設(shè)備的默認(rèn)申請(qǐng)的連接參數(shù)一定要滿足上述要求,并且連接過(guò)程中修改連接參數(shù)的時(shí)候也要滿足上述要求。

總結(jié)

以上是生活随笔為你收集整理的低功耗蓝牙BLE之连接事件、连接参数和更新方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

日韩免费福利 | 欧美精品视 | 国产美女免费视频 | a√天堂资源 | 天天视频色 | 国产高清视频免费观看 | 国产专区在线看 | 精品一区二区综合 | 欧美成人日韩 | 午夜电影 电影 | 中文字幕之中文字幕 | 丁香国产视频 | 亚洲精品久久久久中文字幕m男 | 午夜成人免费电影 | 国产一级视屏 | www日韩在线观看 | 亚洲精品 在线视频 | 九九热在线免费观看 | 午夜 免费 | 99色网站| 视频国产一区二区三区 | 黄色av网站在线观看免费 | 久久免费视频1 | 99热这里有 | 日韩成人av在线 | 久久手机在线视频 | 亚洲天天摸日日摸天天欢 | 久久免费福利视频 | 国产小视频在线 | 色综合咪咪久久网 | 成人综合婷婷国产精品久久免费 | 国产精品女教师 | 麻豆视频免费入口 | 在线观看视频中文字幕 | 国内精品久久久久久久久久 | 亚洲成人国产精品 | 国产情侣一区 | 亚洲最新av在线网站 | 亚洲伊人av | 韩国三级av在线 | 97狠狠操| 日本黄色免费播放 | 亚洲欧美日韩精品一区二区 | 国产亚洲人成网站在线观看 | 99九九99九九九视频精品 | 国产精品久久99精品毛片三a | 国产精品久久久久四虎 | 国产一级高清视频 | av短片在线观看 | 久久久久国产一区二区三区 | 国产精品99免视看9 国产精品毛片一区视频 | 波多野结衣综合网 | 日韩欧美一区二区在线 | av+在线播放在线播放 | 我要看黄色一级片 | 在线亚州| 精品国产精品一区二区夜夜嗨 | 国产精品久久久久久久久毛片 | 91九色在线视频 | 久久99热这里只有精品国产 | 亚洲精品在线免费观看视频 | 久久精品影片 | 午夜久久影视 | 中文字幕色播 | 久草免费电影 | a午夜在线 | 一区二区欧美在线观看 | 92中文资源在线 | 91成人免费视频 | 狠狠干美女 | 黄色片网站大全 | 91看片黄色 | 久久天天躁狠狠躁夜夜不卡公司 | 成人精品一区二区三区中文字幕 | 欧美一级片免费 | 欧产日产国产69 | 欧美成人一二区 | 久久久穴 | 美女国产 | 久久久久久久久影视 | 99在线视频观看 | 五月婷丁香网 | 久久不卡免费视频 | 成人精品久久 | 国产韩国日本高清视频 | 欧美巨大 | 久久久午夜精品理论片中文字幕 | 波多野结衣精品视频 | 午夜精品久久久久久中宇69 | 天天爱天天操天天干 | 综合婷婷久久 | 亚洲一区二区天堂 | 国产精品露脸在线 | 中文字幕免费高清av | 最近中文字幕高清字幕在线视频 | 日韩免费在线观看视频 | 天天操月月操 | 91免费观看视频在线 | 在线免费观看国产 | 国产九色在线播放九色 | 狠狠狠的干| 日韩在线观看视频免费 | 国产精品免费视频观看 | 亚洲一级片在线观看 | 人人舔人人爱 | 国产99久| 在线观看免费av网 | 麻豆综合网 | 国产日韩精品视频 | 在线观看第一页 | 久草在线观 | 91中文在线视频 | 日本夜夜草视频网站 | 狠狠色丁香久久婷婷综合五月 | 福利网在线 | 国产在线播放一区 | 久久久久亚洲精品国产 | 婷婷伊人综合 | 精品视频不卡 | 色综合久久88| 亚洲蜜桃在线 | 国产成人三级在线播放 | 免费在线看成人av | 国内精品在线观看视频 | 天堂av在线 | 日韩婷婷 | 国内精品久久久久国产 | 免费黄色一区 | 国产黄色免费在线观看 | 日韩电影精品一区 | 99国产成+人+综合+亚洲 欧美 | 91精品久久久久久久久久入口 | 日本一区二区三区免费观看 | 一级黄色片网站 | 午夜三级在线 | 日韩大片在线看 | 色久综合| 2024国产精品视频 | 日韩精品中文字幕在线播放 | 亚洲欧美日韩一区二区三区在线观看 | 亚洲自拍偷拍色图 | 精品国产精品久久 | 日韩va亚洲va欧美va久久 | 超薄丝袜一二三区 | 天天干,天天射,天天操,天天摸 | 成 人 黄 色 免费播放 | 国产中文字幕在线 | 激情电影影院 | 日韩精品久久久久久中文字幕8 | 欧美激情视频一区二区三区免费 | 97精品国产91久久久久久久 | 日本女人的性生活视频 | 欧美成人一二区 | 精品a视频| 亚洲自拍偷拍色图 | 国偷自产中文字幕亚洲手机在线 | 97超碰人人爱 | 91欧美精品 | 91精品免费视频 | 视频三区在线 | 亚洲免费视频观看 | 精品欧美乱码久久久久久 | 亚洲国产欧洲综合997久久, | 欧美性生活一级片 | 怡红院久久| 在线观看国产福利片 | 免费看污污视频的网站 | 亚洲欧美日韩一区二区三区在线观看 | 国产无吗一区二区三区在线欢 | 久久免费中文视频 | 91亚洲精品视频 | 中文字幕av在线不卡 | 天天操操操操操 | 久久婷婷一区二区三区 | 久久精品亚洲国产 | 麻豆国产精品视频 | 2022中文字幕在线观看 | 超碰97国产精品人人cao | 久久观看免费视频 | 激情综合啪| 成人av在线亚洲 | 亚洲天堂网视频 | www.天天射| 伊人色**天天综合婷婷 | 444av| 久久理论电影网 | 欧美精品做受xxx性少妇 | 国产精品久久久 | 欧美精品日韩 | 国内精品久久久久久 | 狠狠狠色狠狠色综合 | 免费看的国产视频网站 | 精品久久九九 | 久久久久久久久久久影视 | 日韩大片在线播放 | 4438全国亚洲精品在线观看视频 | 韩国av在线播放 | 91在线视频精品 | 三级av片 | 999久久久久久久久6666 | 久久草草热国产精品直播 | 九九视频在线播放 | 国产视频中文字幕在线观看 | 五月天综合激情网 | 日韩高清av在线 | 91丨九色丨蝌蚪丰满 | 中文字幕在线观 | 国产精品刺激对白麻豆99 | 久久久久免费精品国产 | 精品久久网 | 久久久久久久国产精品影院 | 97精品国产97久久久久久粉红 | 欧美伦理电影一区二区 | 少妇精品久久久一区二区免费 | 精品久久福利 | 狠狠五月婷婷 | 久久人人爽人人人人片 | 久久综合九色综合欧美狠狠 | 精品999在线观看 | 国产精品尤物 | 久久电影网站中文字幕 | 精品视频免费播放 | 欧美精品免费在线观看 | 91精品对白一区国产伦 | 国产中文字幕视频在线 | 91精品国产乱码在线观看 | 日韩视频免费观看高清完整版在线 | 亚洲综合激情网 | 午夜色影院 | 天天操人 | 久久99网| 最近最新中文字幕视频 | 亚洲国产精品成人女人久久 | 69精品人人人人 | 日韩理论电影网 | 黄网站app在线观看免费视频 | 免费麻豆 | 久久草精品 | 午夜精品视频一区二区三区在线看 | 国产第一页在线观看 | 欧美一二三区播放 | 久久国产精品免费一区二区三区 | 午夜精品久久久久久99热明星 | 久久只精品99品免费久23小说 | 国产麻豆剧果冻传媒视频播放量 | 成人av电影免费在线播放 | 成人午夜电影在线观看 | a在线免费观看视频 | 亚洲精品视频二区 | 五月天色综合 | 在线观看一区二区精品 | 香蕉97视频观看在线观看 | 97成人免费| 久久久国产影院 | www.狠狠操 | 日本大尺码专区mv | 日日干天夜夜 | 91最新国产| 韩国精品在线 | 国产美女主播精品一区二区三区 | 亚洲资源视频 | a√资源在线 | 亚洲激情综合 | 国产成人不卡 | 99国内精品| 国产精品6 | 国产精品丝袜 | 日本久久久亚洲精品 | 天天拍天天爽 | 久久久男人的天堂 | 日韩av在线一区二区 | 国产露脸91国语对白 | 国产不卡av在线播放 | 成人久久18免费网站麻豆 | 国产精品1区2区 | 亚洲成人精品av | 成人动漫精品一区二区 | 91理论片午午伦夜理片久久 | 91在线影院 | 天天操偷偷干 | 日韩中文字幕免费视频 | 中文字幕免费观看全部电影 | 免费看91的网站 | 大胆欧美gogo免费视频一二区 | 色婷婷色 | 99产精品成人啪免费网站 | 国产小视频在线播放 | 亚洲精品乱码久久久久久9色 | 日韩精品久久久久久久电影99爱 | 三级免费黄色 | 久久激情视频 久久 | www免费 | 久久在线免费观看视频 | 日本一区二区三区视频在线播放 | 热精品 | 国产精品女同一区二区三区久久夜 | 亚洲激情一区二区三区 | av色综合 | 一区二区三区高清不卡 | 婷婷伊人五月 | 国产伦精品一区二区三区四区视频 | 欧美久久久久久久久久久久久 | 91亚洲欧美激情 | 成人午夜电影在线观看 | 亚洲乱码一区 | 亚洲另类xxxx | 成人毛片一区二区三区 | 久久国产热| 99热这里只有精品国产首页 | 91麻豆网 | 成人免费观看电影 | 久久影院精品 | 91免费视频网站在线观看 | 国产aaa免费视频 | 狠狠色伊人亚洲综合网站野外 | 久久久www成人免费毛片麻豆 | 国产精品免费一区二区三区 | 国产精品久久久久久久久免费看 | 日韩色av色资源 | 亚洲黄色在线观看 | 91色偷偷 | 亚洲视频在线免费观看 | 国产黄a三级三级三级三级三级 | 天天曰天天射 | 精品久久一区二区三区 | 亚洲天天在线日亚洲洲精 | 天天做天天射 | 狠狠狠狠狠狠干 | 免费三级网 | 欧美a级免费视频 | 欧美日韩亚洲在线观看 | 成人黄色一级视频 | 91亚洲精品乱码久久久久久蜜桃 | 中文一区二区三区在线观看 | 97超碰人人模人人人爽人人爱 | 欧美少妇xx | 免费久久视频 | 国产一级淫片免费看 | 国产一区二区在线免费播放 | 一区二区精品国产 | 欧美综合在线视频 | 亚洲精品在线免费播放 | 日韩电影在线一区二区 | 在线视频婷婷 | 欧美精品久久天天躁 | 毛片播放网站 | 天天干天天干天天干 | 国产午夜精品理论片在线 | 五月婷婷视频在线观看 | 亚洲精品视频播放 | 久久久久久久久久久免费 | 91喷水| 成人资源站 | 国产小视频免费在线网址 | 欧美,日韩| 成年人在线看片 | 夜夜躁狠狠躁日日躁视频黑人 | 一区二区三区福利 | 一区二区 不卡 | 24小时日本在线www免费的 | 久久精品电影院 | 中字幕视频在线永久在线观看免费 | 91av中文字幕 | 色婷婷成人网 | 九九九九热精品免费视频点播观看 | 国产专区欧美专区 | 丁香婷婷网 | 久草在线精品观看 | 久久精品视频在线播放 | 久操免费视频 | 国产99免费视频 | 国产一区二区精品 | 日韩一区二区三区免费视频 | 国产午夜精品一区二区三区 | 天天操天天射天天爽 | 五月婷婷在线视频观看 | 色婷婷狠狠18 | 亚洲精品xxx| 久久精品综合一区 | 69国产精品视频 | 97国产精品亚洲精品 | 视频国产精品 | 蜜臀精品久久久久久蜜臀 | 天堂av影院 | 亚洲 欧美日韩 国产 中文 | 精品特级毛片 | 成人在线播放免费观看 | 中文字幕精品视频 | 久草在线免费播放 | 亚洲精品视频在线免费 | 西西www4444大胆在线 | 国产精品私人影院 | 91av在线看 | 精品99视频| 欧美一级小视频 | 91av短视频 | 久久精品—区二区三区 | 91精品国产自产老师啪 | 在线免费视频 你懂得 | 日韩精品不卡 | 日韩三级中文字幕 | 中文字幕在线不卡国产视频 | 国产精品黄网站在线观看 | 在线不卡a| 欧美日韩视频精品 | 亚洲最大在线视频 | 91黄色小视频 | 国产一区观看 | 午夜aaaa | 国产黄在线免费观看 | 狠狠狠色丁香综合久久天下网 | 国产精久久久 | 亚洲一区二区视频在线 | 成年人视频在线免费播放 | 日韩欧美在线观看一区二区三区 | 国产高清在线免费视频 | 手机在线日韩视频 | 国产艹b视频 | 亚洲电影院| 欧美成年网站 | 97成人在线视频 | 深爱激情久久 | 久久婷亚洲五月一区天天躁 | 国产精品第一页在线观看 | 日韩电影黄色 | 99精品国产一区二区三区麻豆 | 中文字幕亚洲综合久久五月天色无吗'' | 国产精品中文在线 | 91在线观看视频 | 亚洲一区av | 欧美精品久久久久久久亚洲调教 | 久久草在线精品 | 美女一区网站 | 欧美性色综合 | 久久久久久亚洲精品 | 午夜精品久久久久久久99婷婷 | 国产精品久久二区 | 制服丝袜天堂 | 国产精品麻豆91 | 久久夜色精品亚洲噜噜国4 午夜视频在线观看欧美 | 精品福利在线 | 最近免费中文字幕 | 久久久久婷 | 免费在线观看午夜视频 | 国产一区二区视频在线播放 | 一区二区三区在线不卡 | 免费av在| 成人在线播放视频 | 日韩一区二区三区免费视频 | 成人久久久久久久久久 | 日韩和的一区二在线 | 伊人色**天天综合婷婷 | 欧美大片aaa| 91| 久久综合久色欧美综合狠狠 | 精品国产黄色片 | 国产原创在线 | 狠狠狠狠狠狠狠干 | 精品久久久久久一区二区里番 | 天天操伊人 | 视频国产| 精品99久久 | 日本h视频在线观看 | 亚洲手机av | 天天综合网入口 | 亚洲精品网站在线 | 激情图片久久 | 亚a在线 | 国产美女精品视频免费观看 | 人人爱人人添 | 天堂av网址 | 国产精品免费在线 | 成年人在线观看视频免费 | 亚洲综合色激情五月 | 国产黄免费在线观看 | 粉嫩av一区二区三区入口 | 超碰在线97免费 | 欧美日韩精品在线视频 | 国内小视频在线观看 | 婷婷五天天在线视频 | 午夜视频日本 | 伊人永久| 欧美va日韩va | 2024国产精品视频 | 顶级欧美色妇4khd | 一区 在线 影院 | 免费在线h| 免费在线中文字幕 | 国产在线观看国语版免费 | 欧美日韩国产色综合一二三四 | 亚洲爱视频 | 欧美日韩亚洲在线观看 | 九九热视频在线播放 | 国产黄色片久久久 | 手机看片国产 | 99久久99久国产黄毛片 | 欧美日韩三级 | 日本天天色| 麻豆播放 | 欧美91精品久久久久国产性生爱 | 国产亚洲一区二区三区 | 高潮毛片无遮挡高清免费 | 韩国av一区二区三区在线观看 | 精品成人久久 | 视频在线99 | 91亚洲精品国偷拍自产在线观看 | 国产福利免费看 | 深夜男人影院 | 国产精品久久久久久久久费观看 | 国产高清视频网 | 激情影音先锋 | 中文字幕av有码 | 欧美一区日韩一区 | 精品国产一区二区三区在线观看 | 国产又粗又猛又黄又爽的视频 | 青春草视频在线播放 | 日韩色视频在线观看 | www日韩精品 | 91正在播放| 天天婷婷 | 久久69精品久久久久久久电影好 | 青青河边草免费直播 | av免费观看高清 | 国产精品久久一 | 五月天色中色 | 天天拍天天操 | 精品久久久久一区二区国产 | 久久免费国产精品 | 国产小视频你懂的在线 | 欧美日韩一级久久久久久免费看 | 免费av福利| 不卡中文字幕在线 | 国产精品久久久久久久久毛片 | 亚洲人成免费 | 天天干天天干天天干 | 色综合 久久精品 | 日日躁夜夜躁xxxxaaaa | 97人人爽| 国产高清免费视频 | 一级一级一片免费 | 精品欧美一区二区在线观看 | 亚洲精品福利在线 | 午夜精品电影 | 久久不卡免费视频 | 国产99久久久国产精品 | www.久久91| 精品国内自产拍在线观看视频 | 亚洲一区二区三区四区精品 | 国产一区视频在线观看免费 | 免费久久片 | 毛片99 | 9ⅰ精品久久久久久久久中文字幕 | 亚洲午夜精品福利 | 99 精品 在线 | 91视频链接| 亚洲成人第一区 | 国产一级片视频 | 蜜臀久久99精品久久久无需会员 | 国产精品久久久999 国产91九色视频 | 就要色综合 | 超碰在线人人 | 黄色成人av | 精品女同一区二区三区在线观看 | 久草网视频在线观看 | 欧美亚洲精品在线观看 | 日韩一区二区久久 | 欧美天天综合 | 日韩中文字幕免费在线播放 | 福利视频精品 | av一区二区在线观看中文字幕 | 欧美污在线观看 | 成在人线av | 天天操天天爱天天干 | 成年人视频在线观看免费 | 激情综合国产 | 国产精品久久久久久一二三四五 | 欧美日韩视频在线观看一区二区 | 亚洲成人在线免费 | 欧美色888 | 亚洲视频观看 | 成人久久久久久久久 | a v在线视频 | 国产一级性生活视频 | www.国产视频 | 亚洲精品动漫成人3d无尽在线 | 日本精品在线看 | 欧美日韩免费网站 | 九九爱免费视频 | 国内精品久久久久久中文字幕 | www.99av| 欧美日韩亚洲第一 | www.五月天婷婷 | 成人91在线 | 麻豆免费看片 | 日日夜夜网 | 亚洲欧洲精品一区二区精品久久久 | 午夜 久久 tv | 最新国产视频 | 天天插天天操天天干 | 欧美一级电影在线观看 | 婷婷丁香在线视频 | 久久永久免费 | 久草视频在线免费播放 | 中文字幕第一页在线 | 婷婷色综 | 亚洲视频一级 | 欧美成人区 | 香蕉网在线观看 | a在线视频v视频 | 国产精品青青 | 久久黄色网页 | www亚洲精品 | 亚洲国产精品影院 | 成人黄色电影在线 | 国产精品一区二区三区四 | 日韩影视大全 | 九九热在线免费观看 | 香蕉视频18 | 808电影| 久久国产欧美日韩 | 亚洲好视频 | 亚洲精品1区2区3区 超碰成人网 | 日韩中文字幕免费 | 黄色免费高清视频 | 午夜视频99 | 高清精品视频 | 美女黄视频免费看 | 精品国产一区二区在线 | 九九免费在线看完整版 | 国产精品久久嫩一区二区免费 | 人人精久| 国产中文在线播放 | 国产资源在线视频 | 免费在线观看日韩视频 | 欧美一级黄大片 | 成人午夜久久 | 日韩在线视 | 天天插日日插 | 亚洲精品字幕在线观看 | 亚洲区精品 | 日韩在线观看一区二区 | 久久视频免费在线 | 美女国内精品自产拍在线播放 | av免费看网站| 亚洲国产日本 | 日韩99热| 欧美,日韩 | 免费成人av网站 | 成人四虎影院 | 中文字幕视频观看 | 四虎在线免费观看 | 欧美日韩国产精品一区二区三区 | 欧美乱淫视频 | 在线观看aa | 欧美一二区在线 | 欧洲在线免费视频 | 91精品国产91 | 色综久久| 精品欧美乱码久久久久久 | 成 人 黄 色 视频播放1 | 亚洲精品在线免费观看视频 | 在线观看成人 | 韩国av免费观看 | 日韩精品欧美专区 | 国产三级国产精品国产专区50 | 综合伊人av| 91精品久久久久久综合乱菊 | 视频在线观看入口黄最新永久免费国产 | 狠狠狠色丁香婷婷综合久久88 | 久久成人18免费网站 | 久久久久国产精品一区 | 日日夜夜av | 国产成人精品一区二三区 | 国模一二三区 | 国产福利在线免费观看 | 波多野结衣精品视频 | 在线a视频免费观看 | 99理论片 | 色人久久 | 天天干夜夜操视频 | 国产第一页在线播放 | 日韩在线欧美在线 | 午夜电影久久久 | 中文字幕在线观看你懂的 | 深夜福利视频一区二区 | 日本九九视频 | 99re国产视频 | 天天添夜夜操 | 麻豆久久精品 | 国产一区二区在线播放视频 | 亚洲乱码精品 | 久久精品91久久久久久再现 | av电影在线免费 | 欧美日本中文字幕 | 久久第四色 | 国产精品一区二区三区免费视频 | 久久夜色精品国产欧美乱极品 | 国产精品免费av | 久久精品视频播放 | 亚洲免费成人 | 久久久久久久久久毛片 | 日韩a免费 | 国产午夜精品一区二区三区四区 | 亚洲成av| 97成人免费视频 | 免费网址在线播放 | 国产黄色大全 | 久草免费福利在线观看 | 丁香九月激情 | 国产精品午夜在线观看 | 久久午夜鲁丝片 | www.夜夜夜 | 奇米网网址 | 成人97视频 | 欧美福利精品 | 久久精品一二三 | 中文字幕在线看视频 | 亚洲免费一级电影 | 中文字幕在线视频网站 | 玖玖爱在线观看 | 夜夜躁狠狠躁日日躁 | 青青河边草手机免费 | 激情丁香5月 | 97久久精品午夜一区二区 | 婷婷精品在线视频 | 日本久久免费电影 | av免费在线观 | 亚洲精品资源在线观看 | 欧美激情综合色 | 国产日韩精品一区二区 | 久久精品视频播放 | 国产精品区免费视频 | 成年美女黄网站色大片免费看 | 成人免费看黄 | 免费色视频 | 在线免费观看羞羞视频 | 成人性生交大片免费看中文网站 | 国产九色视频在线观看 | 中文网丁香综合网 | 日韩黄色在线观看 | 91超级碰 | 成人黄色中文字幕 | 中文字幕在线播放第一页 | 久久96国产精品久久99软件 | 久久官网 | 伊人天堂久久 | 欧美日韩一级久久久久久免费看 | 91网在线看 | 日韩伦理片hd | 久久xxxx | 精品在线观看视频 | 精品欧美一区二区三区久久久 | 久久久久久欧美二区电影网 | 中文字幕精品三级久久久 | 亚洲欧美激情精品一区二区 | 99久久夜色精品国产亚洲96 | 欧美精品久久久久久久久久 | 成人影片在线播放 | 精品999| av观看免费在线 | 久久综合九色综合久久久精品综合 | 精品国偷自产国产一区 | 麻豆91精品视频 | 国产美女免费 | 色婷婷综合久久久中文字幕 | 久草亚洲视频 | 国产精品一区二区三区四 | 久久久久欧美精品 | 日韩乱理 | av片在线看| 色之综合网 | 91视频在线播放视频 | 亚洲欧美综合精品久久成人 | 天天干天天干天天色 | 午夜精品久久久久久久99无限制 | 国产日韩视频在线播放 | 国产自产高清不卡 | 国产高清视频免费 | 色综合久 | 麻花豆传媒mv在线观看 | 日韩免费一级电影 | 欧美成人精品三级在线观看播放 | 午夜10000| 国产一区二区高清不卡 | 麻豆传媒一区二区 | 欧美一级片免费在线观看 | 亚洲综合干 | 国产精品v欧美精品v日韩 | 国产精品69久久久久 | 国产高清成人av | 久久艹国产视频 | 成人影音在线 | 91精品国自产在线观看欧美 | 久久久久免费精品 | 91av在线免费 | 免费看的黄色录像 | 久久99国产精品久久 | 最新色站 | 亚洲电影自拍 | 久久国内精品99久久6app | 免费看黄色91 | 999电影免费在线观看 | 日本在线成人 | 国产精品 日韩 欧美 | 久草www | 日韩精品极品视频 | 天天操天天干天天玩 | 久久精品99久久久久久2456 | 中文字幕在线观看完整版 | 999久久久精品视频 日韩高清www | 欧美日韩亚洲第一 | 久久久午夜剧场 | 成人在线电影观看 | 黄色91免费观看 | 日韩,中文字幕 | 91久久国产综合精品女同国语 | 久久国产精品第一页 | 久久五月婷婷丁香 | 狠狠狠色狠狠色综合 | 久久精品精品电影网 | 人人爽影院 | 欧美一级专区免费大片 | 美女黄频 | 婷婷视频在线观看 | 久久视频 | 在线免费中文字幕 | 色吊丝在线永久观看最新版本 | www.天天操 | 日韩高清免费在线观看 | 免费在线观看不卡av | 久要激情网 | 国产一区国产二区在线观看 | 狠狠操狠狠干2017 | 激情五月婷婷综合 | 中文字幕色在线 | 一区二区中文字幕在线观看 | 永久免费视频国产 | 在线观看91精品国产网站 | 久久伊人精品天天 | 国产最新视频在线观看 | 日本一区二区不卡高清 | av大全在线免费观看 | 日韩中午字幕 | 久久狠狠亚洲综合 | 亚洲免费成人av电影 | 久久久久夜色 | 国产成人一区二区三区在线观看 | 午夜精品剧场 | 天天爱天天操天天干 | 日日碰夜夜爽 | 久久精品视频网站 | 在线观看免费版高清版 | 欧美一级片播放 | 不卡的av在线 | 国产 在线观看 | 91日韩精品| 高清精品视频 | 日韩中文字幕免费视频 | 中国精品一区二区 | 久久中文网 | 日韩xxx视频 | 婷婷综合成人 | 国产99久久久久久免费看 | 亚洲理论片 | 国产精品久久久网站 | 高清av网 | 亚洲精品小区久久久久久 | 国产做aⅴ在线视频播放 | 99精品国产免费久久久久久下载 | 久久久受www免费人成 | 天天添夜夜操 | 欧美狠狠操 | 中文字幕精品一区二区精品 | 91毛片视频| 亚洲欧美国产精品18p | 日韩欧美一区二区在线观看 | 免费一级毛毛片 | 一区二区视频电影在线观看 | 91在线网站 | 国产精品久久久久久久久久久久午夜 | av免费高清观看 | 亚洲码国产日韩欧美高潮在线播放 | 激情综合亚洲精品 | 亚洲高清视频在线 | 免费久久久久久久 | 国产精品99久久免费黑人 | 亚洲综合成人专区片 | 天天干夜夜爱 | 狠狠色丁香久久婷婷综合丁香 | 国产成人精品午夜在线播放 | 色婷婷在线视频 | 久久激情综合网 | 欧美怡红院视频 | 欧美日韩亚洲在线观看 | 国产对白av | 正在播放一区二区 | 欧美乱码精品一区二区 | 国产精品自产拍在线观看桃花 | 国产永久免费 | 亚洲国产精品女人久久久 | 久久伊人婷婷 | 日韩精品一区二区三区中文字幕 | 日韩综合一区二区 | 欧美另类色图 | 久久人人爽人人 | 麻豆精品视频 | 国产视频在线观看一区二区 | 午夜少妇| 伊人黄| 国产91精品在线播放 | 黄在线免费看 | 亚洲国产日韩欧美 | 亚洲天堂精品 | 久久免费片 | 麻豆精品视频在线观看免费 | 精品在线99 | 精品五月天 | 国产精品一区二区中文字幕 | 色视频在线看 | 色综合中文综合网 | 麻豆免费视频观看 | 最新三级在线 | 国产麻豆视频 | 人人超在线公开视频 | 青青久草在线 | 99久久婷婷国产一区二区三区 | 国产免费叼嘿网站免费 | 在线观看日本韩国电影 | 免费激情在线电影 | 91超碰在线播放 | 九九热精品视频在线播放 | 在线成人小视频 | 久久久久麻豆 | 国产在线观看中文字幕 | 992tv在线成人免费观看 | 久久视频中文字幕 | 狠狠狠狠狠操 | 伊人天堂网 | 在线国产一区二区三区 | 五月激情电影 | 亚州精品国产 | 国产精品99精品 | 国产福利一区二区三区视频 | 欧美日韩1区2区 | 中文字幕在线观看一区二区 | 久久一区二 | 色综合久久88色综合天天6 | 国产丝袜制服在线 | 国产高清在线精品 | 精品久久久久久综合 | 国产精品永久免费视频 | 精品国产一区二区三区四区vr | 美女福利视频在线 | 亚洲综合最新在线 | 国产在线观看你懂得 | 香蕉成人在线视频 | 久久这里只有精品久久 | 国产视频2区 | 国产精品自拍在线 | 国产黄色片一级三级 | 蜜臀aⅴ精品一区二区三区 久久视屏网 | 欧美色精品天天在线观看视频 | 日日草av | 国产小视频福利在线 | 国内综合精品午夜久久资源 | 国产福利a| 欧美精品久久久久久 | 狠狠色丁香久久综合网 | 免费观看全黄做爰大片国产 | 色丁香婷婷 | 久久97超碰 | 激情综合网天天干 | 最近最新中文字幕视频 | 午夜久久精品 | 在线播放国产精品 | 在线视频日韩一区 | 国产精品久久久毛片 | 日韩在线 一区二区 | 日韩精品久久一区二区三区 | 欧美日韩1区 | 精品伊人久久久 | 91秒拍国产福利一区 | 久久草在线精品 | 国产剧情一区在线 | 欧美日韩一二三四区 | 中午字幕在线 | 日韩色爱 | 亚洲天天综合网 | 色黄www小说 | 日韩91精品 | 国产一区二区免费 | 亚洲精品女 | 久久九九网站 | 黄色大片日本免费大片 | 最近日本韩国中文字幕 | 久久久久美女 | 天天插天天爱 | 婷婷伊人五月 |