色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

零基礎開發(fā)小安派-Eyes-S1外設篇——ADC

AIoT行業(yè)洞察 ? 來源: AIoT行業(yè)洞察 ? 作者: AIoT行業(yè)洞察 ? 2024-11-27 16:43 ? 次閱讀

AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發(fā)板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設接口,具體包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網(wǎng) (EMAC)、SD/MMC(SDH)、SPI、UARTI2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。

AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。

從零開始學習小安派:

1、零基礎開發(fā)小安派-Eyes-S1【入門篇】——初識小安派-Eyes-S1

2、零基礎開發(fā)小安派-Eyes-S1【入門篇】——安裝VMware與Ubuntu

3、入門篇:零基礎開發(fā)小安派-Eyes-S1——新建工程并燒錄調試

4、零基礎開發(fā)小安派-Eyes-S1入門篇——Win下SSH連接Linux

5、零基礎開發(fā)小安派-Eyes-S1【入門篇】——Samba共享文件夾

6、零基礎開發(fā)小安派-Eyes-S1【入門篇】——工程文件架構

7、零基礎開發(fā)小安派-Eyes-S1【外設篇】——GPIO 輸入輸出

8、零基礎開發(fā)小安派-Eyes-S1【外設篇】——GPIO中斷編程

9、零基礎開發(fā)小安派-Eyes-S1【外設篇】——PWM

10、零基礎開發(fā)小安派-Eyes-S1【外設篇】——UART

11、零基礎開發(fā)小安派-Eyes-S1【外設篇】——I2C

ADC 指的是模數(shù)轉換器Analog-to-Digital Converter),它是一種用于將模擬信號轉換為數(shù)字信號電子設備或電路。

模擬信號是連續(xù)變化的信號,可以取無限個可能的值,而數(shù)字信號則是離散的,只能表示有限個數(shù)值。ADC 的作用就是將模擬信號轉換為離散的數(shù)字信號,以便數(shù)字電子系統(tǒng)進行處理、存儲和傳輸。

ADC 的基本工作原理是通過一系列的采樣和量化過程來實現(xiàn)模擬到數(shù)字的轉換:

1.采樣(Sampling):ADC 根據(jù)一定的時間間隔,從模擬信號中獲取一系列離散的采樣點。采樣率決定了采樣點的密度,較高的采樣率可以更精確地表示原始模擬信號。

2.量化(Quantization):采樣得到的模擬信號樣本通常是連續(xù)的,量化則將每個采樣點映射為一個特定的數(shù)字值。量化過程將連續(xù)的模擬信號離散化,并分配給每個樣本一個數(shù)字值。

3.編碼(Encoding):編碼將量化后的數(shù)字值表示為二進制形式,以便于數(shù)字系統(tǒng)處理。常見的編碼方式包括無符號二進制、補碼和格雷碼等。

總的來說,生活中會有許多“模擬量”,如一段從低音到高音的音頻,在數(shù)字信號中,不能簡單的把低音表示 0,高音表示 1,這樣歌曲中間的音頻變化是空的,沒有小數(shù)點這些概念來顯示他們從 0 到 0.5 到 1 的過程。所以需要有個模數(shù)轉換的過程,稱為 ADC。比如用 12 位精度的 ADC 來表示這段音頻,低音就 0,高音就是 2^12 次也就是 4096,那么在這段音頻中我們就可以通過 0-4096 的過程來判斷音頻的高和低,具體到高到有多高,低到有多低,而 ADC 的精度越高,如 16 位,就可達到 0-65535 的范圍。

一、了解小安派-Eyes-S1 的 ADC

芯片內(nèi)置一個 12bits 的逐次逼近式模擬數(shù)字轉換器 (ADC),支持 12 路外部模擬輸入和若干內(nèi)部模擬信號選擇。ADC 可以工作在 4 種模式下,轉換結果為 12/14/16bits 左對齊模式。

ADC 擁有深度為 32 字節(jié)的 FIFO,支持多種中斷,支持 DMA 操作。ADC 除了用于普通模擬信號測量外,還可以用于測量供電電壓,此外 ADC 還可以通過測量內(nèi)/外部二極管電壓用于溫度檢測

具有 12 路外部模擬通道,對應的 GPIO 如下:

wKgZO2dG26iAU49WAACKa3-cOIA915.jpg

此外,還具有 2 路 DAC 內(nèi)部通道,1 路 VBAT/2 通道,1 路 TSEN 通道

adc clock div

對 adc 時鐘再一次進行分頻。分頻后的時鐘必須小于等于 500K。

ADC CLK = CLK_SOURCE/CLK_DIV/adc_clk_div

#define ADC_CLK_DIV_4 1
#define ADC_CLK_DIV_8 2
#define ADC_CLK_DIV_12 3
#define ADC_CLK_DIV_16 4
#define ADC_CLK_DIV_20 5
#define ADC_CLK_DIV_24 6
#define ADC_CLK_DIV_32 7

adc resolution

adc 位數(shù),可以選擇 12B、14B、16B。其中 14B 和 16B 自帶過采樣處理

#define ADC_RESOLUTION_12B 0
#define ADC_RESOLUTION_14B 2
#define ADC_RESOLUTION_16B 4

adc vref

adc 內(nèi)置參考電壓選擇,可以選擇 2.0 V 或者 3.2V

#define ADC_VREF_3P2V 0
#define ADC_VREF_2P0V 1

二、結構體與 API

struct bflb_adc_config_s

說明:adc 初始化配置結構體。

struct bflb_adc_config_s {
uint8_t clk_div;
uint8_t scan_conv_mode;
uint8_t continuous_conv_mode;
uint8_t differential_mode;
uint8_t resolution;
uint8_t vref;
};

wKgZPGdG26iAYNM8AABcrcIM9Qk711.jpg

掃描模式:可按照用戶指定通道個數(shù)和順序逐個轉換,結果推入 ADC 的 FIFO

連續(xù)轉換模式:允許 ADC 連續(xù)不斷地執(zhí)行模數(shù)轉換,只需要調用一次 ADC 啟動

差分模式:ADC 支持單端輸入模式和差分模式,選擇單端時負極輸入通道選擇 GND

struct bflb_adc_channel_s

說明:配置 adc 通道時使用。

struct bflb_adc_channel_s {
uint8_t pos_chan;
uint8_t neg_chan;
};

wKgZO2dG26iASZCHAAAurtun7TA777.jpg

struct bflb_adc_result_s

說明:adc 標準轉換結果

struct bflb_adc_result_s {
int8_t pos_chan;
int8_t neg_chan;
int32_t value;
int32_t millivolt;
};

wKgZO2dG26mAeiVCAABDhS8-KFE513.jpg

bflb_adc_init

說明: 初始化 adc。adc 使用之前需要開啟 adc ip 時鐘、設置 adc 時鐘源和分頻值、選擇使用的 gpio 為 analog 模式。

void bflb_adc_init(struct bflb_device_s *dev, const struct bflb_adc_config_s *config);

wKgZPGdG26mAB9PzAAAnpLjrPOs269.jpg

bflb_adc_deinit

說明: 反初始化 adc。

void bflb_adc_deinit(struct bflb_device_s *dev);

wKgZO2dG26mAKCvIAAANT31F5oA323.jpg

bflb_adc_link_rxdma

說明: adc dma 功能開關。

void bflb_adc_link_rxdma(struct bflb_device_s *dev, bool enable);

wKgZO2dG26qAIxCyAAAoMn2lOAw772.jpg

bflb_adc_channel_config

說明: 配置 adc 通道。

int bflb_adc_channel_config(struct bflb_device_s *dev, struct bflb_adc_channel_s *chan, uint8_t channels);

wKgZPGdG26qARi9nAAA08zRIwuc521.jpg

bflb_adc_start_conversion

說明: 啟動 adc 轉換。連續(xù)轉換模式下只需要調用一次。

void bflb_adc_start_conversion(struct bflb_device_s *dev);

wKgZO2dG26uAXfS2AAAM22C5UR4151.jpg

bflb_adc_stop_conversion

說明: 停止 adc 轉換。

void bflb_adc_stop_conversion(struct bflb_device_s *dev);

wKgZPGdG26uAWVoKAAANMmHi4s4067.jpg

bflb_adc_get_count

說明: 獲取 adc 轉換個數(shù)。

uint8_t bflb_adc_get_count(struct bflb_device_s *dev);

wKgZO2dG26yANY1YAAAplaSUgB0901.jpg

bflb_adc_read_raw

說明: 讀取一次 adc 轉換值。

uint32_t bflb_adc_read_raw(struct bflb_device_s *dev);

wKgZPGdG26yACRF0AAAmEHGPOBw679.jpg

bflb_adc_rxint_mask

說明: adc 轉換完成中斷開關。

void bflb_adc_rxint_mask(struct bflb_device_s *dev, bool mask);

wKgZO2dG262AY6o_AAAlqG3F6Qs515.jpg

bflb_adc_errint_mask

說明: adc 錯誤中斷開關。

void bflb_adc_errint_mask(struct bflb_device_s *dev, bool mask);

wKgZPGdG262AXasnAAAni2EgIps897.jpg

bflb_adc_get_intstatus

說明: adc 中斷標志。

uint32_t bflb_adc_get_intstatus(struct bflb_device_s *dev);

wKgZO2dG262AQuYjAAAnUO2VkYY322.jpg

返回值如下:

ADC_INTSTS_NEG_SATURATIONADC_INTSTS_NEG_SATURATION
ADC_INTSTS_FIFO_UNDERRUN
ADC_INTSTS_FIFO_OVERRUN
ADC_INTSTS_ADC_READY

bflb_adc_int_clear

說明: 清除 adc 中斷標志。

void bflb_adc_int_clear(struct bflb_device_s *dev, uint32_t int_clear);

wKgZPGdG266AcCTOAAAnZm9P1Y8718.jpg

int_clear 可以填入以下參數(shù):

ADC_INTCLR_NEG_SATURATIONADC_INTCLR_POS_SATURATION
ADC_INTCLR_FIFO_UNDERRUN
ADC_INTCLR_FIFO_OVERRUN
ADC_INTCLR_ADC_READY

bflb_adc_parse_result

說明: 對 adc 轉換結果進行解析。

void bflb_adc_parse_result(struct bflb_device_s *dev, uint32_t *buffer, struct bflb_adc_result_s *result, uint16_t count);

wKgZO2dG266AB5jeAAA5nrVYQFg218.jpg

bflb_adc_tsen_init

說明: 初始化 adc tsen 模塊。

void bflb_adc_tsen_init(struct bflb_device_s *dev, uint8_t tsen_mod);

wKgZO2dG26-ADmzQAAAn2avgO8E073.jpg

bflb_adc_tsen_get_temp

說明: 獲取 adc tsen 模塊采集的溫度。

float bflb_adc_tsen_get_temp(struct bflb_device_s *dev);

wKgZPGdG26-AV2-kAAAmlqrczkc748.jpg

bflb_adc_vbat_enable

說明: 開啟 vbat 。

void bflb_adc_vbat_enable(struct bflb_device_s *dev);

wKgZO2dG27CAIXlNAAAPDDEZkpU600.jpg

bflb_adc_vbat_disable

說明: 關閉 vbat。

void bflb_adc_vbat_disable(struct bflb_device_s *dev);

wKgZPGdG27CAZ3aiAAAOj1drrTw165.jpg

三、示例——連續(xù)讀取 IO 的 ADC 值,ADC 轉換完成中斷

Main

#include "bflb_adc.h"
#include "bflb_mtimer.h"
#include "board.h"
#include "bflb_gpio.h"
//頭文件
struct bflb_device_s *adc;
//外設結構體設置
void My_adc_gpio_init()
{
struct bflb_device_s *gpio;
gpio = bflb_device_get_by_name("gpio");
bflb_gpio_init(gpio, GPIO_PIN_0, GPIO_ANALOG | GPIO_SMT_EN | GPIO_DRV_0);
}
//設置需要AD采集的IO腳,對應的通道和IO要匹配
volatile uint32_t raw_data;
//接收AD值變量
void adc_isr(int irq, void *arg)
{
uint32_t intstatus = bflb_adc_get_intstatus(adc);
if (intstatus & ADC_INTSTS_ADC_READY) {
bflb_adc_int_clear(adc, ADC_INTCLR_ADC_READY);
raw_data= bflb_adc_read_raw(adc);
}
}
//中斷函數(shù),清除中斷標志位,將讀取的AD變量賦給raw_data
int main(void)
{
board_init();
My_adc_gpio_init();
adc = bflb_device_get_by_name("adc");
/* adc clock = XCLK / 2 / 32 */
struct bflb_adc_config_s cfg;
cfg.clk_div = ADC_CLK_DIV_32;
cfg.scan_conv_mode = false;
cfg.continuous_conv_mode = false;
cfg.differential_mode = false;
cfg.resolution = ADC_RESOLUTION_16B;
cfg.vref = ADC_VREF_3P2V;
//adc結構體配置
struct bflb_adc_channel_s chan;
chan.pos_chan = ADC_CHANNEL_9;
chan.neg_chan = ADC_CHANNEL_GND;
//通道配置,單端模式下neg選擇GND,pos注意對應IO口的通道
bflb_adc_init(adc, &cfg);
bflb_adc_channel_config(adc, &chan, 1);
bflb_adc_rxint_mask(adc, false);
bflb_irq_attach(adc->irq_num, adc_isr, NULL);
bflb_irq_enable(adc->irq_num);
//中斷使能配置
while (1) {
struct bflb_adc_result_s result;
bflb_adc_start_conversion(adc);
bflb_adc_parse_result(adc, (uint32_t *)&raw_data, &result, 1);
printf("rnpos chan %drnADC Value = %drnCurrent Voltage = %d mvrn", result.pos_chan, result.value, result.millivolt);
bflb_adc_stop_conversion(adc);
bflb_mtimer_delay_ms(1000);
//主函數(shù)讀取AD值并轉化為電壓
}
}

四、效果

wKgZO2dG27CAYVZdAAB9M3wUA7g121.jpg

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51090

    瀏覽量

    425969
  • adc
    adc
    +關注

    關注

    99

    文章

    6530

    瀏覽量

    545381
  • 模擬信號
    +關注

    關注

    8

    文章

    1142

    瀏覽量

    52560
  • 開源
    +關注

    關注

    3

    文章

    3393

    瀏覽量

    42625
收藏 人收藏

    評論

    相關推薦

    零基開發(fā)小安-Eyes-S1 進階 ——通過屏幕輸入連接 Wi-Fi

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 01-16 09:47 ?54次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 進階<b class='flag-5'>篇</b> ——通過屏幕輸入連接 Wi-Fi

    零基開發(fā)AiPi-Eyes-S1——通過屏幕輸入連接Wi-Fi

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 01-15 09:27 ?140次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b>AiPi-<b class='flag-5'>Eyes-S1</b>——通過屏幕輸入連接Wi-Fi

    小安 DSL做一個天氣站

    前言 小安-DSL(AiPi-DSL) 是安信可開源團隊專門為Ai-M61-32S設計的一款屏幕驅動開發(fā)板,支持2.8/3.5寸等30Pin SPI顯示屏、2.4寸及1.28寸等18
    的頭像 發(fā)表于 01-06 16:44 ?156次閱讀
    用<b class='flag-5'>小安</b><b class='flag-5'>派</b> DSL做一個天氣站

    零基開發(fā)小安-Eyes-S1【進階】——初識 LVGL 并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 01-06 16:14 ?156次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【進階<b class='flag-5'>篇</b>】——初識 LVGL 并搭建最小工程

    零基開發(fā)小安-Eyes-S1——初識LVGL并搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 01-03 14:09 ?371次閱讀

    使用小安DSL制作天氣站

    小安 DSL做天氣站 用戶分享DIY ? 前言 小安-DSL(AiPi-DSL) 是安信可開源團隊專門為Ai-M61-32S設計的一款
    的頭像 發(fā)表于 01-03 11:18 ?173次閱讀
    使用<b class='flag-5'>小安</b><b class='flag-5'>派</b>DSL制作天氣站

    零基開發(fā)小安-Eyes-S1 外設——DAC

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 12-27 10:55 ?844次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> <b class='flag-5'>外設</b><b class='flag-5'>篇</b>——DAC

    零基開發(fā)小安-Eyes-S1外設——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 12-13 18:02 ?1107次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設</b><b class='flag-5'>篇</b>——I2<b class='flag-5'>S</b>

    零基開發(fā)小安-Eyes-S1外設】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 12-05 14:31 ?264次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>外設</b><b class='flag-5'>篇</b>】——FLASH

    零基開發(fā)小安-Eyes-S1 外設 ——I2C

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 11-27 16:39 ?286次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> <b class='flag-5'>外設</b><b class='flag-5'>篇</b> ——I2C

    零基開發(fā)小安-Eyes-S1【入門】——工程文件架構

    -Eyes-S1【入門】——初識小安-Eyes-S12、零基
    的頭像 發(fā)表于 11-06 16:10 ?202次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門<b class='flag-5'>篇</b>】——工程文件架構

    零基開發(fā)小安-Eyes-S1外設】——PWM

    】——工程文件架構7、零基開發(fā)小安-Eyes-S1外設
    的頭像 發(fā)表于 11-06 16:10 ?195次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【<b class='flag-5'>外設</b><b class='flag-5'>篇</b>】——PWM

    零基開發(fā)小安-Eyes-S1外設——GPIO中斷編程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 產(chǎn)品資料:https://docs.ai-thinker.com/eyes
    的頭像 發(fā)表于 10-29 14:56 ?791次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設</b><b class='flag-5'>篇</b>——GPIO中斷編程

    零基開發(fā)小安-Eyes-S1外設——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發(fā)表于 10-25 13:50 ?1066次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b><b class='flag-5'>外設</b><b class='flag-5'>篇</b>——GPIO 輸入輸出

    開發(fā)教程 零基開發(fā)小安-Eyes-S1入門——Win下SSH連接Linux

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發(fā)板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的
    的頭像 發(fā)表于 09-24 14:31 ?332次閱讀
    <b class='flag-5'>開發(fā)</b>教程 <b class='flag-5'>零基</b>礎<b class='flag-5'>開發(fā)</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>入門<b class='flag-5'>篇</b>——Win下SSH連接Linux
    主站蜘蛛池模板: 国产精品外围在线观看| 午夜aaaa| jazzjazzjazz欧美| 色影音先锋av资源网| 国产精品资源在线观看网站| 亚洲精品偷拍影视在线观看| 久久丫线这里只精品| 成3d漫二区三区四区| 亚洲欧美日韩高清专区| 欧美成人无码A区在线观看免费| 青青青草免费| 国产欧美日韩国产高清| 同居了嫂子在线观看| 交换:年轻夫妇-HD中文字幕| 99久久e免费热视频百度| 午夜天堂AV久久久噜噜噜| 撅高 自己扒开 调教| 国产成人免费全部网站| 少妇无码吹潮久久精品AV网站| 综合亚洲桃色第一影院| 久久精品一区| 成人动漫百度影音| 亚洲精品无码AAAAAA片| 秋霞伦理高清视频在线| 精品国产中文字幕在线视频| 超级碰碰青草久热国产| 一二三四韩国免费观看| 三八成人网| 妈妈的职业3完整版在线播放| 国产精品av免费观看| 67194con免费福和视频| 午夜想想爱午夜剧场| 欧美内射深插日本少妇| 久久re这里视频精品8| 国产精品第十页| 扒开她的黑森林让我添动态图 | 美女被C污黄网站免费观看| 国产精品一区二区三区免费| MATURETUBE乱妇| 综合网伊人| 在线成年av动漫电影|