3atv精品不卡视频,97人人超碰国产精品最新,中文字幕av一区二区三区人妻少妇,久久久精品波多野结衣,日韩一区二区三区精品

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

zigbee 串口不稳定_Zigbee

發布時間:2024/9/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 zigbee 串口不稳定_Zigbee 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Zigbee 不完全整


基本概念:

計算機網絡定義:

? 1.用通信鏈路將分散的多臺計算機、終端、外設等互聯起來,使之能彼此通信,同時共享各種硬件、軟件和數據資源,整個系統可稱為計算機網絡

? 2.計算機網絡將地理位置不同的具獨立功能的多臺主機、外設或其它設備,通過通信線路進行連接,在網絡操作系統、管理軟件及通信協議的管理協調下,實現資源共享和信息傳遞的完整系統。

計算機網絡的作用:資源共享、信息交換、協同處理。

計算機網絡在邏輯上可以分為通訊子網和資源子網。按網絡傳輸分配可以分為點對點分類和廣播分類。按網絡規模和覆蓋范圍可以分為局域網、城域網以及廣域網。計算機網絡的作用資源共享、信息交換、協同處理。

計算機網絡的四個產生階段:第一階段:分散的多個終端連接到一臺中心機上,典型:美國飛機訂票系統;第二階段:多主機通過通信鏈路互聯,典型:ARPANET;第三階段:互聯互通階段: 網絡互連遵循統一的技術標準(OSI模型和TCP/IP模型),成為第三代網絡。第四階段:高速網絡階段:光纖高速網絡、多媒體網絡、智能網絡、無線網絡,成為第四代網絡。

網絡協議的三要素:語義、語法、定時。

三網融合:計算機網絡、電信網絡、廣播電視網絡。

ZigBee網絡協議架構通過分層實現,每一層相當于一個模塊,且為上層提供服務,層與層之間通過服務接入點接口進行信息交換。

在網狀網絡中,每個設備都可以與在無線通信范圍內的其他設備進行通信。

CC2530是8位單片機,具有兩個串口、21個通用I/O端口引腳(19個4mA、2個20mA)。芯片具有8KB、16KB、32KB在線可編程的FLASH、同時具有8KB的數據存儲能力(RAM)。具有低功耗模式、2.4GHz IEEE802.15.4兼容的RF收發器、支持精確鏈路指示、不具備多路DAC轉換器。8路輸入且可配置的12位ADC。從芯片CC2530的組成框圖看,三個模塊中組成CPU及相關存儲模塊、外設、時鐘和電源管理模塊和無線模塊。

單片機最小系統包括單片機、電源引腳、復位電路和晶振電路組成。

無線網絡發展幾個階段:

? 第一代(1G)無線系統是面向語音的模擬無線系統,使用FDMA技術實現。 第二代(2G)無線系統是面向語音的數字無線系統,使用TDMA或窄帶CDMA技術實現。第三代(3G)無線系統把蜂窩電話、PCS語音業務以及移動數據業務用各種分組交換數據業務綜合在一個高語音質量、高容量、高速率的網絡系統中。

Zigbee無線通信技術的特點:Zigbee無線技術是一種新興的短距離、低復雜度、低功耗、低數據速率、低成本的技術。

Zigbee適合傳輸低反應時間、周期性、間歇性的數據,不適合傳輸高延遲的數據。

所有的ZigBee設備都具有連接網絡和斷開網絡的功能。ZIgBee網絡是一種自組織網絡、分布式網絡。 「可能涉及Zigbee如何組網的過程」

依據IEEE802.15.4標準建立。可使用的頻段有三個:2.4GHZ、歐洲868MHZ、美國915MHZ,不同頻段可用的信道分別是16、1、10個。短地址14位,長地址64位。Zigbee最多可支持240個設備。非開源意思是看不見源碼,只提供函數借口(API)

分層(key):從下到上:物理層 媒體訪問控制層(MAC) 「IEEE802.15.4定義」 網絡層 應用層「Zigbee聯盟定義」

對各層的基本功能了解:
物理層:定義了無線信道和MAC子層之間的接口,提供了物理層數據服務和管理服務。「激活和關閉射頻收發器/對當前信道進行能量檢測/對收發的包進行鏈路質量指示/收發數據和空閑信道評估/信道選擇/數據單元收發/向MAC層提供管理服務接口」
MAC層:MAC層提供網絡層和物理層之間的接口。「實現對從基本物理層數據單元中提取MAC層數據包的進一步處理,并發送信標,利用信標與父節點同步,能量檢測,主動、被動、孤立掃描機制,關聯和退出關聯,CSMA/CA沖突避免信道訪問控制機制,時隙劃分, MAC層數據傳輸及安全機制等功能。」
網絡層(核心層):利用IEEE 802.15.4標準使MAC子層正確工作,并為應用層提供服務接口。「主要負責網絡層協議數據單元收發、網絡管理和路由管理。網絡管理主要包括網絡啟動、設備請求加入/離開網絡、網絡發現、網絡地址分配等。 路由管理包括鄰居節點發現、路由發現、路由維護、消息單播、多播、廣播實現等 」
應用層:包括應用支持子層(APS)、應用框架(AF)、 ZigBee設備對象(ZDO)及ZDO管理平臺。應用支持子層(APS),作為應用層的一個組成部分,它提供了網絡層(NWK)和應用層(APL)之間的接口。 「應用支持子層負責應用層協議數據單元數據的傳輸、設備綁定表創建和維護、組表的管理和維護、數據可靠傳輸等。應用框架「AF層」主要為方便程序員進行開發而在ZigBee設備中為所實現的應用對象提供的模板。應用對象就是使用ZigBee聯盟制定的Profile進行開發的,并在協議棧上運行的應用程序。安全服務層安全服務向NWK層和APS提供了安全服務,主要完成一些加密工作,包括密鑰建立、密鑰傳輸、幀保護和設備管理。』

設備分類:

? 全功能設備支持 IEEE802.15.4標準定義的所有功能和特性,并擁有較多的存儲資源、計算能力。半功能設備只支持標準定義的一部分,功能簡單。

? ZigBee 網絡中的設備按照各自作用不同可以分為協調器節點、路由器節點和終端節點。全功能設備既可以作為協調器、路由器,也可以作為終端;半功能設備只能作為終端。

協調器(key):

? 負責網絡的啟動,配置網絡使用的信道和網絡標識符(PAN ID),完成網絡成員的地址分配、節點綁定、建立安全層等任務。協調器是網絡的第一個設備,是整個網絡的中心。一個ZigBee網絡只有一個網絡協調器。當網絡建立成功后,協調器便充當路由器的角色。 

路由器(key):

? 主要實現允許設備加入網絡、擴展網絡覆蓋的物理范圍和數據包路由的功能。一般處于活躍狀態,由主電源供電 「擴展網絡是指該設備可以作為網絡中的潛在父節點,允許更多的路由和終設備接入網絡。路由器最為重要的功能是“允許多跳路由”。路由節點存儲路由表、負責尋找、建立及修復數據包路由路徑。」

終端設備:

? 通過ZigBee協調器或者ZigBee路由器接入到網絡中,主要負責數據采集或控制功能,不允許其他節點通過它加入到網絡中。多數時間處于休眠狀態,電池供電。

組網過程:

? 組建網絡:節點上電,判斷是否是全功能設備->判斷是否已經加入到其他網絡->信道掃描,選擇合適的信道->設置PAN-ID和協調器短地址,網絡初始化成功,等待其他節點加入網絡。

? 節點加入網絡:通過全功能節點加入網絡。分為首次加入網絡和再次入網,再次入網采用孤兒掃描。

網狀/樹形/星形網絡三者比較:自行擴展。

Zigbee相關技術:

節點:一個節點包含一組設備,并對應一個無線信號收發器,只能使用一個無線通信信道。「一個節點對應一個設備」   

端點:應用對象駐留的地方,是協議棧應用層的入口,為實現一個設備描述而定義的一組群集。一個設備最多支持240個用戶自定義端點。「0分配給ZDO,用與設備管理,255用于廣播,241-254保留擴展」

群集(Cluster):一個端點可以具有多個群集,使用群集號(Cluster ID)分配。分為輸入群集和輸出群集,多個節點通過群集號位不同端點建立一個邏輯連接,即綁定(Bonding)「群集是屬性的集合,包含一個或多個屬性」簇的含義指設備或應用對象之間的消息。

規約(Profile):相同應用對象采用的所有群集的集合稱為規約。目的是為了制定標準,兼容不同制造商之間的產品,說明了設備類型、接口等。還有一種協議棧規約(Zigbee和Zigbee Pro),定義網絡類型、網絡深度等。

節點地址:

? 擴展地址:IEEE地址,64位,設備商固化在設備中。短地址:稱為網絡地址,由協調器進行分配,通過端點號+短地址確定一個終端。

PANID:網絡標號。不同PANID代表不同網絡。PANID16位,PANID為0xFFFF時,協調器隨機選擇一個PANID作為網絡標號建立網絡,終端隨機選擇一個信號最強的網絡加入網絡。

事件:系統定義事件和用戶定義事件,16位獨熱碼。

間接通信/直接通信:間接通信指各個節點通關端點的綁定建立通信關系。直接通信需要獲取對方的地址。

綁定:一種多個應用設備之間信息流的控制機制。

數據傳送方式:單點傳送(Unicast):將素舉報發送給一個已知網絡地址的設備。廣播傳送(Indirect):應用程序需要將數據包發送給網絡的每一個設備,廣播傳送的目標地址:0xFFFF--傳送到網絡上的所有設備。0xFFFC--只發送給協調器和路由器, 0xFFFD--數據包傳送到網絡上所有非睡眠設備。

LQI;鏈路信號質量。最差0x00-最強0xff

RSSI信號強度,越小越好。

Zigbee協議棧任何數據利用幀格式來組織,每層都有特定的幀結構。(分為鍵值對和報文,報文適合傳遞數據量大的消息,支持任何數據傳輸)

Zigbee具有兩種休眠模式:輕度休眠「定時器休眠」和深度休眠。

應用框架(AF)主要為方便程序員進行開發而在ZigBee設備中為所實現的應用對象提供的模板,由設備對應的( 端口號和短地址)兩部分組成。 ZigBee協議棧的系統輕度休眠模式時一個預定延時后不能喚醒執行任務。(F) ZigBee協議棧的系統進入深度休眠模式,需要一個外部觸發來喚醒設備。 ZigBee協議棧的端點,包括任務號、端點號、簡單描述符、潛藏周期四項。 ZigBee協議棧中定義的設備狀態類型devStates_t中,不包含終端節點狀態。(F) ZigBee協議棧的兩種休眠模式:真休眠(定時器休眠)和假休眠。(F) 在ZigBee協議中如果一個消息來到了節點上,是通過( 終端「不是端點)來投遞消息到某一個具體的應用程序對象 不同的ZigBee協議棧版本使用不同的地址分配方案,ZigBee 2007使用(隨機分配地址的方案) 在ZigBee協議中,(全功能節點)能夠承擔協調器和路由器的功能。 在ZigBee協議中,(應用程序對象)是指針對目標物理量或事件都會提供控制或測量功能,實際的通信實體 ? 在ZigBee協議中,事件分為系統級事件和任務級事件,系統級事件可以(在任務間傳遞的事件),任務級事件在任務內使用的事件。 ZigBee協議建立路由的原則是(按照需要建立路由),既有優點也有缺點,優點是節省資源,缺點是實時性不好。 在Zigbee中,OSAL指的是操作系統抽象層。 使用ZigBee協議棧編程,每個任務有一個任務號,有一個初始化函數和一個事件處理函數,(端口)提供的其他函數都會被這兩個函數直接或間接地調用到。 使用ZigBee協議棧編程,(簇)僅提供一個消息隊列及消息處理的功能。 函數osalInitTasks( void )初始化了事件隊列。ZigBee協議中,端點描述符結構體endPointDesc_t的成員變量有端點號endPoint、簡單描述符SimpleDescriptionFormat_t、網絡發送速度afNetworkLatencyReq_t和(指向任務ID即Task_ID的指針) 當PAN_ID設置為0x1234時,協調器(使用0x1234作為網絡標號,建立網絡)路由器和終端(路由器和終端節點只能加入網絡標號為0x1234的網絡) 鏈接器控制文件所在的文件夾(Tools) !從代碼角度看,一個任務是由一個(初始化函數)和一個事件處理函數組成的。 任務ID,又叫任務號,每個任務都有自己的消息隊列,任務號的作用是(事件發生時,使用該任務號獲取消息)

C++跨平臺調用

一般用于將C++代碼以標準C形式輸出(即以C的形式被調用),這是因為C++雖然常被認為是C的超集,但是C++的編譯器還是與C的編譯器不同的。C中調用C++中的代碼這樣定義會是安全的。 #ifdefined(__cplusplus)||defined(c_plusplus) //跨平臺定義方法extern "C"{#endif簡單的用在windows下可以如下定義:#ifdef __cplusplusextern "C"{//... 正常的聲明段}#endif

協議棧

APP:應用層目錄,這是用戶創建各種不同工程的區域,在這個目錄中包含了應用層的內容和這個項目的主要內容,在協議棧里面一般是以操作系統的任務實現的。
HAL:硬件層目錄,包含有與硬件相關的配置和驅動及操作函數。
MAC:MAC 層目錄,包含了MAC 層的參數配置文件及其MAC 的LIB 庫的函數接口文件。
MT: 監控調試層,主要用于調試目的,即實現通過串口調試各層,與各層進行直接交互。
NWK:網絡層目錄,含網絡層配置參數文件及網絡層庫的函數接口文件,APS 層庫的函數接口。
OSAL:協議棧的操作系統。
Profile:AF 層目錄,包含AF 層處理函數文件。
Security:安全層目錄,安全層處理函數接口文件,比如加密函數等。
Services:地址處理函數目錄,包括著地址模式的定義及地址處理函數。
Tools:工程配置目錄,包括空間劃分及ZStack 相關配置信息。
ZDO:ZDO 目錄。
ZMac: MAC 層目錄,包括MAC 層參數配置及MAC 層LIB 庫函數回調處理函數。
ZMain:主函數目錄,包括入口函數main()及硬件配置文件。
Output:輸出文件目錄,這個自動生成的。
ZMain函數中,一方面進行系統的初始化,一方面對事件進行輪循。

Zstack的工作原理圖

Zstack運行流程圖如上。綜上,Zstack最重要的兩個步驟即事件的初始化以及事件的處理,其余各層的初始化Ti公司基本已經為你做完了。

用戶自定義事件初始化:

Main -> oasl_init_system()

OSAL工作機制

OSAL任務初始化

oaslInitTask()函數中對任務進行初始化,在此創建任務表。

void osalInitTasks( void ) {uint8 taskID = 0;tasksEvents = (uint16 *)osal_mem_alloc( sizeof( uint16 ) * tasksCnt);osal_memset( tasksEvents, 0, (sizeof( uint16 ) * tasksCnt));macTaskInit( taskID++ );nwk_init( taskID++ );Hal_Init( taskID++ ); #if defined( MT_TASK )MT_TaskInit( taskID++ ); #endifAPS_Init( taskID++ ); #if defined ( ZIGBEE_FRAGMENTATION )APSF_Init( taskID++ ); #endifZDApp_Init( taskID++ ); #if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )//ip沖突和跳頻相關ZDNwkMgr_Init( taskID++ ); #endif//task_init functionDNUI_SampleApp_Init(taskID); } //任務初始化函數如上,更具taskCnt的數量申請對應的事件表,兩者通過taskID一一對應,然后對各層定義進行初始化,taskID越小,其優先級越高。這個函數可用于自定義相關的任務。例:DNUI_SampleApp_Init(),對應用戶自定義的初始化函數,用戶需要用到的相關初始化都在其內定義。OSAL通過輪詢查看任務表判斷各層有無事件發生。

OSAL如何處理事件

//操作系統啟動函數 void osal_start_system( void ) { #if !defined ( ZBIT ) && !defined ( UBIT )for(;;) // Forever Loop #endif{osal_run_system();} } //可見操作系統通過for無限循環osal_run_system()

進入oasl_run_system( )一探究竟

//操作系統運行函數 void osal_run_system( void ) {uint8 idx = 0; //掃描哪個時間被觸發,標志位置一//更新定時器osalTimeUpdate();//查看硬件方法是否有事件發生Hal_ProcessPoll();//硬件初始化輪詢調用//從最高優先級任務一次判斷每個任務是否有事件的觸發,有則跳出循環do {if (tasksEvents[idx]) // Task is highest priority that is ready.{break;}} while (++idx < tasksCnt);//idx小于任務數量,即有時間發生//so hard to understandif (idx < tasksCnt){uint16 events;halIntState_t intState;HAL_ENTER_CRITICAL_SECTION(intState);//關中斷,防止干擾events = tasksEvents[idx];//調用事件去處理函數,coz taskArr是一個函數指針,tasksEvents[idx] = 0; // Clear the Events for this task。表示此類任務事件//執行finsih,在事件處理函數中又調用消息處理函數HAL_EXIT_CRITICAL_SECTION(intState);activeTaskID = idx;//設置activeTaskID的作用?events = (tasksArr[idx])( idx, events );//核心中的核心,taskArr和tasksEvent中的idx相同,返回處理過事件的eventsactiveTaskID = TASK_NO_TASK;HAL_ENTER_CRITICAL_SECTION(intState);tasksEvents[idx] |= events; // Add back unprocessed events to the current task./將處理過的events對應的tasksEvents位清0HAL_EXIT_CRITICAL_SECTION(intState);}//定義低功耗,則進入低功耗模式 #if defined( POWER_SAVING )else // Complete pass through all task events with no activity?{osal_pwrmgr_powerconserve(); // Put the processor/system into sleep} #endif //定義協同操作,進入協同操作/* Yield in case cooperative scheduling is being used. */ #if defined (configUSE_PREEMPTION) && (configUSE_PREEMPTION == 0){osal_task_yield();} #endif } //函數設計非常巧妙,首先調用定時器和硬件初始化輪詢函數。 //通過do...while...循環,對事件進行查看,一旦有事件發生便跳出循環,進行事件處理,把事件存入event中并調用taskArr[idx](idx,events)進行對應事件的函數處理Hal_ProcessPoll( );poll在linux中相當于把文件掛起,此函數可能有這個意思;

進入事件處理函數TaskArr[].

taskArr是一個存放各事件處理函數的指針數組。存放對應taskid上產生事件的事件處理函數。const pTaskEventHandlerFn tasksArr[] = {macEventLoop,nwk_event_loop,Hal_ProcessEvent, #if defined( MT_TASK )MT_ProcessEvent, #endifAPS_event_loop, #if defined ( ZIGBEE_FRAGMENTATION )APSF_ProcessEvent, #endifZDApp_event_loop, #if defined ( ZIGBEE_FREQ_AGILITY ) || defined ( ZIGBEE_PANID_CONFLICT )ZDNwkMgr_event_loop, #endifDNUI_SampleApp_ProcessEvent }; //以上定義了各層task的事件處理函數。其中最后的DNUI_SampleApp_ProcessEvent;調用的是用戶自定義的事件處理函數。用戶對于系統或各自定義事件產生的動作都在此定義 uint16 DNUI_SampleApp_ProcessEvent( uint8 task_id, uint16 events ) {afIncomingMSGPacket_t *MSGpkt; //定義一個接受消息的指針if ( events & SYS_EVENT_MSG ){MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( task_id );//將對應taskid上的消息隊列中的消息取出進行處理while ( MSGpkt )//有事件接受{switch ( MSGpkt->hdr.event )//根據消息頭判斷,如果接收到了無線數據{//無線接受消息,A設備用AF_DataRequest()發送消息,b設備街道消息觸發此事件case AF_INCOMING_MSG_CMD: //incoming msg type megsif(DNUI_SampleApp_NwkState == DEV_ZB_COORD)//若為協調器事件{//--start--協調器接收數據的處理邏輯 HalUARTWrite(0,MSGpkt->cmd.Data,MSGpkt->cmd.DataLength-1); //--end--協調器接收數據的處理邏輯 }else if(DNUI_SampleApp_NwkState == DEV_END_DEVICE){//--start--終端設備接收數據的處理邏輯 //--end--終端設備接收數據的處理邏輯 }else if(DNUI_SampleApp_NwkState == DEV_ROUTER){//--start--路由器接收數據的處理邏輯 //--end--路由器接收數據的處理邏輯 }break; //網絡狀態改變case ZDO_STATE_CHANGE: //ZDO has changed the device's network state DNUI_SampleApp_NwkState = (devStates_t)(MSGpkt->hdr.status);//statusif(DNUI_SampleApp_NwkState == DEV_END_DEVICE){ //--start--終端設備接收數據的處理邏輯 osal_start_timerEx(task_id,DNUI_SAMPLEAPP_ENDDEVICE_PERIODIC_MSG_EVT,1000); //--end--終端設備接收數據的處理邏輯 } else if(DNUI_SampleApp_NwkState == DEV_ZB_COORD){//--start--協調器接收數據的處理邏輯 //--end--協調器接收數據的處理邏輯 }else if(DNUI_SampleApp_NwkState == DEV_ROUTER){//--start--路由器接收數據的處理邏輯 //--end--路由器接收數據的處理邏輯 } break;default:break;} //消息處理完后,釋放消息所占據的內存空間,在zigbee中接收到的消息放在堆上,//需要用deallocate函數將其內存釋放,否則容易導致內存泄露osal_msg_deallocate( (uint8 *)MSGpkt ); //WHY DNUI_sampleAppTaskIDMSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( DNUI_SampleAppTaskID);} return (events ^ SYS_EVENT_MSG);//SYS_EVENT_MSG =0X8000,系統事件//按理解當事件處理完畢后將事件對應位清0,解封裝的過程,有事件的時候就將對應出置1} //若產生用戶自定義事件,在此處理if ( events & DNUI_SAMPLEAPP_ENDDEVICE_PERIODIC_MSG_EVT ) //0x01{ //發送設置,數據發送可以使用AF_DataRequest函數實現,該函數調用協議棧里與硬件相關的函數AF_DataRequest( &Coor_Addr, &DNUI_SampleApp_epDesc,DNUI_SAMPLEAPP_DATATEST_CLUSTER_ID,3, //Lab6buf,&DNUI_SampleApp_TransID,//任務id號指針AF_DISCV_ROUTE,//有效位掩碼發送選項AF_DEFAULT_RADIUS );osal_start_timerEx( task_id, DNUI_SAMPLEAPP_ENDDEVICE_PERIODIC_MSG_EVT,1000); return (events ^ DNUI_SAMPLEAPP_ENDDEVICE_PERIODIC_MSG_EVT);} return 0; }通過Osal_set_event(taskid , flag)函數將相應的標志位置1,在之后的協議棧運行過程中就會根據需要調用這個函數。

此函數為Osal的核心函數,包含很多重要的結構和函數。

afIncomingMSGPacket_t *MSGpkt

一個消息包的結構內容typedef struct {osal_event_hdr_t hdr; /* OSAL Message header */uint16 groupId; /* Message's group ID - 0 if not set */uint16 clusterId; /* Message's cluster ID */afAddrType_t srcAddr; /* Source Address, if endpoint is STUBAPS_INTER_PAN_EP,it's an InterPAN message */uint16 macDestAddr; /* MAC header destination short address */uint8 endPoint; /* destination endpoint */uint8 wasBroadcast; /* TRUE if network destination was a broadcast address */uint8 LinkQuality; /* The link quality of the received data frame */uint8 correlation; /* The raw correlation value of the received data frame */int8 rssi; /* The received RF power in units dBm */uint8 SecurityUse; /* deprecated */uint32 timestamp; /* receipt timestamp from MAC */uint8 nwkSeqNum; /* network header frame sequence number */afMSGCommandFormat_t cmd; /* Application Data */ } afIncomingMSGPacket_t; ---------------------------------------------------------------------- typedef struct {uint8 event;uint8 status; } osal_event_hdr_t;typedef struct {union{uint16 shortAddr;ZLongAddr_t extAddr;} addr;afAddrMode_t addrMode;uint8 endPoint;uint16 panId; // used for the INTER_PAN feature } afAddrType_t;// Generalized MSG Command Format typedef struct {uint8 TransSeqNumber;uint16 DataLength; // Number of bytes in TransDatauint8 *Data; } afMSGCommandFormat_t;

AF_DataRequest()

afStatus_t AF_DataRequest( afAddrType_t *dstAddr, endPointDesc_t *srcEP,uint16 cID, uint16 len, uint8 *buf, uint8 *transID,uint8 options, uint8 radius ) { }//很重要的一個APi函數,處理過程過于復雜,只展示參數。返回值adStatus_t = uint8*dstAddr - Full ZB destination address: Nwk Addr + End Point.
全終端節點,網絡號和終端號
*srcEP - Origination (i.e. respond to or ack to) End Point Descr.
//終端節點的描述符
cID - A valid cluster ID as specified by the Profile.
//有效簇ID
len - Number of bytes of data pointed to by next param.
//發送數據的長度
*buf - A pointer to the data bytes to send.
//指向發送數據的指針
*transID - A pointer to a byte which can be modified and which will be used as the transaction sequence number of the msg.
options - Valid bit mask of Tx options.
radius - Normally set to AF_DEFAULT_RADIUS.
//跳數,一般為10跳
*transID - Incremented by one if the return value is success.
afStatus_t - See previous definition of afStatus_... types.

關于osal_msg_receive( )函數用于從消息隊列中取出函數

uint8 *osal_msg_receive( uint8 task_id ) {osal_msg_hdr_t *listHdr;osal_msg_hdr_t *prevHdr = NULL;osal_msg_hdr_t *foundHdr = NULL;halIntState_t intState; //unsigned char// Hold off interruptsHAL_ENTER_CRITICAL_SECTION(intState);// Point to the top of the queuelistHdr = osal_qHead;// Look through the queue for a message that belongs to the asking taskwhile ( listHdr != NULL ){if ( (listHdr - 1)->dest_id == task_id ){if ( foundHdr == NULL ){// Save the first onefoundHdr = listHdr;}else{// Second msg found, stop lookingbreak;}}if ( foundHdr == NULL ){prevHdr = listHdr;}listHdr = OSAL_MSG_NEXT( listHdr );}// Is there more than one?if ( listHdr != NULL ){// Yes, Signal the task that a message is waitingosal_set_event( task_id, SYS_EVENT_MSG );}else{// No moreosal_clear_event( task_id, SYS_EVENT_MSG );}// Did we find a message?if ( foundHdr != NULL ){// Take out of the link listosal_msg_extract( &osal_qHead, foundHdr, prevHdr );}// Release interruptsHAL_EXIT_CRITICAL_SECTION(intState);return ( (uint8*) foundHdr ); }typedef struct {void *next;uint16 len;uint8 dest_id; } osal_msg_hdr_t;typedef struct {uint8 event;uint8 status; } osal_event_hdr_t;

由于系統檢測到相關事件觸發此函數,如果觸發了系統事件,需要通過oasl_msg_receive()確認是否真有事件發生,如果不止一個系統事件,通過setevent函數進行再次設置。

關于 osal_start_timerEx()函數,設置該taskid對應時間的定時,沒到一個定時時長觸發一次任務事件。(但是這個觸發設置在哪并沒有找到對應的函數。

uint8 osal_start_timerEx( uint8 taskID, uint16 event_id, uint16 timeout_value ) {halIntState_t intState; //unsigned char typeosalTimerRec_t *newTimer;//HAL_ENTER_CRITICAL_SECTION( intState ); // Hold off interrupts.// Add timernewTimer = osalAddTimer( taskID, event_id, timeout_value );HAL_EXIT_CRITICAL_SECTION( intState ); // Re-enable interrupts.return ( (newTimer != NULL) ? SUCCESS : NO_TIMER_AVAIL ); }

事件的管理

事件管理

事件管理詳見【OSAL如何處理事件】

幾個系統事件

SYS_EVENT_MSG(0x8000),為系統強制事件,該事件主要用來發送全局的系統信息,主要有以下信息:

事件處理首先根據事件類號判斷是何種事件,根據任務號得到消息指針pMSG,最后更具消息指針內的結構pMSG->event 來處理具體的事件。在ZcomDef.h中定義。
AF_DATA_CONFIRM_CMD:數據收到確認。A設備發送數據,B設備收到數據后返回應答Ack觸發此次事件。AF_INCOMING_MSG_CMD:Incoming MSG type message收到報文類型的消息;A設備用AF_DataRequest函數發出報文消息,B設備收到報文消息將觸發AF_INCOMING_MSG_CMD事件。
AF_INCOMING_KWP_CMD:收到鍵值對類型的消息。
AF_INCOMING_GRP_KVP_CMD:收到群鍵值對類型的消息KEY_CHANGE:按鍵觸發事件「Key Events」
ZDO_NEW_DSTADDR:ZDO設備獲取新地址ZDO_STATE_CHANGE:ZDO網絡狀態改變,A設備的網絡狀態發生改變,就會觸發這個事件
ZDO_MATCH_DESC_RSP_SENT:
ZDO_CB_MSG:收到ZDO反饋消息。

關于無線節點和端點的解釋

一個節點可以有多個端點,每個端點對應一個taskid ,每增加一個端點,需要為其配置一個新的任務id。
在zstack協議棧中,我們采用AF_DataRequest這個函數進行無線數據包發送,在AF_DataRequest函數的參數中,SampleApp_Periodic_DstAddr目的地址,目的地址中便包含了16位的短地址(協調器默認為0x0000)以及端點號endpoint。終端將數據包發出,短地址匹配的協調器會收到這個消息(短地址匹配不對則丟棄該包),然后協議棧底層進行解析,將數據包發給協調器的對應endpoint(不匹配則丟棄該包)。
簡單來說,endpoint是用來管理同一個節點上不同任務的工具,相當于一個分類箱,將不同功能分別存放在不同任務上,這樣做的好處是規范數據包,你不用去規定第幾個字節是屬于哪個模塊信息。

端點的管理:

每個節點都有物理地址(MAC)和網絡地址(短地址),每個節點都有241個端點,如果設備需要綁定,必須在網絡層注冊一個或多個端點,進行數據的發送以及綁定表的建立。
1、Zigbee節點(Radio unit) Zigbee本身其實只是一種協議規范,落實到具體目標上無非就是一個具有2.4G射頻發射接收功能和單片機功能的一塊電路板(TI的2530、2430,意法半導體的STM32W108處理器都在一塊芯片上集成了這兩個部分,Ember和飛思卡爾也有集成的,也有一些非集成的方案),在這塊電路板上去運行Zigbee的協議,并且按照協議規范的射頻頻段和無線數據封包格式來在多個這樣的電路板之間實現無線通信。這就引出了節點的概念(英文大致叫做Device,我這里稱之為Radio unit吧),理解起來就是這塊能夠實現無線通信的電路了。如果不是zigbee,而是之前的那些諸如nrf905這樣的射頻芯片,如果其沒有協議棧支持,這個節點就是通信的全部了。 2、zigbee的EndPoint Endpoint這個概念在Zigbee中絕對是非常重要的。因為所有的Zigbee無線數據包都必須有一個Endpoint為目標。那么什么是Endpoint呢?從理解的層面上來說,Endpoint是一個radio unit上的真正的數據目標。按照協議規范,0號endpoint是Zigbee device object(ZDO)用的一個端點,255號是用作廣播用途,我們可以自己設定的是1~240號,其余的保留。在一個Radio unit上可以實現多個EndPoint。當進行無線數據收發的時候,數據包里面就必須包含radio unit信息(設備的短地址),端點信息(destination endpoint number)。也就是說一個radio unit在接收到一個數據包后,會在協議棧的底層進行解析,比對應該把這個數據包發給哪個endpoint,如果找不到,這個包將被丟棄。
短地址+端點號=確定一個終端節點
3、例子 下面我舉兩個例子來解釋一下endpoint的問題 例子一:一個無線節點(radio unit)A上有一個溫濕度傳感器,有一個空調控制系統;另外一個無線節點B則負責接收A發回的溫度數據,并通過一定的算法來控制空調系統。我們不管B如何實現,只研究A如何實現。這種情況的一個很規范的實現方式是:溫濕度傳感器設置一個endpoint,比如為10號;空調控制系統設置一個endpoint,比如為20號。還要說明的是:還應該為每一個endpoint建立一個任務,這樣在注冊端點描述符的時候(調用afRegister函數),就會向協議棧底層說明處理這個端點數據的任務是誰。這樣:當B想要獲取溫濕度的時候,他將會發出一個包含A的短地址和10號端點的信息,這個信息到了A,協議棧會將這個消息轉給10號端點所對應的task去處理,管理空調的20號端點根本就看不到這個消息;類似地,如果B想要控制空調,他發出的數據包將包含A的短地址和20號端點信息,A收到消息后會發給20號端點的task去處理。(需要注意的是:在網絡層面經常會有發給ZDO的消息,這時候信息包的端點號就將是0號)。這種將不同功能分配到不同endpoint上的方法非常有利于任務的劃分,是一種很正規的方法。 例子二、一個無線節點(radio uint)A上有4個LED需要被控制,另外一個無線節點B則有4個開關用來控制這4個LED。這種情形的規范實現方式還是要為每一個LED設置一個endpoint(允許的范圍內你任意指定,只要不重復),并為每個endpoint建立一個task。這樣處理之后,B可以用同樣的命令來控制4個LED,而不是每一個led 用不同的命令,這種情況在public profile實際上是必須這么做的。
上面兩個例子可能很多同學認為太麻煩,完全可以變通。變通的想法就是我所有的被控對象都落在一個endpoint上,但是我發的數據包內容不同,接收端這個endpoint通過解析數據包的內容來判斷具體該做什么,這種方式實際上完全可以實現,不過需要你自己規定一下數據包的格式,即第幾個字節表示什么。。。。。 雖然這可以實現要求,但是我很不贊成這樣,一方面實際上是增加了你程序設計的復雜度,另一方面完全沒有了互聯的可能,尤其是當你用ZCL的時候,這種方式就行不通了。
source

Osal定時器組織模式

Osal_start_timer()是如何調用set_event()函數,整個協作的過程詳見課程參考資料。

通過定時器數據鏈表將其組織起來,這個鏈表由osal_timer_update()函數來管理,由osalTimerUpdate以ms為單位對這些“軟定時器”減計數,當定時器溢出,即調用osal_set_event函數。
osal_start_timerEx通過osalAddTimer向鏈表中添加定時器,由osalTimerUpdate來減計數,當這個定時器溢出后,則會對taskID對應的task設置一個event_id,從而讓這個任務在后面的主循環中運行到。能夠在主循環中運行到的原因是會調用osal_set_event函數來實現主循環里對此項任務的調用
———————————————— https://blog.csdn.net/Rhiney_97/article/details/89739491

![Timerarr](/Users/superming/Library/Mobile Documents/com~apple~CloudDocs/Pics/Timerarr.png)

byte osal_start_timerEx( byte taskID, UINT16 event_id, UINT16 timeout_value ) { halIntState_t intState;osalTimerRec_t *newTimer;HAL_ENTER_CRITICAL_SECTION( intState ); // Hold off interrupts.// Add timernewTimer = osalAddTimer( taskID, event_id, timeout_value );if ( newTimer ){ #ifdef POWER_SAVING// Update timer registersosal_retune_timers();(void)timerActive; #endif// Does the timer need to be started?if ( timerActive == FALSE ){osal_timer_activate( TRUE );}}

osal_start_timerEx() ->osal_add_timer()

typedef struct{void *next;uint16 timeout; uint16 event_flag;uint8 task_id;uint16 reloadTimeout;} osalTimerRec_t //定時器數據鏈表結構體

數據發送/消息

串口發送函數

typedef struct {bool configured; // 配置與否uint8 baudRate; // 波特率bool flowControl; // 流控制uint16 flowControlThreshold; //在RX緩存達到maxRxBufSize之前還有多少字節空余。當到達maxRxBufSize –flowControlThreshold時并且流控制打開時,會觸發相應的應用事件:HAL_UART_RX_ABOUT_FULLuint8 idleTimeout; // 在idleTimout 時間內RX還沒有得到新的數據,將會觸發相應的事件 HAL_UART_RX_TIMEOUT halUARTBufControl_t rx;// 接收halUARTBufControl_t tx;// 發送bool intEnable; // 中斷使能uint32 rxChRvdTime; // 接收數據時間halUARTCBack_t callBackFunc; // 回調函數 }halUARTCfg_t;typedef struct {uint16 bufferHead; //Rx/Tx 緩沖區中的起始字節位置的索引uint16 bufferTail; // Rx/Tx 緩沖區中的末尾字節位置的索引 uint16 maxBufSize; // Rx/Tx 緩沖區一次最多接收或發送的字節數,當接收或者發送字節數到達該值時,產生HAL_UART_RX_FULL or HAL_UART_TX_FULL事件。uint8 *pBuffer; //指向接收字節的緩沖區 }halUARTBufControl_t;

消息接受

一般來說,一個消息對應一個事件。if ( events & SYS_EVENT_MSG ){MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( GenericApp_TaskID );while ( MSGpkt ){switch ( MSGpkt->hdr.event )...}由以上可見,消息作為系統事件接受的。消息的使用與事件類似,使用byte osal_msg_send(byte destination task ,byte *ptr) 觸發,這個函數有兩個參數分別為接收事件任務的ID,另一個為指向消息的指針,用于向一個任務發送命令或消息數據。

osal_msg_allocate()

uint8 * osal_msg_allocate( uint16 len) {osal_msg_hdr_t *hdr;if ( len == 0 )return ( NULL );hdr = (osal_msg_hdr_t *) osal_mem_alloc( (short)(len + sizeof( osal_msg_hdr_t )) );if ( hdr ){hdr->next = NULL;hdr->len = len;hdr->dest_id = TASK_NO_TASK;return ( (uint8 *) (hdr + 1) );}elsereturn ( NULL ); }typedef struct {void *next;uint16 len;uint8 dest_id; } osal_msg_hdr_t;由以上可知,消息由兩個部分組成:消息頭和消息的實際內容。消息頭為協議棧定義的,消息內容我們自己添加的。

osal_mag_send()

uint8 osal_msg_send( uint8 destination_task, uint8 *msg_ptr ) {if ( msg_ptr == NULL )return ( INVALID_MSG_POINTER );if ( destination_task >= tasksCnt ){osal_msg_deallocate( msg_ptr );return ( INVALID_TASK );}// Check the message headerif ( OSAL_MSG_NEXT( msg_ptr ) != NULL ||OSAL_MSG_ID( msg_ptr ) != TASK_NO_TASK ){osal_msg_deallocate( msg_ptr );return ( INVALID_MSG_POINTER );}OSAL_MSG_ID( msg_ptr ) = destination_task;// queue messageosal_msg_enqueue( &osal_qHead, msg_ptr );// Signal the task that a message is waitingosal_set_event( destination_task, SYS_EVENT_MSG );return ( SUCCESS ); }//以上,osal_msg_engueue()為入棧操作,消息是按照隊列的方式被操作的。 //osal_set_event( destination_task, SYS_EVENT_MSG );這句的定義很重要,在發送消息后,觸發系統事件,暗示我們消息處理函數去哪找。

osal_msg_receive

uint16 SampleApp_ProcessEvent( uint8 task_id, uint16 events ) {afIncomingMSGPacket_t *MSGpkt;if ( events & SYS_EVENT_MSG ){MSGpkt = (afIncomingMSGPacket_t *)osal_msg_receive( SampleApp_TaskID );while ( MSGpkt ){switch ( MSGpkt->hdr.event ){// Received when a key is pressedcase KEY_CHANGE:SampleApp_HandleKeys( ((keyChange_t *)MSGpkt)->state, ((keyChange_t *)MSGpkt)->keys );break;// Received when a messages is received (OTA) for this endpointcase AF_INCOMING_MSG_CMD:SampleApp_MessageMSGCB( MSGpkt );break;...}}} typedef struct {uint8 event;uint8 status; } osal_event_hdr_t;

osal_event_hdr_t,包含事件發生的標志和狀態,用來找到事件對應消息的。然后通過消息中的Event來判斷需要進行的操作。

相關消息事件在ZComDef.h中定義

##消息隊列的維護

系統事件會在對應接收到消息后在對應的Event中觸發。

消息的處理與使用與事件類似,使用byte_osal_msg_send(byte destination , byte_*msg_ptr)函數觸發,指向一個任務發送命令或數據消息,同時出發系統消息任務。

消息是按照隊列的方式進行管理的,

重要函數Collection

ASDU:Zigbee協議中APS應用服務數單元

AF_DataRequest()

向指定的節點的端口發送數據。
端點借助單項鏈表進行管理,用戶需要使用某個端點繼續通訊時,先要調用afResiger注冊相應的端點向端點管理鏈表添加一條記錄。
端點的接受過程:afIncomingData函數提取來自APS層數據包中的目標端點號,匹配對應的端點。
//若配置應用ID、應用配置ID,則數據會被打包, 借助OSAL的消息機制,最終發送到相應對點應用對象的消息處理函數。

Question :

并未找到此函數在何處調用。
在老師AF_DataRequest()函數說明文檔中標注:
發送數據通過在應用層調用函數void SampleApp_SendFlashMessage(uint 16 flashTime),其參數為發送的數據。afStatus_t AF_DataRequest( //afStatus_t == uint 8 afAddrType_t *dstAddr, //*dstAddr 發送網絡號+端點號,即確定一個事件 endPointDesc_t *srcEP,//終端節點的描述 uint16 cID, //簇id uint16 len, //發送數據長度 uint8 *buf, //發送數據緩沖區 uint8 *transID,//任務ID號指針 uint8 options, //有效位掩碼發送選項 uint8 radius//傳送跳數,常為AF_DEFAULT_RADIUS,10跳 )Uint 16 cID: 簇ID號,具體應用串ID
uint8 options:
? #defineAF_FRAGMENTED 0x01
? #defineAF_ACK_REQUEST 0x10 //需要接收方的確認
? #defineAF_DISCV_ROUTE 0x20
? #defineAF_EN_SECURITY 0x40
# defineAF_SKIP_ROUTING 0x80

afAddrType_t

typedef struct { union { uint16 shortAddr; //短地址ZlongAddr_t extAddr;//長地址 byte ZLongAddr_t[8],8個8字節,即64位}addr; afAddrMode_t addrMode;//傳送模式 ,廣播/單點/間接...byte endPoint; //端點號 1-240,區分不同端點uint panID //網絡號 同一節點的網絡號相同 }afAddrType_t;

endPointDesc_t 端點描述集群

typedef struct { byte endPoint; //端點號 byte* task_id; //指向任務的TASK_IDSimpleDescriptionFormat_t *simpleDesc; //簡單的端點描述 afNetworkLatencyReq_t latencyReq; //網路延遲請求:有noLaencyReqs/fastBeacons/slowBeacons.三種模式 }endPointDesc_t;

afAddrMode_t 地址發送模式

typedef enum//afAddrMode_t數據傳送類型 { afAddrNotPresent = AddrNotPresent, //間接傳送,直接按照綁定表傳輸。 afAddr16Bit = Addr16Bit,//短地址傳輸,即點對點傳輸,在傳輸是需要設置addr.shortAddr為目的節點的16為地址 adAddr64bit = Addr64bit,//點對點,通過IEEE地址傳輸 afAddrGroup = AddrGroup,//傳輸在一個組內傳輸。地址模式設置為afAddGroup,且addr.shortAddr設置為組id。 afAddrBroadcast = AddrBroadcast //廣播傳送。 } afAddrMode_t;//數據傳送類型

endPointDesc_t. 設備端點描述符

typedef struct {byte endPoint;byte *task_id; // Pointer to location of the Application task ID.SimpleDescriptionFormat_t *simpleDesc; //設備簡單描述符afNetworkLatencyReq_t latencyReq;} endPointDesc_t;//設備端點描述符

SimpleDescriptionFormat_t 簡單描述符群集

typedef struct{ byte EndPoint; //EP uint16 AppProfId; //應用規范ID uint16 AppDeviceId; //特定規范ID的設備類型 byte AppDevVer:4; //特定規范ID的設備的版本 byte Reserved:4; byte AppNumInClusters;//輸入簇ID的個數 cId_t *pAppInClusterList;//輸入簇ID的列表的指針byte AppNumOutClusters; //輸出簇ID的個數 cId_t *pAppOutClusterList;//輸出簇ID的列表 的指針 }SimpleDescriptionFormat_t;

afStatus_t

typedef enum {afStatus_SUCCESS,//0x00afStatus_FAILED ,//0x01afStatus_MEM_Error,//0x10afStatus_INVALID_PARAMETER,//0x02afStatus_NO_ROUTE//0xCD } afStatus_t;

halUARTCfg_t類型 串口設置

typedef struct {bool configured;//uint8 baudRate;//bool flowControl;//uint16 flowControlThreshold;//uint8 idleTimeout;//如果在idleTimout 時間內RX還沒//有得到新的數據,將會觸發相應的事件HAL_UART_RX_TIMEOUT ,這時應用可以選擇讀出所有RX的值或者一部分。halUARTBufControl_t rx;//用于控制RX緩存halUARTBufControl_t tx;//用于控制TX緩存bool intEnable;//uint32 rxChRvdTime;//halUARTCBack_t callBackFunc;//回調函數 }halUARTCfg_t;

osal_start_timeEx()

(一旦網絡狀態變化)進行任務初始化,設置任務,發送編號,設定時間
函數幫助我們登記任務,設置編號,設定定時器時間。任務即確定在哪個task,編號則確定觸發什么事件,定時器則是間隔多久觸發這個事件。

Dev_States_t

網絡狀態結構體、定義了節點各個網絡狀態 typedef enum {DEV_HOLD, // Initialized - not started automaticallyDEV_INIT, // Initialized - not connected to anythingDEV_NWK_DISC, // Discovering PAN's to joinDEV_NWK_JOINING, // Joining a PANDEV_NWK_SEC_REJOIN_CURR_CHANNEL, // ReJoining a PAN in secure mode scanning in current channel, only for end devicesDEV_END_DEVICE_UNAUTH, // Joined but not yet authenticated by trust centerDEV_END_DEVICE, // Started as device after authenticationDEV_ROUTER, // Device joined, authenticated and is a routerDEV_COORD_STARTING, // Started as Zigbee CoordinatorDEV_ZB_COORD, // Started as Zigbee CoordinatorDEV_NWK_ORPHAN, // Device has lost information about its parent..DEV_NWK_KA, // Device is sending KeepAlive message to its parentDEV_NWK_BACKOFF, // Device is waiting before trying to rejoinDEV_NWK_SEC_REJOIN_ALL_CHANNEL, // ReJoining a PAN in secure mode scanning in all channels, only for end devicesDEV_NWK_TC_REJOIN_CURR_CHANNEL, // ReJoining a PAN in Trust center mode scanning in current channel, only for end devicesDEV_NWK_TC_REJOIN_ALL_CHANNEL // ReJoining a PAN in Trust center mode scanning in all channels, only for end devices } devStates_t;

osalTimerRec_t結構體

typedef struct {void *next;uint16 timeout;uint16 event_flag;uint8 task_id;uint16 reloadTimeout; } osalTimerRec_t;

消息的傳輸

afIncomingData()函數用來從APS層傳遞一個ASDU到AF層,中間調用afBuildMSGIncoming()函數,為APS層建立一個特定格式的消息包,最后調用osal_msg_send()把消息傳送到AF層。

處理AF層數據包的大致流程: afIncomingData() -> adBuildMSGIncoming()->osal_msg_send()->oasl_set_event()

setevent()

在tasksEvent數組中對應的taskid位置設置eventsuint8 osal_set_event( uint8 task_id, uint16 event_flag ) {if ( task_id < tasksCnt ){halIntState_t intState;HAL_ENTER_CRITICAL_SECTION(intState); // Hold off interruptstasksEvents[task_id] |= event_flag; // Stuff the event bit(s)HAL_EXIT_CRITICAL_SECTION(intState); // Release interruptsreturn ( SUCCESS );}else{return ( INVALID_TASK );} }

AfIncomingData()

當節點收到數據時,會調用AfIncomingData()

afIncomingMSGPacket_t

接受發送的數據,afIncomingMSGPacket_t結構體為消息的封裝內容。 typedef struct {osal_event_hdr_t hdr; /* OSAL Message header */uint16 groupId; /* Message's group ID - 0 if not set */uint16 clusterId; /* Message's cluster ID */afAddrType_t srcAddr; /* Source Address, if endpoint is STUBAPS_INTER_PAN_EP,it's an InterPAN message */uint16 macDestAddr; /* MAC header destination short address */uint8 endPoint; /* destination endpoint */uint8 wasBroadcast; /* TRUE if network destination was a broadcast address */uint8 LinkQuality; /* The link quality of the received data frame */uint8 correlation; /* The raw correlation value of the received data frame */int8 rssi; /* The received RF power in units dBm */uint8 SecurityUse; /* deprecated */uint32 timestamp; /* receipt timestamp from MAC */afMSGCommandFormat_t cmd; /* Application Data */} afIncomingMSGPacket_t;//afIncomingMSGPacket_t gtwRxFromNode;// Generalized MSG Command Formattypedef struct // afMSGCommandFormat_t; {byte TransSeqNumber;uint16 DataLength; // Number of bytes in TransDatabyte *Data;} afMSGCommandFormat_t;

數據的發送和接受

對接收方需要做的兩件事
1)注冊一個端點,通過在XXXXApp_Init()函數里調用afRegister()來實現。如果需要處理ZDO消息和案件消息還得調用相應的注冊函數ZDO_RegisterForZDOMsg,RegisterForKeys。
2)注冊了端點和消息之后,需要寫一個消息處理函數,來響應各種消息,這個函數通常叫作XXXXApp_ProcessEvent()。
對于發送來說,事情就簡單了,只要調AF_DataRequest()函數,向指定的節點的端口發送數據即可。
從AF.C和AF.H可以看到端點是借助單向鏈表來管理的。用戶需要使用某個端點進行通訊時,先要調用afRegister注冊相應的端點向端點管理鏈表添加一條記錄。
端點一 注冊之后,在接收和發送兩個過程中都會使用到。
在接收過程,afIncomingData函數提取來自APS層數據包中的目標端點號,搜索節點已注冊的端點號,進行匹配。如果端點號匹配則需要進一步匹配應用配置ID,應用配置ID也匹配的語,數據包就會被打包,然后借助OSAL的消息機制,最終發送到相應端點應用對象的消息處理函數。
在發送過程,端點信息被AF_DataRequest讀取,填寫到數據包相關的區域,如果端點注冊了回調函數,回調函數將在數據發送前被調用。

數據收發過程中雙方必需指定端點號和網絡地址,這樣才能在一個節點中確定一個任務。一個端點對應一個任務,一個任務可以掛載多個端點。

端點里可以定義多個簇,發送的時候定義哪個端點中的哪個簇。

?Zstack Osal定時器事件觸發流程分析

系統事件的幾種類型。

系統事件觸發的條件。

Zstack對于端點的管理。(單項鏈表)

協調器和終端節點的設備號以及端點號可以都一樣嗎?是不是協調器有協調器的設備號和端點號,終端節點有終端節點的。二者不相干:

ProfileID必須一樣

DeviceID可以不一樣

Endpoint也可以不一樣,但是通信的時候必須要知道目的設備的Endpoint,負責無法通信上。

Profile ID只是一類應用的ID號,比方說智能家居,無線開關,溫度傳感器,doorlock,窗簾控制器等等,屬于智能家居的產品,那么他們的profile ID都是一樣的。智能家居是0x0104
device ID是值一個profile ID下面,不同設備的id號,設置這個ID號的目的在于知道ID號,就知道這個設備具備哪些功能。
比方說一個on/off Light 和一個Dimmer Light的device id是不一樣的,功能不同。

總結

Q:

Zstack控制在代碼一樣的情況下將設備分別燒成協調器、終端,路由器。

流程整理

如果一個節點(Radio Unit)有多個終端設置,每增加一個終端節點,設置對應的taskid,并對其進行注冊,接入鏈表,終端節點是通過鏈表進行維護的,通過端點號對其進行查找;注冊完畢,對其進行初始化,然后為每一個taskid建立一個任務處理函數,對其進行操作。

總結

以上是生活随笔為你收集整理的zigbee 串口不稳定_Zigbee的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产明星裸体无码xxxx视频 | 牲交欧美兽交欧美 | 欧美喷潮久久久xxxxx | 久久人人爽人人爽人人片av高清 | 亚洲狠狠色丁香婷婷综合 | 国产乱码精品一品二品 | 大地资源网第二页免费观看 | 久久伊人色av天堂九九小黄鸭 | 香港三级日本三级妇三级 | 国产 浪潮av性色四虎 | 国产成人亚洲综合无码 | 亚洲第一无码av无码专区 | 蜜桃无码一区二区三区 | 国产一区二区三区影院 | 欧美成人免费全部网站 | 国产成人综合色在线观看网站 | 无码人妻少妇伦在线电影 | 四虎影视成人永久免费观看视频 | 国模大胆一区二区三区 | 性色欲网站人妻丰满中文久久不卡 | 一个人看的www免费视频在线观看 | 亚欧洲精品在线视频免费观看 | 国产亚洲精品久久久闺蜜 | 国产免费观看黄av片 | 亚洲精品一区三区三区在线观看 | 久久精品国产日本波多野结衣 | 在线天堂新版最新版在线8 | 亚洲国产av美女网站 | 国产精品办公室沙发 | 无码福利日韩神码福利片 | 欧美精品无码一区二区三区 | 亚洲欧洲日本无在线码 | 成人精品视频一区二区三区尤物 | 男女猛烈xx00免费视频试看 | 国产精品久久国产精品99 | 国产人妖乱国产精品人妖 | 乌克兰少妇xxxx做受 | 十八禁视频网站在线观看 | 亚洲精品一区二区三区婷婷月 | 无码国产色欲xxxxx视频 | 无码成人精品区在线观看 | 精品久久久久久人妻无码中文字幕 | 人人爽人人澡人人人妻 | 成人欧美一区二区三区黑人 | 色综合久久网 | 中文字幕无线码免费人妻 | 国产97人人超碰caoprom | 国精品人妻无码一区二区三区蜜柚 | 久久综合激激的五月天 | 国产精品久久国产三级国 | 九九久久精品国产免费看小说 | 精品久久久无码中文字幕 | 性色av无码免费一区二区三区 | 中文字幕无线码 | 日本丰满护士爆乳xxxx | 亚洲精品久久久久久久久久久 | 国产成人精品一区二区在线小狼 | 中文字幕中文有码在线 | 强辱丰满人妻hd中文字幕 | 国内老熟妇对白xxxxhd | 成人女人看片免费视频放人 | 久久99精品国产麻豆蜜芽 | 国产三级精品三级男人的天堂 | 俺去俺来也www色官网 | 欧美三级a做爰在线观看 | 国产精品自产拍在线观看 | 在教室伦流澡到高潮hnp视频 | 3d动漫精品啪啪一区二区中 | 日本护士xxxxhd少妇 | 无套内谢老熟女 | 国产精品沙发午睡系列 | 国产精品久久久久久亚洲影视内衣 | 熟妇人妻无码xxx视频 | 四虎4hu永久免费 | 女高中生第一次破苞av | 中文字幕无码日韩专区 | 久久久久免费看成人影片 | 中文字幕无码av波多野吉衣 | 丰满少妇人妻久久久久久 | 高潮毛片无遮挡高清免费 | 国产人妻人伦精品 | 久久国产精品萌白酱免费 | 日本www一道久久久免费榴莲 | 精品国产青草久久久久福利 | 正在播放东北夫妻内射 | 无码中文字幕色专区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 日本丰满熟妇videos | 人妻少妇精品无码专区动漫 | 精品偷自拍另类在线观看 | 欧美性猛交xxxx富婆 | ass日本丰满熟妇pics | 日韩av无码一区二区三区不卡 | 精品久久久久久亚洲精品 | 国色天香社区在线视频 | 久久久久成人片免费观看蜜芽 | 国产三级精品三级男人的天堂 | 欧美猛少妇色xxxxx | 精品久久久无码人妻字幂 | 欧美精品一区二区精品久久 | 精品无码一区二区三区爱欲 | 伊人久久大香线焦av综合影院 | 亚洲精品久久久久久一区二区 | 色偷偷人人澡人人爽人人模 | 青草青草久热国产精品 | 丝袜美腿亚洲一区二区 | 欧美自拍另类欧美综合图片区 | 丁香啪啪综合成人亚洲 | 少妇高潮一区二区三区99 | 久久久无码中文字幕久... | 3d动漫精品啪啪一区二区中 | 国产农村乱对白刺激视频 | √天堂中文官网8在线 | 日日天干夜夜狠狠爱 | 国产午夜福利100集发布 | 丁香花在线影院观看在线播放 | 免费观看又污又黄的网站 | 日韩人妻少妇一区二区三区 | 成人无码影片精品久久久 | 夜精品a片一区二区三区无码白浆 | 在线精品亚洲一区二区 | 亚洲一区二区三区无码久久 | 人人爽人人爽人人片av亚洲 | 成人一区二区免费视频 | 97色伦图片97综合影院 | 少妇性l交大片欧洲热妇乱xxx | 高中生自慰www网站 | 四虎影视成人永久免费观看视频 | 久久精品女人天堂av免费观看 | 丰腴饱满的极品熟妇 | 欧美日本免费一区二区三区 | 免费播放一区二区三区 | 男女性色大片免费网站 | 成 人 网 站国产免费观看 | 亚洲欧美综合区丁香五月小说 | 在线观看国产一区二区三区 | 成人亚洲精品久久久久软件 | 日韩精品乱码av一区二区 | 国产亚洲精品久久久久久国模美 | 亚洲国产一区二区三区在线观看 | 欧美阿v高清资源不卡在线播放 | 久久久久av无码免费网 | 性欧美大战久久久久久久 | 亚洲自偷自拍另类第1页 | 国产精品福利视频导航 | 无码人妻精品一区二区三区不卡 | 男女超爽视频免费播放 | 中文字幕 亚洲精品 第1页 | 国产成人精品无码播放 | 国产免费无码一区二区视频 | 国产精品多人p群无码 | 色综合视频一区二区三区 | 呦交小u女精品视频 | 麻豆国产人妻欲求不满 | 成 人 免费观看网站 | 中文字幕无码乱人伦 | 成人免费视频视频在线观看 免费 | 亚洲色偷偷男人的天堂 | 中文无码伦av中文字幕 | 国产激情精品一区二区三区 | 欧美人与物videos另类 | 久久国产36精品色熟妇 | 亚洲中文字幕在线无码一区二区 | 久久99热只有频精品8 | 女人色极品影院 | av无码久久久久不卡免费网站 | 国产精品无码久久av | 久久久久成人片免费观看蜜芽 | 久久精品人人做人人综合 | 人人妻人人澡人人爽人人精品浪潮 | 麻豆人妻少妇精品无码专区 | 国产性生大片免费观看性 | 在线看片无码永久免费视频 | 性生交大片免费看女人按摩摩 | 国产艳妇av在线观看果冻传媒 | 国产极品视觉盛宴 | 国产精品怡红院永久免费 | 成人精品天堂一区二区三区 | 日本精品少妇一区二区三区 | 亚洲中文字幕va福利 | 国产在线精品一区二区高清不卡 | 老子影院午夜伦不卡 | 国产激情无码一区二区app | 国产真实乱对白精彩久久 | 人妻aⅴ无码一区二区三区 | 日日夜夜撸啊撸 | 亚洲精品综合五月久久小说 | 蜜臀aⅴ国产精品久久久国产老师 | 精品水蜜桃久久久久久久 | 一区二区三区乱码在线 | 欧洲 | 中文字幕人成乱码熟女app | 国产又爽又黄又刺激的视频 | 无码乱肉视频免费大全合集 | 娇妻被黑人粗大高潮白浆 | 久久久久久久久888 | 色综合视频一区二区三区 | 精品偷自拍另类在线观看 | 国产一区二区三区精品视频 | 欧美日韩一区二区三区自拍 | 亚洲中文字幕无码中文字在线 | 女人被男人爽到呻吟的视频 | 国产免费久久久久久无码 | 人人妻人人藻人人爽欧美一区 | 亚洲熟妇色xxxxx欧美老妇 | 97夜夜澡人人双人人人喊 | 国产后入清纯学生妹 | 夜夜躁日日躁狠狠久久av | 久久天天躁夜夜躁狠狠 | 久久精品女人的天堂av | 国产日产欧产精品精品app | 亚洲 a v无 码免 费 成 人 a v | 在线观看国产午夜福利片 | 久久伊人色av天堂九九小黄鸭 | 麻豆成人精品国产免费 | 免费观看又污又黄的网站 | 免费无码肉片在线观看 | 精品成在人线av无码免费看 | 欧美阿v高清资源不卡在线播放 | 中文字幕 亚洲精品 第1页 | 扒开双腿疯狂进出爽爽爽视频 | 99久久亚洲精品无码毛片 | 中文精品久久久久人妻不卡 | 午夜熟女插插xx免费视频 | 久久久精品国产sm最大网站 | 国产成人亚洲综合无码 | 国产精品人人妻人人爽 | 在线 国产 欧美 亚洲 天堂 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 97无码免费人妻超级碰碰夜夜 | 欧美国产日韩久久mv | 97se亚洲精品一区 | 亚洲无人区一区二区三区 | 欧美人与善在线com | 国产人妖乱国产精品人妖 | 欧美真人作爱免费视频 | 午夜性刺激在线视频免费 | 国产乱子伦视频在线播放 | 国产亚av手机在线观看 | 成年美女黄网站色大免费视频 | 亚洲人成影院在线无码按摩店 | 国产精品久久国产三级国 | 欧美三级不卡在线观看 | 精品少妇爆乳无码av无码专区 | 国产av无码专区亚洲a∨毛片 | 精品国产国产综合精品 | 风流少妇按摩来高潮 | 窝窝午夜理论片影院 | 日韩 欧美 动漫 国产 制服 | 国内精品人妻无码久久久影院 | 色欲人妻aaaaaaa无码 | 97se亚洲精品一区 | a片在线免费观看 | 人妻少妇精品无码专区动漫 | 5858s亚洲色大成网站www | 精品国产成人一区二区三区 | 成人精品视频一区二区三区尤物 | 久在线观看福利视频 | 无码人妻丰满熟妇区五十路百度 | 国产午夜亚洲精品不卡 | 亚洲热妇无码av在线播放 | 国产精品久久久午夜夜伦鲁鲁 | 少妇性荡欲午夜性开放视频剧场 | 老子影院午夜伦不卡 | 日韩人妻无码中文字幕视频 | 亚洲国产精品一区二区美利坚 | av香港经典三级级 在线 | 亚洲狠狠色丁香婷婷综合 | 亚洲热妇无码av在线播放 | 秋霞成人午夜鲁丝一区二区三区 | 爱做久久久久久 | 大肉大捧一进一出好爽视频 | 乱码av麻豆丝袜熟女系列 | 久久亚洲精品成人无码 | 国产精品va在线播放 | 欧美 日韩 人妻 高清 中文 | 国产成人一区二区三区别 | 性啪啪chinese东北女人 | 成熟人妻av无码专区 | 国内精品人妻无码久久久影院蜜桃 | 日产精品高潮呻吟av久久 | 国产人成高清在线视频99最全资源 | 国产超碰人人爽人人做人人添 | 性生交大片免费看女人按摩摩 | 东京热一精品无码av | 沈阳熟女露脸对白视频 | 国产精品久久久久影院嫩草 | 成人亚洲精品久久久久软件 | 日本爽爽爽爽爽爽在线观看免 | 未满小14洗澡无码视频网站 | 日韩欧美群交p片內射中文 | 亚洲 日韩 欧美 成人 在线观看 | 国产精品.xx视频.xxtv | 国语精品一区二区三区 | 一本大道伊人av久久综合 | 香港三级日本三级妇三级 | 国产成人精品三级麻豆 | 久久久久久久女国产乱让韩 | 亚洲日韩av一区二区三区四区 | 精品国产aⅴ无码一区二区 | 好男人社区资源 | 欧美黑人乱大交 | 亚洲色欲色欲天天天www | 国产在线aaa片一区二区99 | 久久伊人色av天堂九九小黄鸭 | 亚洲熟妇色xxxxx亚洲 | 人人妻人人澡人人爽欧美一区 | 欧美精品在线观看 | 国产成人综合在线女婷五月99播放 | 精品国产av色一区二区深夜久久 | 欧美三级a做爰在线观看 | 国产一区二区三区影院 | 免费国产黄网站在线观看 | 国产亚洲精品久久久闺蜜 | 久久97精品久久久久久久不卡 | 亚洲天堂2017无码 | 人人妻人人澡人人爽精品欧美 | 成人aaa片一区国产精品 | 久激情内射婷内射蜜桃人妖 | 亚洲日韩av一区二区三区四区 | 香港三级日本三级妇三级 | 小sao货水好多真紧h无码视频 | 亚洲欧美日韩综合久久久 | 久久97精品久久久久久久不卡 | 国产午夜无码精品免费看 | 日韩精品无码一区二区中文字幕 | 婷婷综合久久中文字幕蜜桃三电影 | 福利一区二区三区视频在线观看 | 18精品久久久无码午夜福利 | 亚洲高清偷拍一区二区三区 | 无套内谢的新婚少妇国语播放 | 四虎4hu永久免费 | 人人超人人超碰超国产 | 永久免费精品精品永久-夜色 | 麻花豆传媒剧国产免费mv在线 | 青草青草久热国产精品 | 欧美第一黄网免费网站 | 欧美日韩人成综合在线播放 | 日本一区二区更新不卡 | 久久五月精品中文字幕 | 自拍偷自拍亚洲精品被多人伦好爽 | 国内综合精品午夜久久资源 | 少妇无码一区二区二三区 | 人妻aⅴ无码一区二区三区 | 久久午夜无码鲁丝片午夜精品 | 成人aaa片一区国产精品 | 国产sm调教视频在线观看 | 7777奇米四色成人眼影 | 亚洲熟妇色xxxxx欧美老妇 | 人妻夜夜爽天天爽三区 | 装睡被陌生人摸出水好爽 | 少妇太爽了在线观看 | 特级做a爰片毛片免费69 | 国产精品美女久久久久av爽李琼 | 亚洲一区二区三区含羞草 | 亚洲精品一区三区三区在线观看 | 夫妻免费无码v看片 | 国产欧美精品一区二区三区 | 免费网站看v片在线18禁无码 | 爽爽影院免费观看 | 丰满护士巨好爽好大乳 | 欧美性黑人极品hd | 色综合久久久久综合一本到桃花网 | 国产精品久久久久无码av色戒 | 国产成人综合美国十次 | 强伦人妻一区二区三区视频18 | 麻豆人妻少妇精品无码专区 | 九月婷婷人人澡人人添人人爽 | 久久99精品久久久久久动态图 | 久久精品丝袜高跟鞋 | 国产精品爱久久久久久久 | 久久久成人毛片无码 | 日韩av无码一区二区三区不卡 | 在教室伦流澡到高潮hnp视频 | 国内综合精品午夜久久资源 | 国产人妻精品一区二区三区不卡 | 人人妻人人澡人人爽人人精品浪潮 | 精品久久久久久亚洲精品 | 国产精品香蕉在线观看 | 亚洲一区二区三区国产精华液 | 高潮毛片无遮挡高清免费视频 | 欧美性猛交内射兽交老熟妇 | 日韩人妻系列无码专区 | 无人区乱码一区二区三区 | 色婷婷久久一区二区三区麻豆 | 国产成人综合在线女婷五月99播放 | 国内精品九九久久久精品 | 精品午夜福利在线观看 | 国产午夜福利100集发布 | 男女作爱免费网站 | 一本久久a久久精品亚洲 | 国产另类ts人妖一区二区 | 久久国产自偷自偷免费一区调 | av无码不卡在线观看免费 | 久久久久亚洲精品中文字幕 | 东京热男人av天堂 | 丰满少妇弄高潮了www | 夜夜夜高潮夜夜爽夜夜爰爰 | 内射白嫩少妇超碰 | 国产精品无码永久免费888 | 亚洲码国产精品高潮在线 | 久久五月精品中文字幕 | 人妻与老人中文字幕 | 宝宝好涨水快流出来免费视频 | 欧美35页视频在线观看 | 熟妇人妻无乱码中文字幕 | av香港经典三级级 在线 | 亚洲精品综合五月久久小说 | 久久精品国产亚洲精品 | 97无码免费人妻超级碰碰夜夜 | 国产精品99爱免费视频 | 久久99热只有频精品8 | 无码播放一区二区三区 | 国产精品久久久久久亚洲毛片 | 夜夜影院未满十八勿进 | 秋霞成人午夜鲁丝一区二区三区 | 欧美成人免费全部网站 | 国内精品九九久久久精品 | 日本一区二区三区免费高清 | 亚洲 欧美 激情 小说 另类 | 亚洲中文字幕av在天堂 | 国产精品久久久久影院嫩草 | 亚洲日韩中文字幕在线播放 | 在线观看国产一区二区三区 | 国产精品久久久av久久久 | 男人扒开女人内裤强吻桶进去 | 男女下面进入的视频免费午夜 | 精品国产福利一区二区 | 亚洲自偷自拍另类第1页 | 欧洲熟妇色 欧美 | 午夜性刺激在线视频免费 | 中文字幕日产无线码一区 | 青春草在线视频免费观看 | 成人一在线视频日韩国产 | 在线亚洲高清揄拍自拍一品区 | 国产精品毛片一区二区 | 55夜色66夜色国产精品视频 | 在线 国产 欧美 亚洲 天堂 | 久久天天躁狠狠躁夜夜免费观看 | 国产成人综合色在线观看网站 | 午夜精品久久久久久久久 | 久久精品国产精品国产精品污 | 97精品人妻一区二区三区香蕉 | 丝袜人妻一区二区三区 | 久久精品国产99精品亚洲 | 欧美精品一区二区精品久久 | 超碰97人人做人人爱少妇 | 少妇的肉体aa片免费 | 久久99精品久久久久婷婷 | 一本大道伊人av久久综合 | 亚洲国产一区二区三区在线观看 | 国产高清不卡无码视频 | 国产午夜无码视频在线观看 | 免费国产黄网站在线观看 | 久久99精品久久久久久动态图 | 55夜色66夜色国产精品视频 | 无码人妻少妇伦在线电影 | 最新版天堂资源中文官网 | 精品人妻人人做人人爽夜夜爽 | 图片区 小说区 区 亚洲五月 | 色诱久久久久综合网ywww | 亚洲色大成网站www国产 | 国产乱人伦偷精品视频 | 黑人大群体交免费视频 | 久久久久久久人妻无码中文字幕爆 | 欧美人与牲动交xxxx | 永久黄网站色视频免费直播 | 99视频精品全部免费免费观看 | 亚洲成a人片在线观看无码3d | 国产在线精品一区二区三区直播 | 无码人中文字幕 | 国产精品欧美成人 | 国产高清av在线播放 | 国产一区二区三区影院 | 日韩人妻少妇一区二区三区 | 精品无码一区二区三区爱欲 | 午夜福利试看120秒体验区 | 无码国模国产在线观看 | 国产亚洲精品精品国产亚洲综合 | 大屁股大乳丰满人妻 | 亚洲色大成网站www国产 | 无遮挡国产高潮视频免费观看 | 亚洲无人区一区二区三区 | 老熟女重囗味hdxx69 | 性欧美牲交xxxxx视频 | 成年美女黄网站色大免费全看 | 2019午夜福利不卡片在线 | 亚洲呦女专区 | 亚洲s码欧洲m码国产av | 一本无码人妻在中文字幕免费 | 久久亚洲中文字幕无码 | 国产亲子乱弄免费视频 | 国产内射爽爽大片视频社区在线 | 国产成人精品无码播放 | 黑森林福利视频导航 | 高潮毛片无遮挡高清免费视频 | 超碰97人人射妻 | 97久久国产亚洲精品超碰热 | 国产午夜亚洲精品不卡下载 | 亚洲色欲色欲天天天www | 蜜臀av在线播放 久久综合激激的五月天 | а√天堂www在线天堂小说 | 亚洲gv猛男gv无码男同 | 亚洲 a v无 码免 费 成 人 a v | 人妻中文无码久热丝袜 | 成人一在线视频日韩国产 | 欧美精品在线观看 | 精品国产av色一区二区深夜久久 | 人妻少妇精品久久 | 18无码粉嫩小泬无套在线观看 | 国产明星裸体无码xxxx视频 | 国产成人无码区免费内射一片色欲 | 国产激情精品一区二区三区 | 狂野欧美性猛xxxx乱大交 | 久久精品一区二区三区四区 | 精品日本一区二区三区在线观看 | 亚洲理论电影在线观看 | 丁香花在线影院观看在线播放 | 一个人看的www免费视频在线观看 | 国产偷自视频区视频 | 99精品无人区乱码1区2区3区 | 亚洲精品一区二区三区大桥未久 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 蜜臀av在线播放 久久综合激激的五月天 | 国产成人无码av一区二区 | 麻花豆传媒剧国产免费mv在线 | 日韩无套无码精品 | 东京一本一道一二三区 | 日本精品高清一区二区 | 欧美性生交活xxxxxdddd | 亚洲日本一区二区三区在线 | 夜精品a片一区二区三区无码白浆 | 亚洲成av人在线观看网址 | √天堂中文官网8在线 | 亚洲成a人片在线观看无码 | 福利一区二区三区视频在线观看 | 免费无码一区二区三区蜜桃大 | 久久精品国产一区二区三区肥胖 | 欧美刺激性大交 | 亚洲精品国产品国语在线观看 | 荫蒂被男人添的好舒服爽免费视频 | 国产av一区二区三区最新精品 | 99久久人妻精品免费二区 | 国产精品人人妻人人爽 | 5858s亚洲色大成网站www | 亚洲理论电影在线观看 | 国产精品亚洲lv粉色 | 成人亚洲精品久久久久软件 | 天堂亚洲免费视频 | 免费乱码人妻系列无码专区 | 亚洲欧洲日本综合aⅴ在线 | 西西人体www44rt大胆高清 | 久久人人爽人人人人片 | 国产高潮视频在线观看 | 久久久久亚洲精品男人的天堂 | 亚洲成av人在线观看网址 | 少妇无码av无码专区在线观看 | 国产亲子乱弄免费视频 | 日韩欧美中文字幕在线三区 | 亚洲综合在线一区二区三区 | 丰满妇女强制高潮18xxxx | 免费观看激色视频网站 | 青青青手机频在线观看 | 亚洲欧洲日本综合aⅴ在线 | 老司机亚洲精品影院无码 | 精品厕所偷拍各类美女tp嘘嘘 | 成熟妇人a片免费看网站 | 国产精华av午夜在线观看 | √8天堂资源地址中文在线 | 日本护士毛茸茸高潮 | 国产性猛交╳xxx乱大交 国产精品久久久久久无码 欧洲欧美人成视频在线 | 国内精品九九久久久精品 | 亚洲人成影院在线无码按摩店 | 日韩无码专区 | 国产午夜视频在线观看 | 亚洲中文字幕成人无码 | 蜜桃视频插满18在线观看 | 巨爆乳无码视频在线观看 | 99精品国产综合久久久久五月天 | 曰本女人与公拘交酡免费视频 | 人妻少妇被猛烈进入中文字幕 | 一本久久a久久精品亚洲 | 亚洲精品无码人妻无码 | 东京一本一道一二三区 | 国产亚洲精品久久久久久久久动漫 | 日韩精品无码一区二区中文字幕 | 日日鲁鲁鲁夜夜爽爽狠狠 | 国产xxx69麻豆国语对白 | 欧洲vodafone精品性 | 亚洲国产欧美日韩精品一区二区三区 | 中文字幕无码av波多野吉衣 | 欧美 日韩 人妻 高清 中文 | 日产国产精品亚洲系列 | 性欧美大战久久久久久久 | 日韩欧美群交p片內射中文 | 国产精品无码mv在线观看 | 亚洲 欧美 激情 小说 另类 | 久久精品成人欧美大片 | 色一情一乱一伦一区二区三欧美 | 天堂无码人妻精品一区二区三区 | 国产精品久久久久影院嫩草 | 精品夜夜澡人妻无码av蜜桃 | 激情五月综合色婷婷一区二区 | 中文字幕av无码一区二区三区电影 | 老司机亚洲精品影院 | 精品少妇爆乳无码av无码专区 | 久久久婷婷五月亚洲97号色 | 亚洲日韩一区二区 | 亚洲日韩乱码中文无码蜜桃臀网站 | 麻豆精品国产精华精华液好用吗 | 国产美女精品一区二区三区 | 国产精品人人爽人人做我的可爱 | 天下第一社区视频www日本 | 国产麻豆精品一区二区三区v视界 | 色婷婷欧美在线播放内射 | 少女韩国电视剧在线观看完整 | 日本高清一区免费中文视频 | 国产人妻久久精品二区三区老狼 | 国产午夜亚洲精品不卡下载 | 97无码免费人妻超级碰碰夜夜 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 乱码av麻豆丝袜熟女系列 | 亚洲中文字幕无码中文字在线 | 国产香蕉尹人综合在线观看 | 亚洲欧美色中文字幕在线 | 强辱丰满人妻hd中文字幕 | 精品一区二区三区无码免费视频 | 日日碰狠狠丁香久燥 | 午夜肉伦伦影院 | 国产乱人偷精品人妻a片 | 国产无套内射久久久国产 | 亚洲爆乳无码专区 | 亚洲日本一区二区三区在线 | 在线欧美精品一区二区三区 | 免费国产成人高清在线观看网站 | 色欲av亚洲一区无码少妇 | 波多野结衣乳巨码无在线观看 | 青青青手机频在线观看 | 麻豆md0077饥渴少妇 | 精品一二三区久久aaa片 | 欧美freesex黑人又粗又大 | 中文字幕久久久久人妻 | aⅴ亚洲 日韩 色 图网站 播放 | 国语自产偷拍精品视频偷 | 水蜜桃av无码 | 一区二区三区高清视频一 | 麻豆蜜桃av蜜臀av色欲av | 99国产欧美久久久精品 | 久久 国产 尿 小便 嘘嘘 | av小次郎收藏 | 欧美激情综合亚洲一二区 | 国产在线无码精品电影网 | 亚洲精品一区二区三区大桥未久 | 久久综合九色综合欧美狠狠 | 色偷偷人人澡人人爽人人模 | 久久午夜无码鲁丝片 | 99在线 | 亚洲 | 国内丰满熟女出轨videos | 国产在线精品一区二区三区直播 | 天堂一区人妻无码 | 久久精品国产日本波多野结衣 | 人人妻人人澡人人爽人人精品 | 亚洲娇小与黑人巨大交 | 日韩欧美群交p片內射中文 | 男女性色大片免费网站 | 午夜精品久久久内射近拍高清 | 国产乱人偷精品人妻a片 | 夜精品a片一区二区三区无码白浆 | 久久久精品成人免费观看 | 日韩欧美中文字幕在线三区 | 欧美丰满老熟妇xxxxx性 | 亚洲精品综合一区二区三区在线 | 久久久久亚洲精品男人的天堂 | 国产亚洲美女精品久久久2020 | 窝窝午夜理论片影院 | 久久午夜夜伦鲁鲁片无码免费 | 97久久国产亚洲精品超碰热 | 久久天天躁夜夜躁狠狠 | 亚洲日本在线电影 | 风流少妇按摩来高潮 | 乱人伦中文视频在线观看 | 日日天干夜夜狠狠爱 | 中文字幕+乱码+中文字幕一区 | 亚洲男女内射在线播放 | 国内综合精品午夜久久资源 | 国产精品久久福利网站 | 亚洲欧美综合区丁香五月小说 | 一本一道久久综合久久 | 强开小婷嫩苞又嫩又紧视频 | 又紧又大又爽精品一区二区 | 久精品国产欧美亚洲色aⅴ大片 | 欧美日韩亚洲国产精品 | 亚洲aⅴ无码成人网站国产app | 日本熟妇人妻xxxxx人hd | 99久久久国产精品无码免费 | 内射白嫩少妇超碰 | 国产午夜福利亚洲第一 | 国产成人久久精品流白浆 | 少妇被黑人到高潮喷出白浆 | 久久亚洲日韩精品一区二区三区 | 午夜福利电影 | 国产亚洲美女精品久久久2020 | 啦啦啦www在线观看免费视频 | 国产精品久久久久9999小说 | 亚洲综合无码一区二区三区 | 天天躁夜夜躁狠狠是什么心态 | 成人性做爰aaa片免费看不忠 | 精品国产av色一区二区深夜久久 | 欧美激情一区二区三区成人 | 久久久久久九九精品久 | 人人妻人人澡人人爽人人精品 | 在线播放免费人成毛片乱码 | 欧美人与禽zoz0性伦交 | 日日夜夜撸啊撸 | 丰满人妻精品国产99aⅴ | 亚洲成av人综合在线观看 | 人人超人人超碰超国产 | 欧美黑人乱大交 | 久久久精品欧美一区二区免费 | 亚洲午夜无码久久 | 亚洲精品久久久久久久久久久 | 欧美丰满熟妇xxxx性ppx人交 | 人人爽人人爽人人片av亚洲 | 国产美女极度色诱视频www | 奇米影视7777久久精品人人爽 | 国产精品美女久久久久av爽李琼 | 荫蒂被男人添的好舒服爽免费视频 | 色狠狠av一区二区三区 | 永久免费精品精品永久-夜色 | 东京一本一道一二三区 | 人妻少妇精品无码专区动漫 | 日韩欧美中文字幕在线三区 | 国产精品久久久av久久久 | 精品国精品国产自在久国产87 | 性生交大片免费看l | 午夜精品一区二区三区在线观看 | 亚洲一区二区三区播放 | 日韩在线不卡免费视频一区 | 亚洲精品久久久久avwww潮水 | 亚洲人成影院在线观看 | 一本久道久久综合婷婷五月 | 欧美熟妇另类久久久久久多毛 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 一本久久伊人热热精品中文字幕 | 欧美成人午夜精品久久久 | 中文字幕无码日韩欧毛 | 东京热无码av男人的天堂 | 乱码av麻豆丝袜熟女系列 | 无遮挡啪啪摇乳动态图 | 精品无人区无码乱码毛片国产 | 麻豆国产丝袜白领秘书在线观看 | 成人无码视频免费播放 | 激情内射日本一区二区三区 | 狠狠色欧美亚洲狠狠色www | √天堂中文官网8在线 | www成人国产高清内射 | 97色伦图片97综合影院 | 国产日产欧产精品精品app | 欧美激情内射喷水高潮 | 国产激情精品一区二区三区 | 国产免费无码一区二区视频 | 无码人中文字幕 | 男人扒开女人内裤强吻桶进去 | 人人妻人人澡人人爽欧美一区 | 亚洲毛片av日韩av无码 | 国产av人人夜夜澡人人爽麻豆 | 色综合久久久无码网中文 | 婷婷综合久久中文字幕蜜桃三电影 | 国产精品无码一区二区桃花视频 | 久久人人爽人人人人片 | 亚洲男女内射在线播放 | 国产熟妇高潮叫床视频播放 | 久久人人爽人人爽人人片av高清 | 中文字幕日产无线码一区 | 亚洲熟悉妇女xxx妇女av | 国内精品九九久久久精品 | 亚洲精品成人av在线 | 野狼第一精品社区 | 久久亚洲精品成人无码 | 蜜臀aⅴ国产精品久久久国产老师 | 真人与拘做受免费视频一 | 国产人妻精品一区二区三区不卡 | 免费人成网站视频在线观看 | 国产精品沙发午睡系列 | 国内精品人妻无码久久久影院蜜桃 | 天天燥日日燥 | 人妻插b视频一区二区三区 | 久久久久久久女国产乱让韩 | 影音先锋中文字幕无码 | 亚洲人亚洲人成电影网站色 | 国产免费久久久久久无码 | 99久久精品国产一区二区蜜芽 | 精品人妻中文字幕有码在线 | 任你躁国产自任一区二区三区 | 人人妻人人澡人人爽人人精品浪潮 | 中文字幕人妻无码一夲道 | 亚洲精品一区三区三区在线观看 | 精品一区二区三区波多野结衣 | 亚洲成a人片在线观看无码3d | 久久亚洲国产成人精品性色 | 国产乱码精品一品二品 | 中文字幕乱码人妻二区三区 | 久久久久久av无码免费看大片 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 人妻体内射精一区二区三四 | 国产午夜无码视频在线观看 | 日韩成人一区二区三区在线观看 | 99在线 | 亚洲 | 国产真实伦对白全集 | 日韩精品a片一区二区三区妖精 | 在线播放免费人成毛片乱码 | 牲欲强的熟妇农村老妇女视频 | 人人妻人人澡人人爽精品欧美 | 九九综合va免费看 | 日本丰满熟妇videos | yw尤物av无码国产在线观看 | 永久免费观看美女裸体的网站 | 久久精品人妻少妇一区二区三区 | 久久久国产一区二区三区 | 亚洲小说春色综合另类 | 日日摸天天摸爽爽狠狠97 | 久久国产精品二国产精品 | 亚洲欧美色中文字幕在线 | 精品日本一区二区三区在线观看 | 天下第一社区视频www日本 | 国产精品第一区揄拍无码 | 国产福利视频一区二区 | 国产精品99久久精品爆乳 | 国产成人无码一二三区视频 | 男女超爽视频免费播放 | 婷婷丁香五月天综合东京热 | 少妇人妻av毛片在线看 | 男女超爽视频免费播放 | 人妻尝试又大又粗久久 | 动漫av网站免费观看 | 99riav国产精品视频 | 亚洲综合精品香蕉久久网 | 18禁止看的免费污网站 | 久久zyz资源站无码中文动漫 | 成熟女人特级毛片www免费 | 又色又爽又黄的美女裸体网站 | 亚洲色欲久久久综合网东京热 | 色综合久久网 | 色婷婷综合中文久久一本 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲国产成人a精品不卡在线 | 亚洲综合无码一区二区三区 | 午夜嘿嘿嘿影院 | 欧美性生交活xxxxxdddd | 两性色午夜免费视频 | 成人欧美一区二区三区黑人免费 | 无码国内精品人妻少妇 | 偷窥日本少妇撒尿chinese | 久久精品中文闷骚内射 | 色狠狠av一区二区三区 | 国产又爽又猛又粗的视频a片 | 老子影院午夜精品无码 | 久久久精品456亚洲影院 | 一本色道久久综合狠狠躁 | 曰韩无码二三区中文字幕 | 99riav国产精品视频 | 国产亚洲欧美日韩亚洲中文色 | av在线亚洲欧洲日产一区二区 | 在线观看国产一区二区三区 | 欧美三级不卡在线观看 | 激情五月综合色婷婷一区二区 | 欧美人与物videos另类 | 日产精品99久久久久久 | 性史性农村dvd毛片 | 97无码免费人妻超级碰碰夜夜 | 红桃av一区二区三区在线无码av | 亚洲乱码中文字幕在线 | 亚洲欧美中文字幕5发布 | 成人精品视频一区二区 | 亚洲中文字幕在线无码一区二区 | 福利一区二区三区视频在线观看 | 国产亚洲视频中文字幕97精品 | 国产乱人无码伦av在线a | 在教室伦流澡到高潮hnp视频 | 免费无码一区二区三区蜜桃大 | 精品偷拍一区二区三区在线看 | 夜夜高潮次次欢爽av女 | 欧美日韩视频无码一区二区三 | 亚洲人亚洲人成电影网站色 | 少妇的肉体aa片免费 | 中文字幕无线码免费人妻 | 亚洲国产av美女网站 | 国产成人无码午夜视频在线观看 | 无套内谢老熟女 | 中文字幕人成乱码熟女app | 国产97色在线 | 免 | 久久久久久亚洲精品a片成人 | 内射白嫩少妇超碰 | 亚洲另类伦春色综合小说 | 自拍偷自拍亚洲精品被多人伦好爽 | 少妇性l交大片欧洲热妇乱xxx | 黑人巨大精品欧美一区二区 | 在线а√天堂中文官网 | 国产精品久久国产精品99 | 无码av免费一区二区三区试看 | 红桃av一区二区三区在线无码av | 亚洲熟悉妇女xxx妇女av | 亚洲小说图区综合在线 | 黑人巨大精品欧美黑寡妇 | 国产特级毛片aaaaaaa高清 | 久久久久久久人妻无码中文字幕爆 | 中文字幕无码视频专区 | 欧美激情内射喷水高潮 | 国产又爽又猛又粗的视频a片 | 欧美成人免费全部网站 | 亚洲欧洲日本无在线码 | 日本饥渴人妻欲求不满 | 精品一区二区不卡无码av | 国产偷抇久久精品a片69 | 人妻天天爽夜夜爽一区二区 | 99精品国产综合久久久久五月天 | 亚洲精品国偷拍自产在线麻豆 | 亚洲日韩精品欧美一区二区 | 人妻少妇被猛烈进入中文字幕 | 亚洲一区av无码专区在线观看 | 国产xxx69麻豆国语对白 | 久久久久免费精品国产 | 玩弄少妇高潮ⅹxxxyw | 性欧美牲交在线视频 | 国产无遮挡又黄又爽免费视频 | 国产疯狂伦交大片 | 亚洲爆乳精品无码一区二区三区 | 国产人妻精品一区二区三区不卡 | 久久久久久久久888 | 男人的天堂av网站 | 亚洲色大成网站www国产 | 色欲av亚洲一区无码少妇 | 日韩精品无码免费一区二区三区 | 国产av人人夜夜澡人人爽麻豆 | 无码人妻丰满熟妇区毛片18 | 久久久亚洲欧洲日产国码αv | 人人妻人人澡人人爽欧美一区 | 久久熟妇人妻午夜寂寞影院 | 亚洲人成人无码网www国产 | 日本一本二本三区免费 | 亚洲热妇无码av在线播放 | 特大黑人娇小亚洲女 | 国产午夜亚洲精品不卡下载 | 成熟女人特级毛片www免费 | 2020久久超碰国产精品最新 | 大肉大捧一进一出好爽视频 | 99久久人妻精品免费二区 | 97人妻精品一区二区三区 | 乱码av麻豆丝袜熟女系列 | 国产激情一区二区三区 | 国产激情无码一区二区app | 午夜嘿嘿嘿影院 | 人人妻人人澡人人爽精品欧美 | 国产精品久久久午夜夜伦鲁鲁 | 少妇无码一区二区二三区 | 久久久久久亚洲精品a片成人 | 久久精品人人做人人综合 | 美女极度色诱视频国产 | 国产欧美亚洲精品a | 人妻与老人中文字幕 | 天天摸天天透天天添 | 国产suv精品一区二区五 | 久久国产精品_国产精品 | 扒开双腿疯狂进出爽爽爽视频 | 亚洲精品国产精品乱码视色 | 丰满护士巨好爽好大乳 | 久久亚洲a片com人成 | 国产美女极度色诱视频www | 久久精品人人做人人综合试看 | 精品一二三区久久aaa片 | 性做久久久久久久久 | 国产一区二区三区精品视频 | 久久精品国产一区二区三区 | 波多野42部无码喷潮在线 | 国产在线精品一区二区高清不卡 | 精品 日韩 国产 欧美 视频 | 欧美性猛交内射兽交老熟妇 | 一区二区三区高清视频一 | 红桃av一区二区三区在线无码av | 熟女俱乐部五十路六十路av | yw尤物av无码国产在线观看 | 国产又粗又硬又大爽黄老大爷视 | 我要看www免费看插插视频 | 色窝窝无码一区二区三区色欲 | 日日摸天天摸爽爽狠狠97 | 亚洲日韩av一区二区三区中文 | 麻豆国产人妻欲求不满谁演的 | 7777奇米四色成人眼影 | 天天综合网天天综合色 | 国产黑色丝袜在线播放 | 国产精品办公室沙发 | 激情内射亚州一区二区三区爱妻 | 国内精品久久久久久中文字幕 | 国产精品嫩草久久久久 | 亚洲精品国偷拍自产在线麻豆 | 午夜福利不卡在线视频 | 日韩精品乱码av一区二区 | 美女扒开屁股让男人桶 | 人人妻人人澡人人爽人人精品浪潮 | 国产亚洲精品久久久久久国模美 | 好爽又高潮了毛片免费下载 | 亚洲午夜久久久影院 | 日本va欧美va欧美va精品 | 蜜臀aⅴ国产精品久久久国产老师 | 久青草影院在线观看国产 | 国产精品久久久久9999小说 | 日韩精品久久久肉伦网站 | 99久久无码一区人妻 | 亚洲精品久久久久久久久久久 | 国产一精品一av一免费 | 四虎影视成人永久免费观看视频 | 久久久亚洲欧洲日产国码αv | 亚洲人成网站在线播放942 | 精品久久综合1区2区3区激情 | 99久久婷婷国产综合精品青草免费 | 伊人久久婷婷五月综合97色 | www成人国产高清内射 | 无码成人精品区在线观看 | 国产精品怡红院永久免费 | 一本色道婷婷久久欧美 | 沈阳熟女露脸对白视频 | 成人女人看片免费视频放人 | 亚洲国产精品美女久久久久 | 欧美人妻一区二区三区 | 天天爽夜夜爽夜夜爽 | www国产亚洲精品久久网站 | 国产精品成人av在线观看 | 伊在人天堂亚洲香蕉精品区 | 色婷婷香蕉在线一区二区 | 国产香蕉97碰碰久久人人 | 欧美性色19p | 亚洲成熟女人毛毛耸耸多 | 鲁大师影院在线观看 | 中文字幕无码日韩欧毛 | 国产乱人偷精品人妻a片 | 国产一区二区三区四区五区加勒比 | www国产精品内射老师 | 无码福利日韩神码福利片 | 国精品人妻无码一区二区三区蜜柚 | 久久人人97超碰a片精品 | 日日天日日夜日日摸 | 成年女人永久免费看片 | 亚洲国产av美女网站 | 免费男性肉肉影院 | 黑人巨大精品欧美一区二区 | 国产偷自视频区视频 | 亚洲成av人影院在线观看 | 人妻少妇精品无码专区二区 | 亚洲国产综合无码一区 | 欧美日韩综合一区二区三区 | 亚洲中文字幕乱码av波多ji | 大屁股大乳丰满人妻 | 中文字幕av伊人av无码av | 2020久久超碰国产精品最新 | 搡女人真爽免费视频大全 | 日韩精品无码一本二本三本色 | 亚洲精品午夜无码电影网 | 亚洲精品国产精品乱码视色 | 日韩欧美中文字幕公布 | 久久亚洲国产成人精品性色 | 久久zyz资源站无码中文动漫 | 精品一二三区久久aaa片 | 最新国产乱人伦偷精品免费网站 | 精品久久久久久人妻无码中文字幕 | 亚洲精品国产a久久久久久 | 欧美午夜特黄aaaaaa片 | 中文字幕无码av激情不卡 | 影音先锋中文字幕无码 | 狠狠躁日日躁夜夜躁2020 | 成人精品一区二区三区中文字幕 | √天堂资源地址中文在线 | 久久久亚洲欧洲日产国码αv | 丰满人妻精品国产99aⅴ | 亚洲成a人片在线观看日本 | 亚洲欧美综合区丁香五月小说 | 好男人社区资源 | 久久久久成人精品免费播放动漫 | 四十如虎的丰满熟妇啪啪 | 久久人人爽人人人人片 | 亚洲s码欧洲m码国产av | 国语自产偷拍精品视频偷 | 无码毛片视频一区二区本码 | 成人aaa片一区国产精品 | 永久免费精品精品永久-夜色 | 免费无码肉片在线观看 | 亚洲自偷精品视频自拍 | 四虎永久在线精品免费网址 | 未满小14洗澡无码视频网站 | 国产午夜精品一区二区三区嫩草 | 欧美国产日韩久久mv | 国产成人无码午夜视频在线观看 | 国产精品无码成人午夜电影 | 精品aⅴ一区二区三区 | 久久久久久久女国产乱让韩 | 中文字幕人妻无码一夲道 | 久久综合给久久狠狠97色 | 麻豆精产国品 | 国产97色在线 | 免 | 男女猛烈xx00免费视频试看 | 99精品国产综合久久久久五月天 | 久久精品国产一区二区三区 | 2019nv天堂香蕉在线观看 | 久久久久人妻一区精品色欧美 | 久久久亚洲欧洲日产国码αv | 亚洲春色在线视频 | 99久久人妻精品免费二区 | 亚洲成av人片在线观看无码不卡 | 中文字幕乱码中文乱码51精品 | 国产成人无码一二三区视频 | 一本精品99久久精品77 | 国产97人人超碰caoprom | 日日噜噜噜噜夜夜爽亚洲精品 | 日本爽爽爽爽爽爽在线观看免 | 国产乱人偷精品人妻a片 | 亚洲精品中文字幕乱码 | 亚洲毛片av日韩av无码 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 精品国精品国产自在久国产87 | 中国女人内谢69xxxxxa片 | 欧美喷潮久久久xxxxx | 亚洲色欲色欲欲www在线 | 久久国产精品_国产精品 | 欧美性色19p | 久久久久av无码免费网 | 国产精品18久久久久久麻辣 | 性史性农村dvd毛片 | 激情内射日本一区二区三区 | 3d动漫精品啪啪一区二区中 | 亚洲 欧美 激情 小说 另类 | 麻豆国产人妻欲求不满谁演的 | 中文字幕无码免费久久99 | 国产无套内射久久久国产 | 亚洲色成人中文字幕网站 | 麻豆人妻少妇精品无码专区 | 性色欲网站人妻丰满中文久久不卡 | 东京无码熟妇人妻av在线网址 | 色婷婷av一区二区三区之红樱桃 | 中文精品久久久久人妻不卡 | 一本久道久久综合狠狠爱 | 精品国产一区二区三区av 性色 | 俺去俺来也www色官网 | 亚洲一区二区三区播放 | 樱花草在线播放免费中文 | 美女黄网站人色视频免费国产 | 国产精品多人p群无码 | 亚洲精品国产品国语在线观看 | 国产精品久久国产精品99 | 色 综合 欧美 亚洲 国产 | 亚洲乱码国产乱码精品精 | 亚洲欧美国产精品久久 | 精品无码一区二区三区爱欲 | 精品国产一区二区三区四区在线看 | 三级4级全黄60分钟 | 国产做国产爱免费视频 | 性生交片免费无码看人 | 国产精品亚洲lv粉色 | 成在人线av无码免观看麻豆 | 欧美老熟妇乱xxxxx | 色综合久久久无码中文字幕 | 少妇邻居内射在线 | 性生交片免费无码看人 | 熟女俱乐部五十路六十路av | 婷婷五月综合缴情在线视频 | 在线成人www免费观看视频 | 理论片87福利理论电影 | 乱人伦人妻中文字幕无码久久网 | а天堂中文在线官网 | 久在线观看福利视频 | 久久久精品国产sm最大网站 | www国产亚洲精品久久久日本 | 综合人妻久久一区二区精品 | 67194成是人免费无码 | 1000部啪啪未满十八勿入下载 | 99久久精品午夜一区二区 | 欧美人与禽zoz0性伦交 | 麻豆国产97在线 | 欧洲 | 亚洲の无码国产の无码影院 | 国产精品无套呻吟在线 | 国产精品久久久久久亚洲毛片 | 免费看男女做好爽好硬视频 | 人人妻人人藻人人爽欧美一区 | 国产激情一区二区三区 | 97资源共享在线视频 | 特级做a爰片毛片免费69 | 77777熟女视频在线观看 а天堂中文在线官网 | 东北女人啪啪对白 | 青草青草久热国产精品 | 夫妻免费无码v看片 | 亚洲娇小与黑人巨大交 | 欧美丰满老熟妇xxxxx性 | 麻豆国产人妻欲求不满谁演的 | 一个人看的www免费视频在线观看 | 一区二区传媒有限公司 | 亚洲成a人片在线观看日本 | 精品日本一区二区三区在线观看 | 国产偷抇久久精品a片69 | 欧美喷潮久久久xxxxx | 亚洲第一无码av无码专区 | 国产午夜手机精彩视频 | 国产成人综合美国十次 | 精品欧美一区二区三区久久久 | 丰满肥臀大屁股熟妇激情视频 | 国产精品久久国产三级国 | 丰满人妻翻云覆雨呻吟视频 | 国产精品毛多多水多 | 内射老妇bbwx0c0ck | 国产后入清纯学生妹 | 97久久超碰中文字幕 | 国产成人一区二区三区在线观看 | 兔费看少妇性l交大片免费 | 一区二区三区高清视频一 | 一区二区三区乱码在线 | 欧洲 | 岛国片人妻三上悠亚 | 377p欧洲日本亚洲大胆 | 久久亚洲a片com人成 | 免费乱码人妻系列无码专区 | 亚洲精品久久久久久一区二区 | 中文字幕亚洲情99在线 | 激情内射日本一区二区三区 | 久久精品国产日本波多野结衣 | 人人妻人人澡人人爽人人精品浪潮 | 玩弄人妻少妇500系列视频 | 宝宝好涨水快流出来免费视频 | av无码久久久久不卡免费网站 | 国产精品99久久精品爆乳 | 日韩在线不卡免费视频一区 | 久久久久成人片免费观看蜜芽 | 欧美丰满熟妇xxxx性ppx人交 | 动漫av网站免费观看 | 精品一区二区三区波多野结衣 | 欧美大屁股xxxxhd黑色 | 午夜精品久久久内射近拍高清 | 在线看片无码永久免费视频 | 亚洲色大成网站www | 无码人妻丰满熟妇区五十路百度 | 成人免费视频视频在线观看 免费 | 97人妻精品一区二区三区 | 男女性色大片免费网站 | 亚洲综合在线一区二区三区 | 精品人妻人人做人人爽 | 色欲人妻aaaaaaa无码 | 少妇无码吹潮 | 精品无码av一区二区三区 | 强辱丰满人妻hd中文字幕 | 亚洲精品www久久久 | 国产美女极度色诱视频www | 久久精品成人欧美大片 | 男人扒开女人内裤强吻桶进去 | av无码电影一区二区三区 | 国产亚av手机在线观看 | 呦交小u女精品视频 | 亚洲欧美中文字幕5发布 | 色一情一乱一伦 | 国产麻豆精品精东影业av网站 | 一本精品99久久精品77 | 又粗又大又硬毛片免费看 | 欧洲精品码一区二区三区免费看 | 76少妇精品导航 | 国产偷自视频区视频 | 国产乱子伦视频在线播放 | 久久国产精品二国产精品 | 国产suv精品一区二区五 | 美女极度色诱视频国产 | 男女下面进入的视频免费午夜 | 丰满少妇人妻久久久久久 | а√天堂www在线天堂小说 | 午夜熟女插插xx免费视频 | 国产成人无码av一区二区 | 国产内射爽爽大片视频社区在线 | 国产精品久久久久7777 | 亚洲欧美日韩国产精品一区二区 | 国产乱码精品一品二品 | 中文字幕无码热在线视频 | 久久精品国产日本波多野结衣 | 中文字幕无码av激情不卡 | 国产一区二区三区精品视频 | 中文字幕精品av一区二区五区 | 性生交片免费无码看人 | 全球成人中文在线 | 国产三级精品三级男人的天堂 | 久久伊人色av天堂九九小黄鸭 | 国产人妻久久精品二区三区老狼 | 偷窥村妇洗澡毛毛多 | 久久精品一区二区三区四区 | 日韩人妻系列无码专区 | 性啪啪chinese东北女人 | 粗大的内捧猛烈进出视频 | 国产一区二区三区四区五区加勒比 | 成熟妇人a片免费看网站 | 精品欧美一区二区三区久久久 | 欧美变态另类xxxx | 麻豆果冻传媒2021精品传媒一区下载 | 99久久精品无码一区二区毛片 | 国产两女互慰高潮视频在线观看 | 国产xxx69麻豆国语对白 | 熟妇激情内射com | 国产国语老龄妇女a片 | 啦啦啦www在线观看免费视频 | 亚洲性无码av中文字幕 | 久久精品丝袜高跟鞋 | 性生交大片免费看女人按摩摩 | 色婷婷欧美在线播放内射 | 色噜噜亚洲男人的天堂 | 亚洲精品一区二区三区婷婷月 | 亚洲欧美综合区丁香五月小说 | 国产片av国语在线观看 | 丰满少妇弄高潮了www | 午夜精品久久久内射近拍高清 | 精品无码国产自产拍在线观看蜜 | 国产亚洲美女精品久久久2020 | 人人澡人人透人人爽 | 精品国产麻豆免费人成网站 | 亚洲精品国产精品乱码视色 | 国产免费久久精品国产传媒 | 欧美精品在线观看 | 久久午夜无码鲁丝片午夜精品 | 国产国产精品人在线视 | 日韩精品无码一本二本三本色 | 色婷婷av一区二区三区之红樱桃 | 亚洲综合精品香蕉久久网 | 思思久久99热只有频精品66 | 久久精品99久久香蕉国产色戒 | 在线视频网站www色 | 精品国产一区二区三区av 性色 | 国内揄拍国内精品人妻 | 美女张开腿让人桶 | 国产午夜手机精彩视频 | 丰满人妻被黑人猛烈进入 | 黑人巨大精品欧美黑寡妇 | 亚洲 激情 小说 另类 欧美 | 少妇高潮一区二区三区99 | 强辱丰满人妻hd中文字幕 | 亚洲国产精品毛片av不卡在线 | 最近的中文字幕在线看视频 | 亚洲欧美色中文字幕在线 | 国产在线无码精品电影网 | 亚洲一区二区三区 | 人人妻人人澡人人爽欧美一区 | 曰韩无码二三区中文字幕 | 亚洲乱码国产乱码精品精 | 国产精品无套呻吟在线 | 日本又色又爽又黄的a片18禁 | 久久无码专区国产精品s | 少妇激情av一区二区 | 少妇被黑人到高潮喷出白浆 | 国产精品鲁鲁鲁 | 久久久久99精品国产片 | 日韩欧美中文字幕在线三区 | 性色av无码免费一区二区三区 | 久久人妻内射无码一区三区 | 国产精品美女久久久网av | 色噜噜亚洲男人的天堂 | 亚洲日韩精品欧美一区二区 | 76少妇精品导航 | 久久精品国产一区二区三区肥胖 | 国产欧美熟妇另类久久久 | 99久久人妻精品免费一区 | 亚洲人成影院在线无码按摩店 | 亚洲一区二区观看播放 | 国产综合久久久久鬼色 | 国产精品永久免费视频 | 精品亚洲成av人在线观看 | 亚洲熟妇色xxxxx欧美老妇 | 久久精品国产一区二区三区 | 激情内射日本一区二区三区 | 熟女少妇在线视频播放 | 男人的天堂2018无码 | 亚洲区小说区激情区图片区 | 国产亚洲精品久久久久久久久动漫 | 大肉大捧一进一出好爽视频 | 青青久在线视频免费观看 | 久久久久国色av免费观看性色 | 欧美日韩一区二区三区自拍 | 国产人妻精品午夜福利免费 | 欧美日韩亚洲国产精品 | 亚洲精品综合五月久久小说 | 性欧美牲交在线视频 | 亚洲精品综合五月久久小说 | 国产 精品 自在自线 | 国产精品va在线播放 | 精品国产一区二区三区四区 | 色婷婷综合激情综在线播放 | 精品厕所偷拍各类美女tp嘘嘘 | 精品无人国产偷自产在线 | 一二三四社区在线中文视频 | 天堂亚洲2017在线观看 | 精品aⅴ一区二区三区 | 日韩欧美成人免费观看 | 国产香蕉尹人视频在线 | 国产疯狂伦交大片 | 国产xxx69麻豆国语对白 | 久久久久成人精品免费播放动漫 | 国产精品手机免费 | 色欲av亚洲一区无码少妇 | 一本色道婷婷久久欧美 | 国产凸凹视频一区二区 | 国产精品久久久久久亚洲影视内衣 | 亚洲中文字幕成人无码 | 国产精品沙发午睡系列 | 国产精品鲁鲁鲁 | 亚洲精品成a人在线观看 | 亚洲国产精品毛片av不卡在线 | 亚洲欧美精品伊人久久 | 国产精品第一区揄拍无码 | 久久国内精品自在自线 | 奇米影视7777久久精品 | 真人与拘做受免费视频 | 无码免费一区二区三区 | 又色又爽又黄的美女裸体网站 | 奇米影视888欧美在线观看 | 国产农村乱对白刺激视频 | 久久亚洲中文字幕无码 | 日韩精品无码一区二区中文字幕 | 巨爆乳无码视频在线观看 | 18禁黄网站男男禁片免费观看 | 中文字幕人成乱码熟女app | 精品亚洲韩国一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 久久午夜无码鲁丝片午夜精品 | 内射巨臀欧美在线视频 | 亚洲中文字幕无码一久久区 | 国产精品亚洲综合色区韩国 | 国产性生大片免费观看性 | 亚洲大尺度无码无码专区 | 国产精品久久福利网站 | 日韩 欧美 动漫 国产 制服 | 人人妻人人澡人人爽精品欧美 | 性色欲情网站iwww九文堂 | 久久综合狠狠综合久久综合88 | 日欧一片内射va在线影院 | 免费看男女做好爽好硬视频 | 老头边吃奶边弄进去呻吟 | 中文字幕无码乱人伦 | 精品亚洲成av人在线观看 | 自拍偷自拍亚洲精品10p | 夜夜躁日日躁狠狠久久av | а√资源新版在线天堂 | 日韩亚洲欧美精品综合 | 内射欧美老妇wbb | 内射爽无广熟女亚洲 | 秋霞成人午夜鲁丝一区二区三区 | 精品人妻人人做人人爽夜夜爽 | 亚洲va欧美va天堂v国产综合 | 少妇邻居内射在线 | 国产精品高潮呻吟av久久4虎 | 少妇被粗大的猛进出69影院 | 美女黄网站人色视频免费国产 | 熟女体下毛毛黑森林 | 欧美丰满少妇xxxx性 | 红桃av一区二区三区在线无码av | 在线亚洲高清揄拍自拍一品区 | 99久久亚洲精品无码毛片 | 国内揄拍国内精品人妻 | 东京无码熟妇人妻av在线网址 | 1000部啪啪未满十八勿入下载 | 成人aaa片一区国产精品 | 又大又硬又黄的免费视频 | 欧美人妻一区二区三区 | 伊人久久大香线蕉av一区二区 | 国产乱码精品一品二品 | 在线播放无码字幕亚洲 | 欧美freesex黑人又粗又大 | 久久精品视频在线看15 | 亚洲色偷偷偷综合网 | 亚洲中文字幕无码中字 | 少妇人妻偷人精品无码视频 | 少妇无码吹潮 | 国内丰满熟女出轨videos | 人妻尝试又大又粗久久 | 色婷婷综合激情综在线播放 | 天天拍夜夜添久久精品 | 国产熟女一区二区三区四区五区 | 鲁鲁鲁爽爽爽在线视频观看 | 欧洲欧美人成视频在线 | 午夜精品久久久内射近拍高清 | 成人无码视频在线观看网站 | 亚洲欧美精品aaaaaa片 | 国产精品亚洲五月天高清 | 97久久精品无码一区二区 | 国产精品嫩草久久久久 | 欧美野外疯狂做受xxxx高潮 | 东京无码熟妇人妻av在线网址 | 大色综合色综合网站 | 福利一区二区三区视频在线观看 | 国产成人综合色在线观看网站 | 内射白嫩少妇超碰 | 三级4级全黄60分钟 | 国语精品一区二区三区 | 2019nv天堂香蕉在线观看 | 午夜精品一区二区三区的区别 | 伊人久久大香线蕉av一区二区 | 久久国产精品精品国产色婷婷 | 国产精品久久久久7777 | 漂亮人妻洗澡被公强 日日躁 | 久久人人爽人人人人片 | 欧美三级不卡在线观看 | 麻豆国产人妻欲求不满谁演的 | 一个人看的视频www在线 | 国产精品亚洲一区二区三区喷水 | 免费无码的av片在线观看 | 国产香蕉尹人综合在线观看 | 亚洲aⅴ无码成人网站国产app | 久久人人97超碰a片精品 | 狠狠色丁香久久婷婷综合五月 | 久久人人97超碰a片精品 | 男人的天堂av网站 | 亚洲区小说区激情区图片区 | 中文字幕日韩精品一区二区三区 | 岛国片人妻三上悠亚 | 国产综合在线观看 | 国模大胆一区二区三区 | 狠狠噜狠狠狠狠丁香五月 | 亚洲欧洲无卡二区视頻 | 蜜桃av蜜臀av色欲av麻 999久久久国产精品消防器材 | 国产97人人超碰caoprom | 99久久精品午夜一区二区 | a片免费视频在线观看 | 国产av一区二区三区最新精品 | 亚无码乱人伦一区二区 | 免费观看又污又黄的网站 | 国产在线精品一区二区高清不卡 | 国产成人精品无码播放 | 久9re热视频这里只有精品 | 老太婆性杂交欧美肥老太 | 欧美人与牲动交xxxx | 国产精品二区一区二区aⅴ污介绍 | 人人妻人人藻人人爽欧美一区 | 少妇性荡欲午夜性开放视频剧场 | 久久久久久久人妻无码中文字幕爆 | 国产午夜手机精彩视频 | 少妇无码吹潮 | 97人妻精品一区二区三区 | 55夜色66夜色国产精品视频 | 亚洲乱码日产精品bd | 国产成人无码av一区二区 | 人妻夜夜爽天天爽三区 | 久久国产精品_国产精品 | 玩弄中年熟妇正在播放 | 国产色视频一区二区三区 | 乱码av麻豆丝袜熟女系列 | 日日天日日夜日日摸 | 亚洲欧美综合区丁香五月小说 | 国产精品人妻一区二区三区四 | 日本熟妇人妻xxxxx人hd | 色综合天天综合狠狠爱 | 男女作爱免费网站 | 国产香蕉尹人综合在线观看 | 无码乱肉视频免费大全合集 | 婷婷综合久久中文字幕蜜桃三电影 | 午夜无码人妻av大片色欲 | 18黄暴禁片在线观看 | 亚洲午夜福利在线观看 | 女人被男人爽到呻吟的视频 | 国产高潮视频在线观看 | 中文无码精品a∨在线观看不卡 | 亚洲毛片av日韩av无码 | 无遮无挡爽爽免费视频 | 日韩av无码中文无码电影 | 少女韩国电视剧在线观看完整 | 久久99精品国产麻豆蜜芽 | 东京无码熟妇人妻av在线网址 | 亚洲s色大片在线观看 | 亚洲欧美日韩国产精品一区二区 | 成熟女人特级毛片www免费 | 四虎影视成人永久免费观看视频 | 风流少妇按摩来高潮 | 日本精品久久久久中文字幕 | 激情国产av做激情国产爱 | 日韩欧美中文字幕公布 | www国产精品内射老师 | 国产人妻人伦精品1国产丝袜 | 欧美日韩一区二区免费视频 | 伊人久久大香线焦av综合影院 | 丰满人妻一区二区三区免费视频 | 97精品人妻一区二区三区香蕉 | 国产亚洲精品久久久久久 | 国产精品二区一区二区aⅴ污介绍 | 精品水蜜桃久久久久久久 | 日韩av无码一区二区三区 | 国内老熟妇对白xxxxhd | 中文亚洲成a人片在线观看 | 无码人妻精品一区二区三区下载 | 大地资源中文第3页 | 天天做天天爱天天爽综合网 | 巨爆乳无码视频在线观看 | 亚洲国产成人av在线观看 | a在线观看免费网站大全 | 国产av人人夜夜澡人人爽麻豆 | 国产精品免费大片 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久国语露脸国产精品电影 | 精品一区二区三区波多野结衣 | 人人爽人人爽人人片av亚洲 | 波多野结衣av一区二区全免费观看 | 亚洲自偷自拍另类第1页 | 亚洲国产欧美日韩精品一区二区三区 | 无码av岛国片在线播放 | 波多野结衣av一区二区全免费观看 | 我要看www免费看插插视频 | www一区二区www免费 | 久9re热视频这里只有精品 | 爆乳一区二区三区无码 | 国产色xx群视频射精 | 天天综合网天天综合色 | 亚洲国产综合无码一区 | 奇米影视7777久久精品 | 无码吃奶揉捏奶头高潮视频 | 精品久久8x国产免费观看 | 日韩在线不卡免费视频一区 | 在线观看国产一区二区三区 | 无码人妻丰满熟妇区五十路百度 | 精品亚洲韩国一区二区三区 | 久久 国产 尿 小便 嘘嘘 | 无码人妻丰满熟妇区毛片18 | 人妻熟女一区 | 天天摸天天透天天添 | 中文无码成人免费视频在线观看 | 中文字幕无码热在线视频 | 性做久久久久久久久 | 国产精品亚洲五月天高清 | 久久精品人人做人人综合试看 | 国产热a欧美热a在线视频 | 最新国产麻豆aⅴ精品无码 | 精品国产青草久久久久福利 | 亚洲国产av精品一区二区蜜芽 | 纯爱无遮挡h肉动漫在线播放 | 俺去俺来也在线www色官网 | aⅴ亚洲 日韩 色 图网站 播放 | 午夜福利试看120秒体验区 | 大地资源中文第3页 | 无码人妻出轨黑人中文字幕 | 水蜜桃亚洲一二三四在线 | 帮老师解开蕾丝奶罩吸乳网站 | 国产成人无码区免费内射一片色欲 | 好男人社区资源 | 牲欲强的熟妇农村老妇女视频 | 国产激情无码一区二区app | 亚洲无人区一区二区三区 | 高中生自慰www网站 | 亚洲男人av香蕉爽爽爽爽 | 牲欲强的熟妇农村老妇女 | 少妇愉情理伦片bd | av人摸人人人澡人人超碰下载 | 亚洲毛片av日韩av无码 | 老熟妇乱子伦牲交视频 | 亚洲自偷自偷在线制服 | 国产精品久久国产三级国 | 婷婷丁香五月天综合东京热 | 久久精品无码一区二区三区 | 亚洲国产精品无码久久久久高潮 | 国产无遮挡吃胸膜奶免费看 | 东北女人啪啪对白 | 成人一在线视频日韩国产 | 日本www一道久久久免费榴莲 | 成人一区二区免费视频 | 欧美日韩一区二区综合 | 精品成在人线av无码免费看 | 精品成人av一区二区三区 | 国产在线一区二区三区四区五区 | 色婷婷av一区二区三区之红樱桃 | 四虎4hu永久免费 | 亚洲自偷自偷在线制服 | 国产办公室秘书无码精品99 | 青青草原综合久久大伊人精品 | 国产亚洲欧美在线专区 | 精品久久久久久人妻无码中文字幕 | 亚洲国产高清在线观看视频 | 国产suv精品一区二区五 | 狠狠躁日日躁夜夜躁2020 | 三级4级全黄60分钟 | 狠狠躁日日躁夜夜躁2020 | 亚洲精品www久久久 | 久久99精品久久久久婷婷 | 性啪啪chinese东北女人 | 97人妻精品一区二区三区 | 成在人线av无码免观看麻豆 | 白嫩日本少妇做爰 |