精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

OpenHarmony:如何使用HDF驅動控制LED燈

系統 OpenHarmony
RGB LED燈整體硬件電路如下圖所示,硬件電路中包含了三個GPIO控制管腳控制RGB LED燈,低電平點亮LED燈,高電平熄滅LED燈。電路簡單,這邊不對此進行多余的說明。

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

一、程序簡介

該程序是基于OpenHarmony標準系統編寫的基礎外設類:RGB LED。

目前已在凌蒙派-RK3568開發板跑通。詳細資料請參考官網:https://gitee.com/Lockzhiner-Electronics/lockzhiner-rk3568-openharmony/tree/master/samples/b02_hdf_rgb_led。

詳細資料請參考OpenHarmony官網:

  • GPIO平臺驅動開發
  • GPIO應用程序開發

二、硬件設計

RGB LED燈整體硬件電路如下圖所示,硬件電路中包含了三個GPIO控制管腳控制RGB LED燈,低電平點亮LED燈,高電平熄滅LED燈。電路簡單,這邊不對此進行多余的說明。

三、程序解析

1、目錄結構

b02_hdf_rgb_led
├── config              # HDF資源配置文件目錄
    ├── config.hcs      # 接口IO配置文件
    ├── device_info.hcs # 設備信息配置文件
├── drivers             # 內核HDF驅動程序目錄
    ├── rgb_led_drv.c   # 內核HDF驅動程序
    ├── Makefile        # 內核HDF驅動編譯腳本
├── figures             # MD文檔圖片
├── BUILD.gn            # GN文件
├── rgb_led.c           # 應用層控制程序

2、內核HDF驅動程序

(1)接口函數

  • 函數名:HdfRgbLedDriverInit.
  • 功能說明:HDF初始化注冊,讀取HDF資源配置文件,獲取三色燈控制GPIO管腳。
int32_t HdfRgbLedDriverInit(struct HdfDeviceObject *deviceObject)
{
    if (deviceObject == NULL) {
        HDF_LOGE("g_rgbLedDriverEntry: %s failed", __func__);
        return HDF_ERR_INVALID_OBJECT;
    }
    struct DeviceResourceIface *CfgOps = NULL;
    CfgOps = DeviceResourceGetIfaceInstance(HDF_CONFIG_SOURCE);
    if (CfgOps == NULL || CfgOps->GetUint32 == NULL) {
        HDF_LOGE("%s: DeviceResourceGetIfaceInstance failed", __func__);
        return HDF_FAILURE;
    }
    if (CfgOps->GetUint32(deviceObject->property, "rgb_led_version", &g_rgbLedCfg.rgb_led_version, 0) != HDF_SUCCESS) {
        HDF_LOGE("%s: read rgb_led_version failed", __func__);
        return HDF_FAILURE;
    }
    if (CfgOps->GetUint32(deviceObject->property, "rgb_led_red", &g_rgbLedCfg.rgb_led_red, 0) != HDF_SUCCESS) {
        g_rgbLedCfg.rgb_led_version = 0;
        HDF_LOGE("%s: read rgb_led_red failed", __func__);
        return HDF_FAILURE;
    }
    if (CfgOps->GetUint32(deviceObject->property, "rgb_led_green", &g_rgbLedCfg.rgb_led_green, 0) != HDF_SUCCESS) {
        g_rgbLedCfg.rgb_led_version = 0;
        HDF_LOGE("%s: read rgb_led_green failed", __func__);
        return HDF_FAILURE;
    }
    if (CfgOps->GetUint32(deviceObject->property, "rgb_led_blue", &g_rgbLedCfg.rgb_led_blue, 0) != HDF_SUCCESS) {
        g_rgbLedCfg.rgb_led_version = 0;
        HDF_LOGE("%s: read rgb_led_blue failed", __func__);
        return HDF_FAILURE;
    }
    HDF_LOGI("g_rgbLedDriverEntry: %s success", __func__);
    return HDF_SUCCESS;
}
  • 函數名:HdfRgbLedDriverRelease。
  • 功能說明:HDF去注冊。
void HdfRgbLedDriverRelease(struct HdfDeviceObject *deviceObject)
{
    if (deviceObject == NULL) {
        HDF_LOGE("g_rgbLedDriverEntry: %s failed", __func__);
        return;
    }
    HDF_LOGI("g_rgbLedDriverEntry: %s success", __func__);
    return;
}
  • 函數名:HdfRgbLedDriverBind。
  • 功能說明:HDF綁定解析函數。
int32_t HdfRgbLedDriverBind(struct HdfDeviceObject *deviceObject)
{
    if (deviceObject == NULL) {
        HDF_LOGE("g_rgbLedDriverEntry: %s failed", __func__);
        return HDF_ERR_INVALID_OBJECT;
    }
    static struct IDeviceIoService ledDriverServ = {
        .Dispatch = rgbLedDriverDispatch,
    };
    deviceObject->service = (struct IDeviceIoService *)(&ledDriverServ);
    HDF_LOGI("g_rgbLedDriverEntry: %s success NodeName[%s]", __func__,
        deviceObject->property->name);
    return HDF_SUCCESS;
}
  • 函數名:rgbLedDriverDispatch。
  • 功能說明:解析函數,解析應用層下發的命令,執行命令對應操作,RGB_LED_WRITE控制三色燈亮滅。
int32_t rgbLedDriverDispatch(struct HdfDeviceIoClient *client, int32_t cmdId,
    struct HdfSBuf *dataBuf, struct HdfSBuf *replyBuf)
{
    int32_t result = HDF_FAILURE;
    int32_t rgbLedMode = 0;

    if (client == NULL || client->device == NULL) {
        HDF_LOGE("driver device is NULL");
        return HDF_ERR_INVALID_OBJECT;
    }
    if (g_rgbLedCfg.rgb_led_version != RGB_LED_VERSION) {
        HDF_LOGE("driver rgb_led_version not match");
        return HDF_FAILURE;
    }
    switch (cmdId) {
        case RGB_LED_WRITE:
            result = HdfSbufReadInt32(dataBuf, &rgbLedMode);
            if (result) {
                HDF_LOGI("%s: mode:[0x%X][%s%s%s]", __func__, rgbLedMode,
                    (rgbLedMode&RGB_LED_RED_BIT)?"R":"-",
                    (rgbLedMode&RGB_LED_GREEN_BIT)?"G":"-",
                    (rgbLedMode&RGB_LED_BLUE_BIT)?"B":"-");

                LedGpioCtrl(g_rgbLedCfg.rgb_led_red, (rgbLedMode&RGB_LED_RED_BIT)?LED_ON:LED_OFF);
                LedGpioCtrl(g_rgbLedCfg.rgb_led_green, (rgbLedMode&RGB_LED_GREEN_BIT)?LED_ON:LED_OFF);
                LedGpioCtrl(g_rgbLedCfg.rgb_led_blue, (rgbLedMode&RGB_LED_BLUE_BIT)?LED_ON:LED_OFF);
            }
            break;
        default:
            HDF_LOGE("%s: receiving unknown command", __func__);
            break;
    }
    return result;
}
  • 函數名:LedGpioCtrl。
  • 功能說明:LED GPIO控制函數,低電平點亮LED,高電平熄滅LED。
static int32_t LedGpioCtrl(uint16_t gpio, int32_t mode)
{
    uint16_t level = GPIO_VAL_HIGH;

    if (HDF_SUCCESS != GpioSetDir(gpio, GPIO_DIR_OUT)) {
        HDF_LOGE("%s: GpioSetDir failed", __func__);
        return HDF_FAILURE;
    }

    if (mode == LED_ON) {
        level = GPIO_VAL_LOW;
    } else if (mode == LED_OFF) {
        level = GPIO_VAL_HIGH;
    }

    if (HDF_SUCCESS != GpioWrite(gpio, level)) {
        HDF_LOGE("%s: GpioWrite failed", __func__);
        return HDF_FAILURE;
    }
    return HDF_SUCCESS;
}

3、應用層程序

(1)應用層代碼分析

程序啟動后獲取命令行參數,如果命令行不帶參數,RGB三色燈運行跑馬燈;如果命令行帶參數,根據傳入的參數的低三位映射點亮對應的紅燈、綠燈和藍燈;通過HdfIoServiceBind綁定RGB三色燈HDF服務,獲取HDF空間緩沖區,向緩沖區寫入需要控制的RGB三色燈低三位數據,通過RGB_LED_WRITE命令下發到HDF驅動中,從而控制RGB三色燈亮滅。程序運行結束,回收HDF空間緩沖區和HDF服務。

int main(int argc, char* argv[])
{
    int ret = HDF_SUCCESS;
    int32_t mode = -1;
    if (argc == ARGS_NUM) {
        mode = atoi(argv[1]);
        /*low-3bits*/
        mode &= 0x7;
        HILOG_INFO(LOG_APP, "[%s] main enter: mode[%s%s%s][0x%X]",
            LOG_TAG,
            (mode&RGB_LED_BLUE_BIT)?"B":"-",
            (mode&RGB_LED_GREEN_BIT)?"G":"-",
            (mode&RGB_LED_RED_BIT)?"R":"-",
            mode);
        printf("RGB mode[%s%s%s][0x%X]\n",
            (mode&RGB_LED_BLUE_BIT)?"B":"-",
            (mode&RGB_LED_GREEN_BIT)?"G":"-",
            (mode&RGB_LED_RED_BIT)?"R":"-",
            mode);
    } else {
        HILOG_INFO(LOG_APP, "[%s] main enter: auto test RGB LED", LOG_TAG);
        printf("auto test RGB LED\n");
    }

    struct HdfIoService *serv = HdfIoServiceBind(RGB_LED_SERVICE_NAME);
    if (serv == NULL) {
        HILOG_ERROR(LOG_APP, "get service %s failed", RGB_LED_SERVICE_NAME);
        return -1;
    }
    struct HdfSBuf *data = HdfSbufObtainDefaultSize();
    if (data == NULL) {
        HILOG_ERROR(LOG_APP, "obtain data failed");
        return -1;
    }

    if (mode == -1) {
        mode = 0x8;
        while (mode) {
            HdfSbufFlush(data);
            if (!HdfSbufWriteInt32(data, --mode)) {
                HILOG_ERROR(LOG_APP, "write data failed");
                return -1;
            }
            ret = serv->dispatcher->Dispatch(&serv->object, RGB_LED_WRITE, data, NULL);
            sleep(1);
        }
    } else {
        if (!HdfSbufWriteInt32(data, mode)) {
            HILOG_ERROR(LOG_APP, "write data failed");
            return -1;
        }
        ret = serv->dispatcher->Dispatch(&serv->object, RGB_LED_WRITE, data, NULL);
    }

    HdfSbufRecycle(data);
    HdfIoServiceRecycle(serv);
    HILOG_INFO(LOG_APP, "[%s] main exit.", LOG_TAG);

    return ret;
}

四、運行程序

系統啟動后,命令行運行命令:

rgb_led

五、運行結果

運行結果:

# rgb_led
auto test RGB LED

# rgb_led 1
RGB mode[--R][0x1]
# rgb_led 2
RGB mode[-G-][0x2]
# rgb_led 3
RGB mode[-GR][0x3]
# rgb_led 4
RGB mode[B--][0x4]
# rgb_led 5
RGB mode[B-R][0x5]
# rgb_led 6
RGB mode[BG-][0x6]
# rgb_led 7
RGB mode[BGR][0x7]

想了解更多關于開源的內容,請訪問:

51CTO 開源基礎軟件社區

https://ost.51cto.com

責任編輯:jianghua 來源: 51CTO 開源基礎軟件社區
相關推薦

2023-09-14 15:49:42

PWM鴻蒙

2023-09-13 15:33:57

I2C鴻蒙

2021-09-10 15:12:04

鴻蒙HarmonyOS應用

2022-01-07 09:56:16

鴻蒙HarmonyOS應用

2022-08-05 19:37:59

鴻蒙Api框架

2021-09-07 15:48:28

鴻蒙HarmonyOS應用

2018-12-25 13:45:54

Fedora IoT樹莓派Linux

2022-08-10 15:58:54

LED燈鴻蒙

2023-03-20 16:05:49

HDF傳感器驅動開發

2022-04-20 20:28:40

HDF 驅動框架鴻蒙操作系統

2021-01-21 13:27:37

鴻蒙HarmonyOS應用開發

2021-09-08 15:09:29

鴻蒙HarmonyOS應用

2021-09-10 15:10:50

鴻蒙HarmonyOS應用

2022-02-16 15:55:21

驅動調用操作系統鴻蒙

2022-02-14 14:28:57

驅動開發鴻蒙系統

2022-11-04 15:10:31

JS應用LED燈

2022-08-08 19:35:37

HDF驅動開發鴻蒙

2023-03-21 18:06:49

ADC數字轉換器

2022-05-16 11:50:45

HDF驅動框架

2021-11-26 15:34:27

鴻蒙HarmonyOS應用
點贊
收藏

51CTO技術棧公眾號

国产精品女主播| 精品久久香蕉国产线看观看亚洲| h视频在线播放| 鲁丝一区鲁丝二区鲁丝三区| 伊人国产精品视频| 欧美丰满少妇xxxxx高潮对白| 亚洲精品视频网址| xx视频.9999.com| 2023国产精品久久久精品双| 三级黄色片在线观看| 亚洲天堂影视av| 午夜精品久久久久久久四虎美女版| 精品无码久久久久久久| 国产乱肥老妇国产一区二| 中文字幕日韩在线| 日本黄色免费片| 日韩暖暖在线视频| 成人午夜av影视| 国产中文在线观看| 四虎精品欧美一区二区免费| 欧美性极品xxxx做受| 精品一区二区三区亚洲| 无码少妇一区二区| 69视频在线播放| 国产成人鲁色资源国产91色综| 成年人在线免费观看| 大肉大捧一进一出好爽视频| 日韩欧美一区二区不卡| 51精产品一区一区三区| 最近中文字幕免费在线观看| 激情五月综合色婷婷一区二区| 亚洲免费在线观看| 视频一区中文字幕精品| www.黄色com| 日本精品久久中文字幕佐佐木| 久久精品国产在热久久| 婷婷视频在线| 国内自拍视频网| 日韩精品一区二区三区中文精品| 欧美三级小说| 青青草视频在线免费观看| 日韩一级性生活片| 精品欧美一区二区久久| 最新日韩av| 国产情侣在线播放| 搞av.com| 亚洲国产成人久久综合一区| 亚洲网址在线| 欧美大片aaa| 欧美日韩二三区| 宅男66日本亚洲欧美视频| 久久爱另类一区二区小说| av在线播放免费| 别急慢慢来1978如如2| 国产一区二区三区视频| 久久久国产精品一区二区中文| 高清av电影在线观看| 伊人成人222| 欧美黑人xxxⅹ高潮交| 成人福利视频在线看| 欧美成人毛片| 国产在线综合网| 在线视频不卡一区二区| 日韩精品一卡| 在线中文字幕网站| 精品这里只有精品| 欧美成人免费va影院高清| 成人h版在线观看| 亚洲在线资源| 国产又粗又大又爽视频| 免费av网址在线| 欧美最猛性xxxxx(亚洲精品)| 亚洲线精品一区二区三区| 88国产精品视频一区二区三区| 外国精品视频在线观看 | 日本道色综合久久| 国产欧美综合一区二区三区| 91在线中文| 手机看片国产日韩| 老司机av福利| 九九精品在线观看| 午夜激情一区二区三区| av成人国产| 我爱我色成人网| 最好看的日本字幕mv视频大全| 日韩福利视频在线| 91精品久久久久久久久久久| 制服.丝袜.亚洲.中文.综合| 美女在线观看视频一区二区| 在线观看欧美日韩电影| 九九精品免费视频| 天堂一区在线观看| 国产99在线免费| 国产视频精品在线| 国产亚洲欧美中文| 91tv官网精品成人亚洲| а√在线天堂官网| 91亚洲视频在线观看| 最好看的中文字幕| 小说区图片区图片区另类灬| 欧美大学生性色视频| 亚洲综合一区在线| 蜜臀精品一区二区三区在线观看| 日本99精品| 成人jjav| 岛国av中文字幕| 欧美熟妇另类久久久久久多毛| 亚洲综合精品伊人久久| 97视频免费在线观看| 中日韩美女免费视频网站在线观看 | 精品香蕉一区二区三区| 国产免费嫩草影院| 亚洲高清久久| 国产欧美精品一区二区三区介绍| 成人av手机在线| 91美女片黄在线观看| 欧美区高清在线| 中日韩高清电影网| 在线观看成人免费视频| 欧美图片自拍偷拍| 日韩精品久久| 欧美在线中文字幕| 91tv国产成人福利| 国产欧美一区二区三区鸳鸯浴| 男人j进女人j| 女海盗2成人h版中文字幕| 欧美精品在线一区二区| 91网站免费入口| 国产精品激情电影| 91美女福利视频高清| 国产裸舞福利在线视频合集| 亚洲一本大道在线| 一级片免费在线观看视频| 凹凸成人精品亚洲精品密奴| 久久久久久欧美| 中文字幕亚洲高清| 国产成人av电影在线| 一区二区三区电影| 视频在线日韩| 精品一区二区三区三区| 久草视频精品在线| 国产成人精品午夜视频免费| 欧美精品成人一区二区在线观看| www在线观看黄色| 精品日韩在线观看| 国产精品久久久久久成人| 久久亚洲风情| 精品视频一区二区| 国产资源在线观看入口av| 欧美成人vps| 欧美成人精品一区二区免费看片| 精品在线免费视频| 91香蕉视频网址| 久久免费资源| 在线色欧美三级视频| 一二三区免费视频| k8久久久一区二区三区 | 中文字幕5566| 亚洲大胆在线| 国语精品免费视频| 污污片在线免费视频| 欧美一区二区三区公司| 一区二区视频免费看| 国产一区二区三区久久悠悠色av| 一区高清视频| 999精品视频在线观看| 视频在线观看一区二区| 97精品人妻一区二区三区香蕉| 国产精品久久久久久久久久免费看| 亚洲精品久久久中文字幕| 国产成人精品一区二区免费看京 | 狠狠操狠狠色综合网| 欧美双性人妖o0| 伊人精品视频| 欧美日韩亚洲综合一区二区三区激情在线| 污污在线观看| 亚洲激情在线视频| 亚洲 欧美 中文字幕| 国产丶欧美丶日本不卡视频| 日韩网站在线免费观看| 亚洲盗摄视频| 国产精品流白浆视频| av中文字幕一区二区三区| 欧美一区欧美二区| 精品少妇久久久| 2020日本不卡一区二区视频| 丰满人妻中伦妇伦精品app| 欧美亚洲在线日韩| 成人黄动漫网站免费| 五月天av在线| 久久久999精品| 国产 欧美 自拍| 色噜噜狠狠成人中文综合| fc2ppv在线播放| 成人综合在线网站| 一本久道综合色婷婷五月| 天天综合一区| 99理论电影网| 亚洲精品**中文毛片| 中文字幕日韩专区| 亚洲精选一区二区三区| 在线免费观看日韩欧美| 欧美日韩免费做爰视频| 99天天综合性| 男人操女人免费| 亚洲成人二区| 2022国产精品| 蜜桃在线视频| 久热精品视频在线观看一区| 香蕉视频网站在线| 欧美一区二区三区四区高清| 亚洲国产成人精品激情在线| 92国产精品观看| 九九九九九伊人| 亚欧成人精品| 欧美交换配乱吟粗大25p| 国产成人短视频在线观看| 成人av播放| 伊人亚洲精品| 国内精品久久久久| 国产1区在线| 亚洲精品在线不卡| 亚洲精品字幕在线| 91麻豆精品国产无毒不卡在线观看| 91porny在线| 一区二区三区日韩欧美精品| 在线观看免费黄色网址| 9l国产精品久久久久麻豆| 国产在线观看中文字幕| 日韩高清一区在线| 国产无套内射久久久国产| 亚洲网站在线| 国产一级片91| 99久久99热这里只有精品| 国产高清精品一区二区三区| 日韩黄色三级| 国产精品露脸自拍| 色综合天天色| 青青久久av北条麻妃黑人| 678在线观看视频| 一夜七次郎国产精品亚洲| 香港三日本三级少妇66| 日韩午夜精品电影| 国产一区二区三区四区视频| 色天使色偷偷av一区二区| 日本网站免费观看| 亚洲制服丝袜av| 99久久久免费精品| 中文字幕一区日韩精品欧美| 538精品视频| 久久久国际精品| 在线免费观看日韩av| 97久久超碰国产精品| 中文字幕第3页| 国产成人激情av| 丰满熟女人妻一区二区三区| 国产91精品在线观看| 国产xxx在线观看| 韩国一区二区视频| 亚洲老女人av| 精品一区二区三区视频| 一二三级黄色片| 国产精品99久久久久久似苏梦涵 | 黄网在线免费看| 久久天天躁狠狠躁夜夜躁| 久操视频在线| 欧美另类极品videosbest最新版本| 亚洲成人三级| 久久福利视频导航| 香蕉成人app免费看片| 欧美黑人视频一区| 国产夫妻在线| 欧洲美女免费图片一区| 日本美女久久| 国产精品第10页| 亚洲精品一区av| 99re资源| 老司机凹凸av亚洲导航| 欧美日韩一区综合| 久久在线免费| 久久久天堂国产精品| 悠悠资源网久久精品| 精品一卡二卡三卡| 蜜臀久久99精品久久久画质超高清| 国内国产精品天干天干| 国产成人亚洲综合色影视| 在线观看国产免费视频| 国产欧美一区二区三区鸳鸯浴| 懂色av蜜臀av粉嫩av永久| 一区二区三区免费看视频| 在线观看亚洲天堂| 日本丰满少妇一区二区三区| 国产成人无码专区| 91精品国模一区二区三区| 少妇一级淫片免费看| 伊人av综合网| 丰满诱人av在线播放| 国产精品久久久久久久av电影| 只有精品亚洲| 亚洲精品欧美日韩专区| 夜夜躁狠狠躁日日躁2021日韩| 在线视频一区观看| 国产欧美激情| 免费网站在线观看黄| 91在线国产观看| 尤物在线免费视频| 日韩欧美亚洲成人| www.国产三级| 国产亚洲精品久久久久久777| 国产人成网在线播放va免费| 欧美精品xxx| 国产成人精品一区二区三区免费| 国产精品美女诱惑| 久久理论电影| 色欲av无码一区二区人妻| 另类中文字幕网| 91精品国产自产| 亚洲五月六月丁香激情| 6—12呦国产精品| 亚洲视频欧美视频| 成年视频在线观看| 国产精品国产自产拍高清av水多| 久久天堂影院| 欧美精品七区| 亚洲乱码久久| 善良的小姨在线| 国产精品视频麻豆| 一级片免费网址| 欧美一级日韩不卡播放免费| 国产中文在线视频| 欧美性受xxxx白人性爽| 亚洲欧美日本国产| 欧美日韩一级在线| 麻豆91在线观看| 日本japanese极品少妇| 亚洲一区二区三区激情| 国产乡下妇女三片| 国产一区二区三区网站| 偷拍自拍在线看| 久久99久久精品国产| 亚洲乱码电影| av亚洲天堂网| 国产午夜精品久久久久久免费视| 91精品国产乱码久久久张津瑜 | 人妻无码中文字幕| 欧美国产乱视频| 国内欧美日韩| 亚洲电影网站| 久久久久久久欧美精品| 波多野结衣办公室33分钟| 亚洲a一区二区| 好男人www在线视频| 久久精品最新地址| 成人久久精品| 亚洲国产精品女人| 国模一区二区三区白浆| 国产传媒免费在线观看| 欧美日韩久久一区二区| 国产精品一区二区婷婷| 国产成人精品免费视频| 欧美男人操女人视频| 精品中文字幕av| 91美女精品福利| 天天操天天操天天操天天| 亚洲精品在线观看www| 先锋欧美三级| 欧美专区一二三| 蜜臀av性久久久久蜜臀av麻豆| 日本一道本视频| 欧美精品成人一区二区三区四区| 国产精品剧情一区二区在线观看 | 蜜桃在线一区| 亚洲免费视频播放| 国产一区二区看久久| 四虎免费在线视频| 欧美va在线播放| 色多多在线观看| 日本在线高清视频一区| 老司机免费视频一区二区三区| 亚洲二区在线播放| 亚洲精品一区二区在线观看| 韩国成人二区| 亚洲精品国产精品国自产| 国产一区在线视频| 日日噜噜夜夜狠狠久久波多野| 日韩精品一区二区在线观看| 乡村艳史在线观看| 亚洲精蜜桃久在线| 成人午夜私人影院| 日韩在线视频不卡| 久久精品中文字幕免费mv| 加勒比色老久久爱综合网| 91在线视频观看免费| 亚洲黄色免费网站| 美州a亚洲一视本频v色道| 成人免费淫片aa视频免费| 婷婷亚洲综合| 亚洲av无码一区二区三区网址| 亚洲宅男天堂在线观看无病毒| 撸视在线观看免费视频|