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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

FreeRTOS的列表和列表项

發(fā)布時間:2023/12/1 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 FreeRTOS的列表和列表项 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

列表和列表項

列表

列表是FreeRTOS中的一個數(shù)據(jù)結(jié)構(gòu),概念上和鏈表有點類型,是一個循環(huán)雙向鏈表,列表被用來跟蹤FreeRTOS中的任務(wù)。列表的類型是List_T,具體定義如下:

typedef struct xLIST {listFIRST_LIST_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */configLIST_VOLATILE UBaseType_t uxNumberOfItems;ListItem_t * configLIST_VOLATILE pxIndex; /*< Used to walk through the list. Points to the last item returned by a call to listGET_OWNER_OF_NEXT_ENTRY (). */MiniListItem_t xListEnd; /*< List item that contains the maximum possible item value meaning it is always at the end of the list and is therefore used as a marker. */listSECOND_LIST_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ } List_t;
  • listFIRST_LIST_INTEGRITY_CHECK_VALUE和listSECOND_LIST_INTEGRITY_CHECK_VALUE都是用來檢查列表完整性的,需要將宏configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES 設(shè)置為1,默認(rèn)不開啟。
  • uxNumberOfItems:記錄列表項的數(shù)量
  • pxIndex:指向當(dāng)前的列表項,可用來遍歷列表,類型是ListItem_t *
  • xListEnd:作為一個標(biāo)記,表示列表最后一個列表項,類型是MiniListItem_t 。
列表項

FreeRTOS提供了兩種列表項:列表項(ListItem_t 類型)和迷你列表項(MiniListItem_t 類型)。對于列表項,具體定義為:

struct xLIST_ITEM {listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */configLIST_VOLATILE TickType_t xItemValue; /*< The value being listed. In most cases this is used to sort the list in descending order. */struct xLIST_ITEM * configLIST_VOLATILE pxNext; /*< Pointer to the next ListItem_t in the list. */struct xLIST_ITEM * configLIST_VOLATILE pxPrevious; /*< Pointer to the previous ListItem_t in the list. */void * pvOwner; /*< Pointer to the object (normally a TCB) that contains the list item. There is therefore a two way link between the object containing the list item and the list item itself. */void * configLIST_VOLATILE pvContainer; /*< Pointer to the list in which this list item is placed (if any). */listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */ }; typedef struct xLIST_ITEM ListItem_t; /* For some reason lint wants this as two separate definitions. */
  • listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE和listSECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE檢查列表項完整性
  • xItemValue:列表項的值
  • pxNext:指向下一個列表項
  • pxPrevious:指向前一個列表項
  • pvOwner:記錄此列表項歸誰擁有,通常是任務(wù)控制塊
  • pvContainer:記錄該列表項歸哪個列表

迷你列表項:

struct xMINI_LIST_ITEM {listFIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE /*< Set to a known value if configUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */configLIST_VOLATILE TickType_t xItemValue;struct xLIST_ITEM * configLIST_VOLATILE pxNext;struct xLIST_ITEM * configLIST_VOLATILE pxPrevious; }; typedef struct xMINI_LIST_ITEM MiniListItem_t;

可以看出迷你列表項只是比列表項少了幾個成員變量,迷你列表項所有的成員變量列表項都有。
對于列表結(jié)構(gòu)體List_t中的xListEnd是MiniListItem_t類型,表示最后一個列表項,pxIndex是ListItem_t指針類型,指向真正有數(shù)據(jù)的列表項。

列表和列表項初始化

列表初始化

新創(chuàng)建的或者定義的列表需要對其做初始化處理,列表初始化其實就是初始化列表結(jié)構(gòu)體List_t中的各個成員變量,列表的初始化通過函數(shù)vListInitialise()來完成。

void vListInitialise( List_t * const pxList ) {/* The list structure contains a list item which is used to mark theend of the list. To initialise the list the list end is insertedas the only list entry. */pxList->pxIndex = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 The mini list structure is used as the list end to save RAM. This is checked and valid. *//* The list end value is the highest possible value in the list toensure it remains at the end of the list. */pxList->xListEnd.xItemValue = portMAX_DELAY;/* The list end next and previous pointers point to itself so we knowwhen the list is empty. */pxList->xListEnd.pxNext = ( ListItem_t * ) &( pxList->xListEnd ); /*lint !e826 !e740 The mini list structure is used as the list end to save RAM. This is checked and valid. */pxList->xListEnd.pxPrevious = ( ListItem_t * ) &( pxList->xListEnd );/*lint !e826 !e740 The mini list structure is used as the list end to save RAM. This is checked and valid. */pxList->uxNumberOfItems = ( UBaseType_t ) 0U;/* Write known values into the list ifconfigUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */listSET_LIST_INTEGRITY_CHECK_1_VALUE( pxList );listSET_LIST_INTEGRITY_CHECK_2_VALUE( pxList ); }

函數(shù)的參數(shù)是一個列表

  • pxIndex 指向強(qiáng)制類型轉(zhuǎn)換的xListEnd
  • xItemValue 列表項的值為portMAX_DELAY
  • pxNext :指向自己
  • pxPrevious :指向自己
  • uxNumberOfItems :列表中的列表項數(shù)目為0

下圖為初始化后的列表

列表項初始化
void vListInitialiseItem( ListItem_t * const pxItem ) {/* Make sure the list item is not recorded as being on a list. */pxItem->pvContainer = NULL;/* Write known values into the list item ifconfigUSE_LIST_DATA_INTEGRITY_CHECK_BYTES is set to 1. */listSET_FIRST_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem );listSET_SECOND_LIST_ITEM_INTEGRITY_CHECK_VALUE( pxItem ); }

函數(shù)的參數(shù)是一個列表項指針,只是將列表項的pvContainer初始化為NULL
下圖為列表項初始后的列表項

列表項插入

列表項插入相當(dāng)于和在循環(huán)雙向鏈表中按照數(shù)值的遞增插入數(shù)據(jù)原理是一樣的。
列表項的插入式通過函數(shù)vListInsert來完成的

void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem )

參數(shù):

  • pxList:要插入的列表
  • pxNewListItem :要插入的列表項
    vListInsert是根據(jù)pxNewListItem 中的成員變量xItemValue的值來決定插入位置。根據(jù)xItemValue的升序方式排序。

具體插入過程如下:

void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem ) { ListItem_t *pxIterator; const TickType_t xValueOfInsertion = pxNewListItem->xItemValue;/* Only effective when configASSERT() is also defined, these tests may catchthe list data structures being overwritten in memory. They will not catchdata errors caused by incorrect configuration or use of FreeRTOS. */listTEST_LIST_INTEGRITY( pxList );listTEST_LIST_ITEM_INTEGRITY( pxNewListItem );/* Insert the new list item into the list, sorted in xItemValue order.If the list already contains a list item with the same item value then thenew list item should be placed after it. This ensures that TCB's which arestored in ready lists (all of which have the same xItemValue value) get ashare of the CPU. However, if the xItemValue is the same as the back markerthe iteration loop below will not end. Therefore the value is checkedfirst, and the algorithm slightly modified if necessary. */if( xValueOfInsertion == portMAX_DELAY ){pxIterator = pxList->xListEnd.pxPrevious;}else{/* *** NOTE ***********************************************************If you find your application is crashing here then likely causes arelisted below. In addition see http://www.freertos.org/FAQHelp.html formore tips, and ensure configASSERT() is defined!http://www.freertos.org/a00110.html#configASSERT1) Stack overflow -see http://www.freertos.org/Stacks-and-stack-overflow-checking.html2) Incorrect interrupt priority assignment, especially on Cortex-Mparts where numerically high priority values denote low actualinterrupt priorities, which can seem counter intuitive. Seehttp://www.freertos.org/RTOS-Cortex-M3-M4.html and the definitionof configMAX_SYSCALL_INTERRUPT_PRIORITY onhttp://www.freertos.org/a00110.html3) Calling an API function from within a critical section or whenthe scheduler is suspended, or calling an API function that doesnot end in "FromISR" from an interrupt.4) Using a queue or semaphore before it has been initialised orbefore the scheduler has been started (are interrupts firingbefore vTaskStartScheduler() has been called?).**********************************************************************/for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext ) /*lint !e826 !e740 The mini list structure is used as the list end to save RAM. This is checked and valid. */{/* There is nothing to do here, just iterating to the wantedinsertion position. */}}pxNewListItem->pxNext = pxIterator->pxNext;pxNewListItem->pxNext->pxPrevious = pxNewListItem;pxNewListItem->pxPrevious = pxIterator;pxIterator->pxNext = pxNewListItem;/* Remember which list the item is in. This allows fast removal of theitem later. */pxNewListItem->pvContainer = ( void * ) pxList;( pxList->uxNumberOfItems )++; }
  • 獲取pxNewListItem的xItemValue值
  • const TickType_t xValueOfInsertion = pxNewListItem->xItemValue;
  • 檢查列表和列表項的完整性
  • listTEST_LIST_INTEGRITY( pxList );listTEST_LIST_ITEM_INTEGRITY( pxNewListItem );
  • 判斷插入的位置,如果等于portMAX_DELAY ,列表項的最大值,插入的位置是列表最末尾
  • if( xValueOfInsertion == portMAX_DELAY ){pxIterator = pxList->xListEnd.pxPrevious;}
  • 不等于portMAX_DELAY ,則for循環(huán)找到插入位置,這個查找過程是按照升序的方式查找列表項插入點的,列表的xListEnd 可以想成鏈表的頭,不放數(shù)據(jù),方便查詢用的,xListEnd 指向的列表項的xItemValue 值最小
  • for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext )
  • 將列表項插入到列表中
  • pxNewListItem->pxNext = pxIterator->pxNext;pxNewListItem->pxNext->pxPrevious = pxNewListItem;pxNewListItem->pxPrevious = pxIterator;pxIterator->pxNext = pxNewListItem;/* Remember which list the item is in. This allows fast removal of theitem later. */pxNewListItem->pvContainer = ( void * ) pxList;
  • 列表的列表項數(shù)目加1
  • ( pxList->uxNumberOfItems )++;
    列表項插入過程

    一個初始化的空列表如下:

    插入值為40的列表項后

    插入值60的列表項

    插入50后的列表項為

    列表末尾插入

    末尾插入就不根據(jù)xItemValue了,直接插入末端。原理和在循環(huán)雙向鏈表的末尾插入數(shù)據(jù)是一樣的

    void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewListItem )

    列表項的刪除

    UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove );
    • pxItemToRemove :要刪除的列表項

    列表的遍歷

    列表結(jié)構(gòu)體中的pxIndex是用來遍歷鏈表的,在說列表項插入的時候,也用到了列表的遍歷,具體代碼如下:

    for( pxIterator = ( ListItem_t * ) &( pxList->xListEnd ); pxIterator->pxNext->xItemValue <= xValueOfInsertion; pxIterator = pxIterator->pxNext )

    FreeRTOS提供了一個函數(shù)來完成列表的遍歷,這個函數(shù)是listGET_OWNER_OF_NEXT_ENTRY。每調(diào)用一次該函數(shù)pxIndex變量就會指向下一個列表項,并且返回這個列表項的pxOwner變量值

    #define listGET_OWNER_OF_NEXT_ENTRY( pxTCB, pxList ) \ { \ List_t * const pxConstList = ( pxList ); \/* Increment the index to the next item and return the item, ensuring */ \/* we don't return the marker used at the end of the list. */ \( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \{ \( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \} \( pxTCB ) = ( pxConstList )->pxIndex->pvOwner; \ }

    pxTCB用來保存pxIndex所指向的列表項pvOwner變量值。pxList是要遍歷的列表
    將pxIndex指向下一個列表項

    ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext;

    如果指向的列表項是xListEnd ,表示已經(jīng)到了列表末尾,然后跳過末尾,再一次重新指向列表的第一個列表項。

    if( ( void * ) ( pxConstList )->pxIndex == ( void * ) &( ( pxConstList )->xListEnd ) ) \{ \( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext; \}

    將pxIndex所指向的新列表項的pvOwner賦值給pxTCB

    ( pxConstList )->pxIndex = ( pxConstList )->pxIndex->pxNext;

    列表項的插入和刪除實驗

    實驗設(shè)計,三個任務(wù):
    start_task:創(chuàng)建其他兩個任務(wù)
    task1_task:應(yīng)用任務(wù)1,控制LED0閃爍,用來提示系統(tǒng)正在運行
    task2_task:列表和列表項操作任務(wù),調(diào)用列表和列表相關(guān)的API,并且通過串口輸出相應(yīng)的信息來觀察這些API函數(shù)的運行過程。

    任務(wù)設(shè)置
    #define START_STACK_SIZE 128 #define START_TASK_PIO 1 TaskHandle_t Start_Handler; void start_task(void * pvParameters);#define TASK1_STACK_SIZE 128 #define TASK1_TASK_PIO 2 TaskHandle_t Task1_Handler; void task1_task(void * pvParameters);#define TASK2_STACK_SIZE 128 #define TASK2_TASK_PIO 3 TaskHandle_t Task2_Handler; void task2_task(void * pvParameters);
    列表項和列表的定義
    //定義一個測試用的列表和是哪個列表項 List_t TestList; ListItem_t ListItem1; ListItem_t ListItem2; ListItem_t ListItem3;
    main函數(shù)
    int main(void) {HAL_Init(); //初始化HAL庫 Stm32_Clock_Init(360,25,2,8); //設(shè)置時鐘,180Mhzdelay_init(180); //初始化延時函數(shù)uart_init(115200); //初始化串口LED_Init(); //初始化LED KEY_Init(); //初始化按鍵SDRAM_Init(); //初始化SDRAMLCD_Init(); //初始化LCDPOINT_COLOR = RED;LCD_ShowString(30,10,200,16,16,"Apollo STM32F4/F7"); LCD_ShowString(30,30,200,16,16,"FreeRTOS Examp 7-1");LCD_ShowString(30,50,200,16,16,"list and listItem");LCD_ShowString(30,70,200,16,16,"ATOM@ALIENTEK");LCD_ShowString(30,90,200,16,16,"2016/10/9");//創(chuàng)建開始任務(wù)xTaskCreate(start_task,"start_task",START_STACK_SIZE,NULL,START_TASK_PIO,&Start_Handler);vTaskStartScheduler(); }
    任務(wù)函數(shù)
    //開始任務(wù)任務(wù)函數(shù) void start_task(void * pvParameters) {taskENTER_CRITICAL(); //進(jìn)入臨界區(qū)//創(chuàng)建任務(wù)xTaskCreate(task1_task,"task1_task",TASK1_STACK_SIZE,NULL,TASK1_TASK_PIO,&Task1_Handler);xTaskCreate(task2_task,"task1_task",TASK2_STACK_SIZE,NULL,TASK2_TASK_PIO,&Task2_Handler);vTaskDelete(Start_Handler);//退出臨界區(qū)taskEXIT_CRITICAL(); }//task1任務(wù)函數(shù) void task1_task(void * pvParameters) {while(1){LED0 = !LED0;vTaskDelay(500);} } //list任務(wù)函數(shù) void task2_task(void * pvParameters) {//初始化列表和列表項vListInitialise(&TestList);vListInitialiseItem(&ListItem1);vListInitialiseItem(&ListItem2);vListInitialiseItem(&ListItem3);ListItem1.xItemValue=40;ListItem2.xItemValue = 60;ListItem3.xItemValue=50;//第二步:打印列表和其他列表項的地址printf("/*******************列表和列表項地址*******************/\r\n");printf("項目 地址 \r\n");printf("TestList %#x \r\n",(int)&TestList);printf("TestList->pxIndex %#x \r\n",(int)TestList.pxIndex);printf("TestList->xListEnd %#x \r\n",(int)(&TestList.xListEnd));printf("ListItem1 %#x \r\n",(int)&ListItem1);printf("ListItem2 %#x \r\n",(int)&ListItem2);printf("ListItem3 %#x \r\n",(int)&ListItem3);printf("/************************結(jié)束**************************/\r\n");printf("按下KEY_UP鍵繼續(xù)!\r\n\r\n\r\n");while(KEY_Scan(0)!=WKUP_PRES) delay_ms(10); //第三步:向列表TestList添加列表項ListItem1,并通過串口打印所有//列表項中成員變量pxNext和pxPrevious的值,通過這兩個值觀察列表//項在列表中的連接情況。vListInsert(&TestList,&ListItem1); //插入列表項ListItem1printf("/******************添加列表項ListItem1*****************/\r\n");printf("項目 地址 \r\n");printf("TestList->xListEnd->pxNext %#x \r\n",(int)(TestList.xListEnd.pxNext));printf("ListItem1->pxNext %#x \r\n",(int)(ListItem1.pxNext));printf("/*******************前后向連接分割線********************/\r\n");printf("TestList->xListEnd->pxPrevious %#x \r\n",(int)(TestList.xListEnd.pxPrevious));printf("ListItem1->pxPrevious %#x \r\n",(int)(ListItem1.pxPrevious));printf("/************************結(jié)束**************************/\r\n");printf("按下KEY_UP鍵繼續(xù)!\r\n\r\n\r\n");while(KEY_Scan(0)!=WKUP_PRES) delay_ms(10); //第四步:向列表TestList添加列表項ListItem2,并通過串口打印所有//列表項中成員變量pxNext和pxPrevious的值,通過這兩個值觀察列表//項在列表中的連接情況。vListInsert(&TestList,&ListItem2); //插入列表項ListItem2printf("/******************添加列表項ListItem2*****************/\r\n");printf("項目 地址 \r\n");printf("TestList->xListEnd->pxNext %#x \r\n",(int)(TestList.xListEnd.pxNext));printf("ListItem1->pxNext %#x \r\n",(int)(ListItem1.pxNext));printf("ListItem2->pxNext %#x \r\n",(int)(ListItem2.pxNext));printf("/*******************前后向連接分割線********************/\r\n");printf("TestList->xListEnd->pxPrevious %#x \r\n",(int)(TestList.xListEnd.pxPrevious));printf("ListItem1->pxPrevious %#x \r\n",(int)(ListItem1.pxPrevious));printf("ListItem2->pxPrevious %#x \r\n",(int)(ListItem2.pxPrevious));printf("/************************結(jié)束**************************/\r\n");printf("按下KEY_UP鍵繼續(xù)!\r\n\r\n\r\n");while(KEY_Scan(0)!=WKUP_PRES) delay_ms(10); //第五步:向列表TestList添加列表項ListItem3,并通過串口打印所有//列表項中成員變量pxNext和pxPrevious的值,通過這兩個值觀察列表//項在列表中的連接情況。vListInsert(&TestList,&ListItem3); //插入列表項ListItem3printf("/******************添加列表項ListItem3*****************/\r\n");printf("項目 地址 \r\n");printf("TestList->xListEnd->pxNext %#x \r\n",(int)(TestList.xListEnd.pxNext));printf("ListItem1->pxNext %#x \r\n",(int)(ListItem1.pxNext));printf("ListItem3->pxNext %#x \r\n",(int)(ListItem3.pxNext));printf("ListItem2->pxNext %#x \r\n",(int)(ListItem2.pxNext));printf("/*******************前后向連接分割線********************/\r\n");printf("TestList->xListEnd->pxPrevious %#x \r\n",(int)(TestList.xListEnd.pxPrevious));printf("ListItem1->pxPrevious %#x \r\n",(int)(ListItem1.pxPrevious));printf("ListItem3->pxPrevious %#x \r\n",(int)(ListItem3.pxPrevious));printf("ListItem2->pxPrevious %#x \r\n",(int)(ListItem2.pxPrevious));printf("/************************結(jié)束**************************/\r\n");printf("按下KEY_UP鍵繼續(xù)!\r\n\r\n\r\n");while(KEY_Scan(0)!=WKUP_PRES) delay_ms(10); //第六步:刪除ListItem2,并通過串口打印所有列表項中成員變量pxNext和//pxPrevious的值,通過這兩個值觀察列表項在列表中的連接情況。uxListRemove(&ListItem2); //刪除ListItem2printf("/******************刪除列表項ListItem2*****************/\r\n");printf("項目 地址 \r\n");printf("TestList->xListEnd->pxNext %#x \r\n",(int)(TestList.xListEnd.pxNext));printf("ListItem1->pxNext %#x \r\n",(int)(ListItem1.pxNext));printf("ListItem3->pxNext %#x \r\n",(int)(ListItem3.pxNext));printf("/*******************前后向連接分割線********************/\r\n");printf("TestList->xListEnd->pxPrevious %#x \r\n",(int)(TestList.xListEnd.pxPrevious));printf("ListItem1->pxPrevious %#x \r\n",(int)(ListItem1.pxPrevious));printf("ListItem3->pxPrevious %#x \r\n",(int)(ListItem3.pxPrevious));printf("/************************結(jié)束**************************/\r\n");printf("按下KEY_UP鍵繼續(xù)!\r\n\r\n\r\n");while(KEY_Scan(0)!=WKUP_PRES) delay_ms(10); //第七步:刪除ListItem2,并通過串口打印所有列表項中成員變量pxNext和//pxPrevious的值,通過這兩個值觀察列表項在列表中的連接情況。TestList.pxIndex=TestList.pxIndex->pxNext; //pxIndex向后移一項,這樣pxIndex就會指向ListItem1。vListInsertEnd(&TestList,&ListItem2); //列表末尾添加列表項ListItem2printf("/***************在末尾添加列表項ListItem2***************/\r\n");printf("項目 地址 \r\n");printf("TestList->pxIndex %#x \r\n",(int)TestList.pxIndex);printf("TestList->xListEnd->pxNext %#x \r\n",(int)(TestList.xListEnd.pxNext));printf("ListItem2->pxNext %#x \r\n",(int)(ListItem2.pxNext));printf("ListItem1->pxNext %#x \r\n",(int)(ListItem1.pxNext));printf("ListItem3->pxNext %#x \r\n",(int)(ListItem3.pxNext));printf("/*******************前后向連接分割線********************/\r\n");printf("TestList->xListEnd->pxPrevious %#x \r\n",(int)(TestList.xListEnd.pxPrevious));printf("ListItem2->pxPrevious %#x \r\n",(int)(ListItem2.pxPrevious));printf("ListItem1->pxPrevious %#x \r\n",(int)(ListItem1.pxPrevious));printf("ListItem3->pxPrevious %#x \r\n",(int)(ListItem3.pxPrevious));printf("/************************結(jié)束**************************/\r\n\r\n\r\n");while(1){LED1=!LED1;vTaskDelay(1000); //延時1s,也就是1000個時鐘節(jié)拍 } }

    總結(jié)

    以上是生活随笔為你收集整理的FreeRTOS的列表和列表项的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

    中文字幕有码在线播放 | 国产精久久 | 午夜在线国产 | 色视频在线免费观看 | av在线在线 | 国产精品欧美久久久久天天影视 | 欧美日韩一级久久久久久免费看 | 国产午夜精品一区二区三区在线观看 | 亚洲精品资源 | 4p变态网欧美系列 | 青草视频免费观看 | 亚洲精品国偷拍自产在线观看蜜桃 | 日韩一区二区三区不卡 | 久久99精品久久久久久 | 在线v片免费观看视频 | 99久久精品免费看国产麻豆 | 国产美女精品人人做人人爽 | 日韩免费| 中文字幕黄色 | 人人看人人做人人澡 | 1区2区视频 | 麻花天美星空视频 | 天天色天天操天天爽 | 免费观看丰满少妇做爰 | 欧美少妇xx| 美国三级黄色大片 | 91豆麻精品91久久久久久 | 91精品无人成人www | 国产成人久久av977小说 | 黄色av电影一级片 | 国产精品原创在线 | 久久精品永久免费 | 99视频精品免费观看, | 99热精品久久 | 一区二区视频在线免费观看 | 黄色免费高清视频 | 婷婷激情五月综合 | 狠狠色丁香婷婷综合最新地址 | 91大片网站 | 久久在线免费 | bbbb操bbbb | 日韩欧美在线综合网 | 伊人看片 | 在线观看亚洲精品视频 | 最近中文字幕免费大全 | 久久精品久久综合 | 国产在线观看av | 在线 视频 一区二区 | 美女久久 | 国产永久网站 | 欧美国产精品久久久久久免费 | 久久这里只有精品23 | 精品人人人人 | 午夜久久成人 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 国产美女免费观看 | 久久精品国产免费 | 欧洲精品亚洲精品 | 久久久久久蜜av免费网站 | 免费成人黄色 | 欧亚日韩精品一区二区在线 | 日韩专区av| 国产精品区免费视频 | 91av视频播放 | 精品成人在线 | 久久精品国产一区二区三区 | 美女久久精品 | 中文字幕日韩一区二区三区不卡 | 园产精品久久久久久久7电影 | 国产亚洲精品无 | 综合天天色 | 国产成人777777| 亚洲最新av网站 | 天天色天天射天天综合网 | 日韩在线视频网址 | 超碰97人人干 | 国产精品爽爽久久久久久蜜臀 | 久久伦理电影 | 韩国av免费看 | 久久综合一本 | 91免费在线视频 | 国产亚洲va综合人人澡精品 | 久久天天躁夜夜躁狠狠躁2022 | 少妇bbr搡bbb搡bbb | 天天亚洲 | 欧洲精品在线视频 | 婷婷六月久久 | 久久免费精品一区二区三区 | 免费看的黄色 | 国产中文字幕三区 | 国产精品乱码在线 | 欧美看片 | 五月婷婷黄色网 | 色婷婷电影 | av大全在线看 | 激情综合五月天 | 中文字幕在线看片 | 午夜av免费 | 91网址在线看| 日本久久电影 | 久久最新视频 | 激情婷婷欧美 | 国产一区二三区好的 | 日韩午夜电影网 | 日韩电影在线一区 | 国产一级大片在线观看 | 国产精品岛国久久久久久久久红粉 | 成人网色 | 久久精品视频一 | 高清av网 | 97在线观看免费视频 | 懂色av一区二区三区蜜臀 | 波多野结衣久久精品 | 日日操日日操 | 成人高清av在线 | 日韩午夜在线 | 成片免费观看视频大全 | 久久精品a | 亚洲人毛片 | 国产精品在线看 | 日韩精品一区二区三区免费观看视频 | 不卡电影一区二区三区 | 狠狠色丁香婷婷综合久久片 | 日韩久久久久久久 | 免费高清在线观看成人 | 国产91精品一区二区麻豆亚洲 | 激情婷婷亚洲 | 中文字幕在线观看视频一区 | 国产精品粉嫩 | 日韩aⅴ视频 | 亚洲一区视频在线播放 | 日韩欧美国产精品 | 一区在线观看 | 国产精品一区二区三区在线 | 婷婷丁香久久五月婷婷 | 成人久久综合 | 九色精品免费永久在线 | 五月婷婷丁香六月 | 欧美黑人性爽 | 欧美国产日韩在线视频 | 91精品视频播放 | 日韩av有码在线 | 波多野结衣视频一区 | 伊人久在线 | 99国产在线 | 92精品国产成人观看免费 | 色久天| 久久精品视频国产 | 国产日韩欧美视频 | 精品一区免费 | 成人在线视频免费看 | 欧美日韩综合在线 | 日韩精品在线看 | 青青色影院 | 91精品国产91热久久久做人人 | 亚洲国内精品 | 亚洲区精品 | 97人人射 | 人人插人人澡 | 久久99最新地址 | 欧美日韩视频在线观看一区二区 | 97人人添人澡人人爽超碰动图 | 亚洲精品午夜视频 | 久久国语 | 国产成人av一区二区三区在线观看 | 久草在线高清视频 | 91麻豆国产福利在线观看 | 青青河边草免费直播 | 人人插人人干 | 日韩欧美高清不卡 | 国产精品18久久久久久久久 | 国产免费av一区二区三区 | 久久久国产网站 | 亚洲午夜精品福利 | 99久久精品日本一区二区免费 | 国产精品永久免费观看 | 日韩视频欧美视频 | 天天狠狠| 亚洲精品在线观看中文字幕 | 国际精品网 | 国产91精品一区二区麻豆网站 | 六月婷婷色 | 五月色婷 | 久久综合精品一区 | 亚洲日本国产精品 | 五月天久久综合 | 午夜久操 | 亚洲国内精品视频 | 九九久久久久久久久激情 | 亚洲午夜av久久乱码 | 91av手机在线观看 | 久久黄色小说视频 | 伊人成人久久 | 久久久在线免费观看 | 九九久久婷婷 | 手机av永久免费 | 中文字幕资源站 | 伊人色综合久久天天网 | 国产亚洲91 | 久久精品亚洲国产 | 久久综合视频网 | 欧美午夜久久 | 开心色激情网 | 精品在线看| 亚洲码国产日韩欧美高潮在线播放 | 激情狠狠干 | 五月综合 | 国产精品午夜久久 | 久草网站在线观看 | 黄色www免费 | 久久综合福利 | 亚洲欧洲国产视频 | 91av视频导航 | 日韩中文在线视频 | 亚洲视频在线看 | 国产精品永久在线 | 伊人天堂av | 青草草在线 | 色欧美成人精品a∨在线观看 | 黄色av高清| av中文字幕网站 | 天天操天天插 | 国产精品激情 | 99久久超碰中文字幕伊人 | 久久综合爱 | 婷婷伊人五月 | 日韩av电影中文字幕 | 久久免费视频2 | 超碰在线日韩 | 国语精品免费视频 | 婷婷视频在线 | 久久99精品视频 | 一区二区三区中文字幕在线观看 | 日本aa在线 | 国产极品尤物在线 | 国产精品www| 免费国产亚洲视频 | 黄色毛片在线观看 | 国产精品国产亚洲精品看不卡 | 色综合亚洲精品激情狠狠 | 91av在线免费视频 | 日韩av一区二区三区 | 欧美一级性生活片 | 国产精品99久久久久人中文网介绍 | 超碰人人草人人 | 国产精品福利在线播放 | 国产在线观看 | 天天草综合网 | 欧美性黑人 | 97视频人人澡人人爽 | av网站手机在线观看 | 久久久亚洲精华液 | 亚洲成熟女人毛片在线 | 亚洲午夜在线视频 | 日韩中文字幕免费看 | 色婷婷激情电影 | 色综合天天色综合 | 精品日韩在线一区 | 精品久久久亚洲 | 国产精品久久久久久久久久免费 | 日韩xxxx视频 | 亚洲国产高清在线观看视频 | 亚洲美女免费视频 | 亚洲精品乱码久久久久久蜜桃91 | 亚洲精品国产成人av在线 | 91av中文| 精品国产一二三 | 国产理论片在线观看 | 日韩欧美国产激情在线播放 | 久久夜夜操 | 亚洲欧美日韩国产一区二区三区 | 欧美日韩三区二区 | 久草在线免费新视频 | 精品国产综合区久久久久久 | 欧美亚洲精品一区 | 久久久久久久久久久久久久免费看 | 久久久久国产精品www | 青青射 | 欧美一二三视频 | www.伊人网 | 婷婷色综合 | 日韩av在线一区二区 | 国产一区91 | 亚洲最新av在线网站 | 日韩av在线网站 | 午夜色大片在线观看 | 国产麻豆成人传媒免费观看 | 亚洲精品久久久久久国 | 亚洲精品自拍视频在线观看 | 亚洲欧美日韩一区二区三区在线观看 | 91视频91色 | 粉嫩av一区二区三区四区五区 | 免费国产黄线在线观看视频 | 免费日韩 精品中文字幕视频在线 | 精品亚洲成人 | 热久久视久久精品18亚洲精品 | 欧美性色xo影院 | 亚洲欧美婷婷六月色综合 | 亚洲网久久 | 亚洲美女在线一区 | 人人看人人草 | 涩涩网站免费 | 精品国产成人av在线免 | 在线观看一区二区精品 | 国产一区在线播放 | 国产96av| 高清在线观看av | 久久观看免费视频 | 日韩xxx视频 | 美女精品久久久 | 国产一级片久久 | 国产精品福利在线观看 | 最新真实国产在线视频 | 欧美极品久久 | 色噜噜在线观看视频 | 亚洲成人av在线 | 狠狠色噜噜狠狠狠狠2022 | 成人毛片在线观看视频 | 成人在线观看影院 | 91网站在线视频 | 日本99热 | 欧美日韩国产精品久久 | 99精品久久只有精品 | 国产 在线观看 | 国内精品视频在线 | 日韩免费播放 | 91在线视频在线观看 | 久久国产露脸精品国产 | 99精品国产aⅴ | 97超碰国产精品 | 91亚洲激情| 射久久久 | 丰满少妇在线观看资源站 | 日韩精品免费一区二区在线观看 | 欧美色图30p | 久久久久久久久久久久亚洲 | 成人免费在线看片 | 国产在线精品视频 | 免费午夜在线视频 | av电影中文字幕在线观看 | www.xxxx变态.com| 国产视频2区 | 久久国产精品成人免费浪潮 | 国产精品午夜久久久久久99热 | 在线观看视频福利 | 五月婷在线观看 | 国产视频 亚洲精品 | 日韩高清在线一区二区三区 | 香蕉影视| 婷婷六月综合亚洲 | 天天干夜夜爽 | 久久综合激情 | 特级西西人体444是什么意思 | 亚洲欧美va| 综合网成人 | 日韩精品亚洲专区在线观看 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 亚洲 欧洲 国产 日本 综合 | 成人福利av | 中文字幕av电影下载 | 99在线精品视频观看 | 伊人久久电影网 | 亚洲春色综合另类校园电影 | 久久综合精品一区 | 国产美女网站视频 | 视频在线观看亚洲 | 我要看黄色一级片 | 亚洲高清av在线 | 天天综合网 天天 | 国产资源在线免费观看 | 国产精品久久久久久久久久直播 | 999久久国精品免费观看网站 | 国产黄视频在线观看 | 亚洲网站在线看 | 亚洲欧洲在线视频 | 片黄色毛片黄色毛片 | 在线综合色 | 日韩一级精品 | 日韩成人免费在线观看 | 草久久精品 | 天天射天天干天天 | 9在线观看免费高清完整版 玖玖爱免费视频 | 亚洲国内精品视频 | 成年人av在线播放 | 成人黄大片 | 中文亚洲欧美日韩 | avlulu久久精品 | 欧美日韩高清免费 | 在线影视 一区 二区 三区 | 99久久99久久精品国产片 | 欧美坐爱视频 | 91亚洲国产成人久久精品网站 | 97色婷婷 | 福利网在线 | 色综合久久中文综合久久牛 | 不卡电影免费在线播放一区 | 久久99久久久久 | 亚洲成色| 69亚洲精品| 91av影视| 最近中文字幕国语免费av | 深夜免费福利网站 | 婷婷精品在线 | 国产精品久久久久久五月尺 | 午夜免费久久看 | 日韩av不卡在线观看 | 91av99| 久草在线久草在线2 | 亚州av网站 | 亚洲 欧美 日韩 综合 | 中文字幕av在线 | 青青久草在线视频 | 免费在线观看毛片网站 | 国产精品久久久久久久99 | 福利视频午夜 | 超碰免费在线公开 | 天天操天天操天天操天天 | 99精品久久久久久久 | 特级西西444www大胆高清无视频 | 黄色三级av | 天天干天天操av | 西西www4444大胆视频 | 日韩视频一区二区在线 | 亚洲视频免费 | 国产高清视频免费在线观看 | 国产精品大尺度 | 69久久夜色精品国产69 | 欧美日韩在线精品一区二区 | 亚洲一区二区三区四区在线视频 | 久久看免费视频 | 亚洲在线免费视频 | 激情视频一区二区三区 | 亚洲精品乱码久久久久久高潮 | av免费线看 | 欧美在线视频一区二区 | 中文字幕在线观看免费高清电影 | 天天做天天爱天天爽综合网 | av大全在线免费观看 | 亚洲精品乱码久久久久久蜜桃不爽 | 9色在线视频 | 久久五月婷婷综合 | 欧美小视频在线 | 992tv在线观看 | 国产1区在线 | 狠狠干综合 | 9ⅰ精品久久久久久久久中文字幕 | 热久久免费视频 | 天海翼一区二区三区免费 | 午夜在线免费观看 | 波多野结衣电影一区 | 日韩久久精品一区 | 在线观看久久 | 日韩在线观看影院 | 欧美另类交在线观看 | 视频二区在线 | 亚洲在线不卡 | 久久99精品国产91久久来源 | 久久歪歪 | 久久夜av | 在线观看视频免费播放 | 99视频在线精品 | 97人人添人澡人人爽超碰动图 | 亚洲天天摸日日摸天天欢 | 人人爱人人添 | 热99久久精品| 国产视频2021| 午夜视频在线观看网站 | 一区二区三区播放 | 国产91成人 | a黄色一级 | 少妇bbw搡bbbb搡bbbb| 欧美精品一区二区在线播放 | 女人18毛片a级毛片一区二区 | 久久伦理 | 中文字幕高清 | 久久综合偷偷噜噜噜色 | 99精品久久久 | 亚洲三级在线免费观看 | 免费在线观看污网站 | 国内精品免费久久影院 | 中文字幕乱在线伦视频中文字幕乱码在线 | 五月婷婷综 | 婷婷色社区 | 成人播放器 | 国产在线久久久 | 久久国产经典视频 | 性日韩欧美在线视频 | 亚洲专区在线播放 | 精品999 | 久久人人爽人人片av | 亚洲视频 在线观看 | 亚洲天堂网视频 | 国产午夜视频在线观看 | 精品久久久网 | 亚洲激情综合网 | 激情影院在线观看 | 国产黄色大片 | 在线免费观看一区二区三区 | 欧美另类xxx | 精品久久久久亚洲 | 色综合久久99 | av在线播放国产 | 成人在线中文字幕 | 欧美成人在线网站 | 色综合久久久久网 | 九九亚洲精品 | 一区二区三区日韩视频在线观看 | 欧美一级片免费在线观看 | 91亚色视频 | 黄色在线小网站 | 免费在线黄网 | 91三级在线观看 | 亚洲精品在线二区 | 日韩精品一区二区三区电影 | 国产一区欧美二区 | 字幕网资源站中文字幕 | 激情丁香综合五月 | 日韩高清精品免费观看 | 91| 久久精品麻豆 | 午夜国产成人 | 97视频免费观看 | 欧美不卡视频在线 | 日韩av午夜| 久久免费av电影 | 日韩成人免费电影 | 色午夜影院 | 成人av影视在线 | 久久国内免费视频 | 欧美性网站 | 伊人久久五月天 | 国产午夜三级一区二区三桃花影视 | 91最新地址永久入口 | 日本精品久久久一区二区三区 | 久久九九国产精品 | 色播五月激情五月 | 久久精品一区二区三区视频 | 欧美一级性生活片 | 色网址99| 超级碰碰免费视频 | 91在线永久 | 亚洲在线视频免费观看 | 成人国产网站 | 国产在线更新 | 2024国产在线 | 国产精品美女久久久网av | 伊人手机在线 | 在线观看不卡的av | 国产日韩高清在线 | 97国产大学生情侣白嫩酒店 | 久9在线 | 99精品国产免费久久久久久下载 | 亚洲春色综合另类校园电影 | 久草在线视频在线观看 | 久草在线视频免赞 | 91成人精品在线 | 91精品999 | 久久天天躁夜夜躁狠狠躁2022 | 国产最新视频在线 | 国产99亚洲| 国产日韩欧美视频在线观看 | 在线精品在线 | 国产五月色婷婷六月丁香视频 | av午夜电影| 成 人 黄 色 视频 免费观看 | 综合在线观看色 | 久久综合婷婷国产二区高清 | 亚洲春色成人 | 在线观看国产一区二区 | 中文字幕av一区二区三区四区 | www.五月天婷婷 | 亚洲天天草 | 性色av免费看 | 久久精品人人做人人综合老师 | 国产高清网站 | 欧美一区中文字幕 | 五月天开心 | 91人人澡| 成 人 免费 黄 色 视频 | 欧美日韩精品在线观看 | 最新不卡av | japanesexxxhd奶水| av在线免费网站 | 国产在线播放一区二区三区 | 99久久久久免费精品国产 | 国产精品理论片 | 亚洲国产精品久久久久婷婷884 | 国内精品视频在线 | 男女视频国产 | 日韩三级成人 | 色综合久久中文字幕综合网 | 久久精品视 | 中文字幕精品一区二区精品 | 免费观看成人网 | 国产精品毛片一区二区 | 精品国产乱码久久久久久1区2匹 | 国产午夜精品久久 | 久久综合加勒比 | 成人免费网站视频 | 亚洲精品白浆高清久久久久久 | 超碰人人草人人 | 国产又黄又猛又粗 | 99精品国产免费久久久久久下载 | 91在线中文字幕 | 国产亚洲情侣一区二区无 | 日韩中文免费视频 | 国产高清久久久久 | 99精品国产高清在线观看 | 久久午夜影院 | 亚洲日本中文字幕在线观看 | 黄色小说免费在线观看 | 亚洲成色777777在线观看影院 | 西西www444| 色av男人的天堂免费在线 | 中文字幕一区二区三区四区在线视频 | 天天插天天 | 亚洲天堂网站视频 | 开心激情五月婷婷 | 特级a毛片 | 亚洲精品日韩一区二区电影 | 91xav| 亚洲精品视频久久 | 婷婷色吧 | 97在线精品视频 | av电影免费看 | www,黄视频 | 超碰97在线看| 国产在线最新 | 国产一二三区在线观看 | 缴情综合网五月天 | 亚洲视频 中文字幕 | 久久成年人视频 | 国产精品一区二区在线观看免费 | 国产精品一区二区在线观看 | 18久久久 | 99r精品视频在线观看 | 五月婷婷丁香激情 | 91av电影在线观看 | 亚洲国产wwwccc36天堂 | 国产黄色大全 | 中文字幕 欧美性 | 九九九毛片 | 中文字幕一区在线 | 国产精品99久久久久的智能播放 | 国产精品18久久久久久vr | 在线电影中文字幕 | 亚洲欧美日韩精品一区二区 | 五月婷婷网站 | 国产又粗又长的视频 | 在线免费亚洲 | 天天综合网入口 | 久久婷婷色综合 | 精品视频一区在线观看 | 久久久久久久久久久久久久免费看 | 九九精品视频在线 | 五月天com | 亚洲精品ww | 国产一区二区三区免费在线观看 | 亚洲成av人片在线观看香蕉 | 亚洲精品资源在线观看 | 欧美a级片网站 | 日韩精品短视频 | 中文字幕在线看片 | 日韩黄色免费在线观看 | 在线成人免费电影 | 在线免费黄色av | 91视频一8mav | 又黄又爽又湿又无遮挡的在线视频 | 精品国产伦一区二区三区免费 | 日本精品久久久一区二区三区 | 久久久免费 | 丝袜美腿亚洲 | 国内精品美女在线观看 | 久久激情视频免费观看 | 91污视频在线 | 96国产精品视频 | 中文字幕免费高清 | 久久免费看a级毛毛片 | 精品国产一区二区三区不卡 | 在线视频 日韩 | 激情中文字幕 | 91豆麻精品91久久久久久 | 992tv在线成人免费观看 | 日韩精品黄 | 91精品视频观看 | 国产在线国偷精品产拍 | 一区二区三区四区五区在线 | 韩国在线一区二区 | 三级av小说 | 午夜资源站 | 国产欧美在线一区二区三区 | av在线在线 | 欧美久久久久久久 | 久久激情综合 | 福利电影久久 | 免费人成网 | 9幺看片 | 国产很黄很色的视频 | 天天色天天操天天爽 | 国产伦精品一区二区三区无广告 | 五月天堂网 | 亚洲欧洲国产日韩精品 | 亚洲视频电影在线 | 一区二区三区在线观看 | 日本在线观看中文字幕无线观看 | 五月开心激情网 | av软件在线观看 | 日韩mv欧美mv国产精品 | 久久亚洲综合色 | 中文字幕 欧美性 | 久久伊人国产精品 | 色婷婷狠狠| 很黄很黄的网站免费的 | 国产精品欧美久久 | 国产亚洲高清视频 | 婷婷在线免费视频 | 久久香蕉一区 | 麻豆传媒在线视频 | 久久精品视频国产 | 精品99在线观看 | 日本公妇在线观看高清 | 中文在线a在线 | 91在线日韩 | 99婷婷狠狠成为人免费视频 | 精品99久久久久久 | 国产麻豆传媒 | 99视频在线精品国自产拍免费观看 | 91丨九色丨丝袜 | 久久情爱 | 成在人线av| 国产免费观看久久 | 国产精品毛片一区二区 | 日本在线中文 | 亚洲精品18日本一区app | 韩国在线视频一区 | 人人澡人摸人人添学生av | 国产福利在线不卡 | 在线成人免费电影 | 最近最新mv字幕免费观看 | 国产成人免费 | 久久成人18免费网站 | 日韩三级视频在线观看 | 91成人欧美| 人人搞人人搞 | 国产一级做a爱片久久毛片a | 91网站免费观看 | 国产亚洲精品成人av久久影院 | 在线v | 91av国产视频 | 男女全黄一级一级高潮免费看 | 99国产精品一区 | 久久久国产影视 | 国产精品久久99综合免费观看尤物 | 国产成人综合精品 | 精品国产一区二区三区四区vr | 婷婷视频在线观看 | 国产小视频在线看 | 精品久久久久久电影 | 国产日产精品一区二区三区四区的观看方式 | 中文字幕精品一区二区三区电影 | 婷婷色 亚洲 | 亚洲精品系列 | 亚洲视频在线免费观看 | 色天天中文 | www.狠狠操| 国产剧情一区 | 国产亚洲精品成人av久久影院 | 日本护士撒尿xxxx18 | 国产区精品在线观看 | 啪啪av在线 | 日韩免费一级a毛片在线播放一级 | 狠狠干婷婷色 | 成人精品久久 | 亚洲手机天堂 | 亚洲蜜桃av | 在线观看成人国产 | 国产黄色大片 | 免费视频网 | www.com在线观看 | 伊人天堂av | 伊人激情网 | 97夜夜澡人人双人人人喊 | 国产在线观看二区 | 9999激情| 亚洲精品2区 | 久草在线免费资源 | 五月香视频在线观看 | 国产网红在线观看 | 久久久亚洲国产精品麻豆综合天堂 | 久久久久久国产精品999 | 狠狠狠狠狠狠狠狠干 | 91中文字幕网 | 国产在线视频不卡 | 国内久久视频 | 成人在线视频免费 | 久久成人精品视频 | 日韩精品久久久免费观看夜色 | av中文字幕网站 | 中文字幕91视频 | 精品免费久久久久 | 五月婷综合 | 免费在线看v| 久久99久久99精品 | 国产一级黄色片免费看 | 日韩激情中文字幕 | 亚洲精品字幕在线观看 | 日韩av不卡播放 | 人人澡澡人人 | 欧美大片在线观看一区 | 97在线视频网站 | 五月天六月丁香 | 99免在线观看免费视频高清 | 丁香婷婷综合五月 | 久久这里只有精品久久 | 国产 日韩 在线 亚洲 字幕 中文 | 国产美女精品视频 | 国产原创在线 | 亚洲精品国产综合99久久夜夜嗨 | 国产伦精品一区二区三区在线 | 丁香午夜 | 成人网在线免费视频 | 欧美日韩视频在线一区 | 亚洲国产激情 | 亚洲香蕉在线观看 | 日韩精品免费在线播放 | 五月婷婷另类国产 | 国产精品乱码久久久 | 日日夜夜综合网 | 日本精品xxxx | 久久精品视频国产 | www.色爱| 久久久久久网站 | 天天操夜夜拍 | 99免费在线播放99久久免费 | 婷婷色中文字幕 | 免费网站黄 | 91av资源在线| 色综合久久中文综合久久牛 | 成人午夜电影在线播放 | 一区二区视频播放 | 91精品蜜桃 | 午夜日b视频| 婷婷五月情 | 日日夜夜天天久久 | 欧美日韩国产综合一区二区 | 国产 视频 久久 | 岛国精品一区二区 | 美女视频一区 | av免费网站 | 国产精品av在线免费观看 | 99视频精品视频高清免费 | 91精品视频一区二区三区 | 玖玖国产精品视频 | 久久精品久久久精品美女 | 麻豆国产精品va在线观看不卡 | 久草在线视频新 | 亚洲激情精品 | 日韩伦理片hd | 国产三级久久久 | 成人欧美一区二区三区黑人麻豆 | 精品久久久国产 | 天天看天天干天天操 | 四虎海外影库www4hu | 免费国产亚洲视频 | 黄色毛片电影 | 免费午夜在线视频 | 久久综合爱 | 伊人成人精品 | 亚洲免费高清视频 | 亚洲精品一区二区在线观看 | 超碰97.com| 久久久久成人精品 | 国产精品一区二区久久精品爱涩 | 成人免费在线播放 | 国产特级毛片aaaaaa毛片 | 成人午夜电影免费在线观看 | 韩国一区在线 | 久久r精品 | 99免费在线播放99久久免费 | 亚洲人成网站精品片在线观看 | 在线有码中文 | 在线观看国产日韩欧美 | 91av中文| 欧美黄色高清 | 欧美一性一交一乱 | 久久久蜜桃 | 亚洲国产中文字幕 | 在线观看中文av | 人人爱人人舔 | 中文字幕在线免费观看 | 91精品亚洲影视在线观看 | 久久国语 | 国产一二三四在线视频 | 国产精品美女久久久久久 | 亚洲免费av观看 | 精品国产伦一区二区三区观看体验 | 少妇bbr搡bbb搡bbb | 一区二区三区电影大全 | 亚洲精选国产 | 色噜噜狠狠狠狠色综合 | 国产一区视频在线 | 久久99久久99精品免观看软件 | 欧美va天堂va视频va在线 | 国产精品日韩 | 一二三精品视频 | 亚洲精品乱码久久久久 | 欧美日韩国产网站 | 欧美午夜性生活 | 91香蕉视频好色先生 | 九九有精品 | 久久天堂影院 | 久久精品牌麻豆国产大山 | 色综合久久久 | 亚洲精品一区中文字幕乱码 | a一片一级| 片黄色毛片黄色毛片 | 国产美腿白丝袜足在线av | 国产高清免费观看 | av大全免费在线观看 | 亚洲精品高清视频 | 久久超级碰视频 | 91av免费看| 久久男人影院 | 欧美色图亚洲图片 | 亚洲欧美日韩精品一区二区 | 蜜臀久久99精品久久久无需会员 | 亚洲欧美视屏 | 韩国av电影在线观看 | 精品国产一区二区三区久久影院 | 国产成a人亚洲精v品在线观看 | av在线电影网站 | 九九色综合 | 九九久久免费 | 久久久久久久福利 | 国产精品美女在线观看 | 国产精品久久久久久久久久久杏吧 | 久久黄色免费观看 | 免费看在线看www777 | 中文字幕国产精品一区二区 | 国产一区二区视频在线播放 | 西西44人体做爰大胆视频 | 久久99精品国产麻豆婷婷 | 久爱精品在线 | 国产精品久久久久aaaa九色 | 九九热在线播放 | 超碰伊人网 | 久久久性 | 欧美精品在线观看一区 | 日韩精品一区电影 | 午夜美女网站 | 狠狠搞,com | 国产成人精品午夜在线播放 | 97精品久久人人爽人人爽 | 91在线亚洲| 久久久在线视频 | 激情网综合 | 操操操com| 色综合综合 | 狠狠色狠狠色综合日日小说 | 不卡av在线免费观看 | 91亚洲精品国产 | 99热在线免费观看 | 91精品国产自产91精品 | 中文字幕在线观看免费高清完整版 | 欧美日韩中文国产一区发布 | 中文字幕一区二区三区四区在线视频 | 欧美日韩中文另类 | 在线免费观看国产黄色 | 91精品久 | 日韩一区二区三区免费电影 | 在线精品国产 | 国内精品久久久久久久久久久久 | 黄色毛片视频免费 | 亚洲视频1区2区 | 国产五月婷婷 | 欧美男女爱爱视频 | 日日爱夜夜爱 | 综合伊人久久 | 在线观看免费黄视频 | 国产成人精品福利 | 精品视频在线免费 | 天天综合狠狠精品 | 欧美另类sm图片 | av免费网站在线观看 | 免费看在线看www777 | 毛片一区二区 | 在线观看精品一区 | 国产在线精品播放 | 91毛片在线观看 | 色偷偷88欧美精品久久久 | 国产高清视频在线播放一区 | 亚洲成av人片在线观看 | 免费在线观看成人小视频 | 日韩电影在线一区 | 丁香花中文字幕 | 伊人中文在线 | 精品国产免费人成在线观看 | 国产亚洲精品久久久久久无几年桃 |