色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營(yíng)的一線實(shí)戰(zhàn)洞察。

STM32模擬I2C從機(jī)實(shí)戰(zhàn):狀態(tài)機(jī)設(shè)計(jì)、中斷處理與踩坑總結(jié)

STM32模擬I2C從機(jī)實(shí)戰(zhàn):狀態(tài)機(jī)設(shè)計(jì)、中斷處理與踩坑總結(jié) 簡(jiǎn)介面向STM32/GD32嵌入式開(kāi)發(fā)者提供一套C語(yǔ)言編寫的模擬I2C從機(jī)demo代碼解決MCU缺少硬件I2C從機(jī)控制器、或應(yīng)用場(chǎng)景不適合占用中斷資源時(shí)的從機(jī)通信問(wèn)題。代碼在GD32F130平臺(tái)驗(yàn)證思路可遷移到其他STM32系列主機(jī)讀取時(shí)序START ADDW REG START ADDR REG1 REG2 CRC與主機(jī)寫時(shí)序START ADDW REG1 REG2 CRC均已覆蓋并通過(guò)自動(dòng)識(shí)別ACK區(qū)分start信號(hào)與直接寫數(shù)據(jù)令總線解析更簡(jiǎn)潔。資源為RAR壓縮包僅2KB包含1個(gè)C源文件與1個(gè)頭文件頭文件承載接口與參數(shù)宏方便按工程調(diào)整引腳和通信參數(shù)。作者在50K速率下測(cè)試不丟包且全程無(wú)需中斷資源對(duì)定時(shí)器和GPIO占用極低適合資源較緊張的嵌入式場(chǎng)景?,F(xiàn)有1144人學(xué)習(xí)可直接參考移植適合正在調(diào)試I2C通信或想擺脫硬件從機(jī)模塊限制的開(kāi)發(fā)者。 做模擬I2C從機(jī)這件事我最初是在一個(gè)用STM32F407做數(shù)據(jù)采集的項(xiàng)目里被逼出來(lái)的——主控板是現(xiàn)成的要對(duì)接一個(gè)只能當(dāng)I2C主機(jī)的傳感器模塊可板上的硬件I2C外設(shè)已經(jīng)被占用了一半。網(wǎng)上搜了一圈模擬主機(jī)的資料確實(shí)多但模擬從機(jī)的demo少得可憐。從機(jī)是被動(dòng)角色主機(jī)什么時(shí)候拉SCL、什么時(shí)候切換SDA從機(jī)完全說(shuō)了不算所有的判斷都得靠中斷里的邊沿檢測(cè)時(shí)機(jī)差一點(diǎn)數(shù)據(jù)就錯(cuò)了。這篇文章把我實(shí)際調(diào)通的STM32模擬I2C從機(jī)demo代碼拆開(kāi)講說(shuō)說(shuō)狀態(tài)機(jī)怎么設(shè)計(jì)、SCL和SDA兩個(gè)外部中斷怎么配合、開(kāi)漏輸出怎么處理以及我在這中間踩過(guò)的幾個(gè)坑。1. 什么情況下必須用模擬I2C從機(jī)1.1 硬件I2C從機(jī)的限制很多人覺(jué)得用MCU內(nèi)置的硬件I2C外設(shè)從機(jī)模式不就行了如果引腳和資源都富余硬件方案確實(shí)是首選省心、時(shí)序準(zhǔn)確、不占CPU。但實(shí)際項(xiàng)目里你總會(huì)碰到幾個(gè)尷尬情況引腳不夠用了只剩兩個(gè)普通GPIO而硬件I2C引腳恰好被別的功能占著我就是這個(gè)情況。硬件I2C從機(jī)在低功耗模式下喚醒不及時(shí)總線上有起始條件來(lái)了從機(jī)還沒(méi)準(zhǔn)備好。項(xiàng)目里已經(jīng)有別的模塊占用了I2C外設(shè)同一個(gè)MCU里掛了兩個(gè)從機(jī)硬件資源不夠分。換芯片換到一半新芯片的硬件I2C與外設(shè)引腳的映射對(duì)不上但又不能改板子。另外還有一個(gè)體驗(yàn)上的問(wèn)題不同廠家芯片的硬件I2C實(shí)現(xiàn)細(xì)節(jié)差異很大尤其從機(jī)模式下的時(shí)序容錯(cuò)處理不太一樣調(diào)試的時(shí)候想用一個(gè)統(tǒng)一方案覆蓋所有芯片模擬反而更可控。1.2 模擬方案適合什么場(chǎng)景模擬I2C從機(jī)說(shuō)白了就是用GPIO外部中斷跟蹤SCL和SDA的每一個(gè)邊沿把I2C協(xié)議翻譯成一串狀態(tài)轉(zhuǎn)移。它適合以下場(chǎng)景對(duì)時(shí)序要求不算極端的總線100kHz標(biāo)準(zhǔn)模式下完全夠用400kHz快速模式經(jīng)過(guò)優(yōu)化也能跑。通信頻率不高的傳感器數(shù)據(jù)交互比如讀取溫濕度、電池電量、配置參數(shù)等。需要快速移植到不同MCU平臺(tái)只要改引腳配置和中斷服務(wù)函數(shù)就行。學(xué)習(xí)I2C協(xié)議的好途徑——把狀態(tài)機(jī)寫一遍比看十遍時(shí)序圖都管用。如果項(xiàng)目里跑的是1MHz以上的高速I2C或者主機(jī)連續(xù)讀寫超大塊數(shù)據(jù)不允許任何時(shí)間偏差那還是老實(shí)選硬件I2C外設(shè)模擬方案在這種場(chǎng)景下性價(jià)比不高。2. 模擬I2C從機(jī)的狀態(tài)機(jī)設(shè)計(jì)思路2.1 從機(jī)視角重新理解I2C時(shí)序?qū)憦臋C(jī)模擬代碼前先把協(xié)議站在從機(jī)角度捋一遍這和寫主機(jī)驅(qū)動(dòng)時(shí)的視角完全不一樣。主機(jī)知道時(shí)鐘什么時(shí)候來(lái)從機(jī)只能在中斷里被動(dòng)地接住每一個(gè)邊沿。I2C通信的關(guān)鍵事件如下起始條件SCL為高時(shí)SDA產(chǎn)生一個(gè)下降沿這是通信開(kāi)始的敲門聲。地址階段隨后8個(gè)SCL脈沖內(nèi)主機(jī)依次發(fā)送7位地址1位讀寫標(biāo)志從機(jī)在每個(gè)SCL上升沿采樣一次SDA。應(yīng)答階段第9個(gè)SCL脈沖地址匹配的從機(jī)要把SDA拉低ACK不匹配就釋放SDANACK。數(shù)據(jù)傳輸方向由地址第0位決定。寫操作時(shí)從機(jī)在每個(gè)字節(jié)后給ACK讀操作時(shí)從機(jī)在SCL低電平期間改變SDA數(shù)據(jù)主機(jī)在SCL高電平期間采樣第9個(gè)脈沖主機(jī)回ACK表示還要繼續(xù)讀回NACK表示停止。停止條件SCL為高時(shí)SDA產(chǎn)生一個(gè)上升沿。特別注意一點(diǎn)模擬從機(jī)里起始條件和停止條件的檢測(cè)非常容易漏因?yàn)檫@時(shí)候SCL沒(méi)有變化只有SDA變了如果只監(jiān)聽(tīng)SCL中斷起始條件根本不會(huì)觸發(fā)。這也是很多新手寫模擬從機(jī)時(shí)數(shù)據(jù)一直對(duì)不上的主要原因。2.2 中斷選型與引腳配置方案我的方案是兩條線都接外部中斷并且都是雙邊沿觸發(fā)SCL接EXTI上升沿采樣數(shù)據(jù)下降沿判定階段切換、準(zhǔn)備ACK/下一bit。SDA也接EXTI用于起始/停止條件檢測(cè)中斷處理里先判斷SCL的電平若SCL為高且SDA有邊沿說(shuō)明是起始或停止事件若SCL為低說(shuō)明只是普通的數(shù)據(jù)變化忽略。引腳配置上有個(gè)關(guān)鍵點(diǎn)SDA既要能讀檢測(cè)邊沿、采樣數(shù)據(jù)又要能寫發(fā)送ACK、發(fā)送數(shù)據(jù)。如果把它配成輸入中斷模式就沒(méi)辦法拉低SDA配成開(kāi)漏輸出模式又擔(dān)心外部中斷不觸發(fā)。其實(shí)在STM32上開(kāi)漏輸出模式下把ODR寫1時(shí)引腳等于高阻釋放IDR仍然可以讀到引腳電平EXTI中斷檢測(cè)的是IDR的電平變化兩者完全不沖突。所以SDA的正確配置是開(kāi)漏輸出模式初始把ODR置1釋放然后手動(dòng)使能EXTI中斷。這樣既能在需要時(shí)拉低SDA又能在總線上出現(xiàn)起始/停止條件時(shí)觸發(fā)中斷。初始化代碼我在第3節(jié)給出。2.3 狀態(tài)機(jī)定義與轉(zhuǎn)移條件我把從機(jī)的整個(gè)工作過(guò)程拆成8個(gè)狀態(tài)typedef enum { I2C_STATE_IDLE 0, /* 空閑等待起始條件 */ I2C_STATE_RX_ADDR, /* 接收地址讀寫位 */ I2C_STATE_ACK_ADDR, /* 地址應(yīng)答等待完成 */ I2C_STATE_RX_DATA, /* 接收數(shù)據(jù)寫操作 */ I2C_STATE_ACK_DATA, /* 數(shù)據(jù)應(yīng)答等待完成 */ I2C_STATE_TX_DATA, /* 發(fā)送數(shù)據(jù)讀操作 */ I2C_STATE_STOP /* 停止條件 */ } I2C_SlaveState;狀態(tài)轉(zhuǎn)移的核心邏輯是SCL上升沿負(fù)責(zé)收數(shù)據(jù)采樣SDASCL下降沿負(fù)責(zé)換階段切換狀態(tài)、準(zhǔn)備ACK或下一位數(shù)據(jù)。地址階段和數(shù)據(jù)接收階段雖然都是8個(gè)bit的采樣過(guò)程但收完后的處理不同——地址收完要判斷是否匹配數(shù)據(jù)收完要存緩沖區(qū)。因此我用一個(gè)bit_count變量區(qū)分當(dāng)前收了多少位在SCL下降沿檢查這個(gè)計(jì)數(shù)。另外要設(shè)計(jì)好超時(shí)保護(hù)。如果主機(jī)在通信中途掉線比如只發(fā)了起始條件就掛死從機(jī)狀態(tài)機(jī)會(huì)一直停在RX_ADDR狀態(tài)這時(shí)后面再來(lái)的數(shù)據(jù)會(huì)被誤當(dāng)?shù)刂诽幚?。可以在主循環(huán)里加一個(gè)超時(shí)檢查超過(guò)比如10ms沒(méi)收到新的SCL邊沿就強(qiáng)制回IDLE。3. 手把手實(shí)現(xiàn)的Demo代碼3.1 引腳初始化SDA開(kāi)漏輸出外部中斷的配置我用的型號(hào)是STM32F103SCL接PA6SDA接PA7從機(jī)地址設(shè)為0x32。工程基于HAL庫(kù)但SDA的外部中斷部分用寄存器手動(dòng)打開(kāi)因?yàn)镠AL庫(kù)沒(méi)有直接提供開(kāi)漏輸出EXTI的組合模式。void I2C_Slave_Init(void) { GPIO_InitTypeDef GPIO_InitStruct {0}; __HAL_RCC_GPIOA_CLK_ENABLE(); /* SCL浮空輸入 雙邊沿外部中斷 */ GPIO_InitStruct.Pin GPIO_PIN_6; GPIO_InitStruct.Mode GPIO_MODE_IT_RISING_FALLING; GPIO_InitStruct.Pull GPIO_PULLUP; HAL_GPIO_Init(GPIOA, GPIO_InitStruct); /* SDA開(kāi)漏輸出初始釋放 */ GPIO_InitStruct.Pin GPIO_PIN_7; GPIO_InitStruct.Mode GPIO_MODE_OUTPUT_OD; GPIO_InitStruct.Pull GPIO_NOPULL; GPIO_InitStruct.Speed GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, GPIO_InitStruct); HAL_GPIO_WritePin(GPIOA, GPIO_PIN_7, GPIO_PIN_SET); /* 手動(dòng)配置SDA的EXTI上升沿下降沿都觸發(fā) */ GPIO_EXTILineConfig(GPIO_PortSourceGPIOA, GPIO_PinSource7); EXTI-IMR | EXTI_IMR_MR7; EXTI-RTSR | EXTI_RTSR_TR7; EXTI-FTSR | EXTI_FTSR_TR7; HAL_NVIC_SetPriority(EXTI9_5_IRQn, 1, 0); HAL_NVIC_EnableIRQ(EXTI9_5_IRQn); }這里有個(gè)細(xì)節(jié)值得說(shuō)明GPIO_PULLUP對(duì)開(kāi)漏輸出模式是不生效的所以SDA的上下拉要由外部上拉電阻決定。PCB上I2C總線必須要有上拉電阻一般4.7k到10k比較常見(jiàn)如果沒(méi)有通信會(huì)隨機(jī)失敗。SCL配成上拉輸入是為了防止總線空閑時(shí)引腳浮空誤觸發(fā)中斷。3.2 起始/停止條件的檢測(cè)SDA的中斷函數(shù)是整套代碼里最需要抓住時(shí)機(jī)的地方。進(jìn)入中斷后第一件事就是讀SCL的電平判斷這次SDA變化是起始/停止還是普通數(shù)據(jù)位變化void EXTI9_5_IRQHandler(void) { /* SCL中斷處理略見(jiàn)3.3節(jié) */ /* SDA中斷檢測(cè)起始/停止條件 */ if (EXTI-PR EXTI_PR_PR7) { EXTI-PR EXTI_PR_PR7; if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_6) GPIO_PIN_SET) { /* SCL為高說(shuō)明SDA變更是起始或停止信號(hào) */ if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_7) GPIO_PIN_RESET) { /* 下降沿起始條件 */ i2c_state I2C_STATE_RX_ADDR; bit_count 0; shift_reg 0; i2c_rx_done 0; } else { /* 上升沿停止條件 */ if (i2c_state I2C_STATE_RX_DATA bit_count 0) { i2c_rx_done 1; /* 標(biāo)記一幀接收完成 */ } i2c_state I2C_STATE_IDLE; } } /* 如果SCL為低這只是數(shù)據(jù)位翻轉(zhuǎn)直接忽略 */ } }實(shí)際調(diào)試時(shí)我遇到過(guò)一種情況上位機(jī)主機(jī)在發(fā)送數(shù)據(jù)過(guò)程中SDA的電平變化點(diǎn)與SCL下降沿幾乎重疊。這時(shí)候SDA中斷里讀到的SCL電平可能已經(jīng)是下降了或者恰好還在高電平導(dǎo)致誤判。我的解決辦法是在初始化時(shí)把SCL的采樣放在中斷入口處并且用一小段延時(shí)或重復(fù)采樣做去抖。更穩(wěn)的辦法是稍微滯后一點(diǎn)再采樣但中斷里不適合做長(zhǎng)時(shí)間延時(shí)所以重復(fù)讀兩次取多數(shù)值是比較實(shí)用的做法。3.3 地址匹配與ACK/NACK處理SCL中斷承擔(dān)了狀態(tài)機(jī)的核心推進(jìn)工作。我把上升沿和下降沿分開(kāi)處理。上升沿采樣SDA數(shù)據(jù)/* SCL上升沿從數(shù)據(jù)線上采樣1個(gè)bit */ if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_6) GPIO_PIN_SET) { if (i2c_state I2C_STATE_RX_ADDR || i2c_state I2C_STATE_RX_DATA) { shift_reg 1; if (HAL_GPIO_ReadPin(GPIOA, GPIO_PIN_7) GPIO_PIN_SET) { shift_reg | 0x01; } bit_count; } }SCL下降沿要處理的事情更多。這里的關(guān)鍵是區(qū)分剛好收滿8位和第9個(gè)時(shí)鐘結(jié)束兩個(gè)時(shí)刻。假設(shè)執(zhí)行到以下SCL下降沿代碼時(shí)如果地址剛好收到8位表示要進(jìn)入ACK階段了如果狀態(tài)是ACK_ADDR表示ACK階段結(jié)束了else { /* SCL下降沿 */ if (i2c_state I2C_STATE_RX_ADDR bit_count 8) { /* 8位地址含讀寫位收滿 */ i2c_addr shift_reg 1; /* 7位從機(jī)地址 */ i2c_is_read shift_reg 0x01; /* 最低位是讀寫標(biāo)志 */ if (i2c_addr I2C_SLAVE_ADDR) { SDA_LOW(); /* 地址匹配拉低SDA應(yīng)答 */ i2c_state I2C_STATE_ACK_ADDR; } else { SDA_RELEASE(); /* 地址不匹配不響應(yīng) */ i2c_state I2C_STATE_IDLE; } bit_count 0; shift_reg 0; } else if (i2c_state I2C_STATE_ACK_ADDR) { /* 第9個(gè)時(shí)鐘結(jié)束ACK階段完成 */ SDA_RELEASE(); if (i2c_is_read) { /* 主機(jī)要讀數(shù)據(jù) */ i2c_state I2C_STATE_TX_DATA; i2c_tx_index 0; bit_count 0; /* 預(yù)置第一個(gè)數(shù)據(jù)位 */ if (i2c_tx_len 0 (i2c_tx_buf[0] 0x80) ! 0) { SDA_RELEASE(); } else { SDA_LOW(); } bit_count 1; } else { /* 主機(jī)要寫數(shù)據(jù) */ i2c_state I2C_STATE_RX_DATA; bit_count 0; shift_reg 0; } } else if (i2c_state I2C_STATE_RX_DATA bit_count 8) { /* 一個(gè)完整數(shù)據(jù)字節(jié)收滿 */ if (i2c_rx_len 15) { i2c_rx_buf[i2c_rx_len] shift_reg; } SDA_LOW(); /* 數(shù)據(jù)應(yīng)答 */ i2c_state I2C_STATE_ACK_DATA; bit_count 0; shift_reg 0; } else if (i2c_state I2C_STATE_ACK_DATA) { /* 數(shù)據(jù)ACK階段結(jié)束 */ SDA_RELEASE(); i2c_state I2C_STATE_RX_DATA; bit_count 0; shift_reg 0; } else if (i2c_state I2C_STATE_TX_DATA) { /* 發(fā)送數(shù)據(jù)的處理見(jiàn)3.4節(jié) */ } }這里需要注意bit_count 8判斷必須在ACK_ADDR和ACK_DATA之前因?yàn)樗鼈兊挠|發(fā)條件不同。如果把狀態(tài)判斷放在前面會(huì)出現(xiàn)bit_count還停在8就又被ACK狀態(tài)的分支消耗掉的情況狀態(tài)會(huì)錯(cuò)亂。調(diào)試時(shí)可以用一個(gè)狀態(tài)打印函數(shù)把每個(gè)中斷里的狀態(tài)和bit_count打出來(lái)。3.4 數(shù)據(jù)收發(fā)狀態(tài)機(jī)的完整實(shí)現(xiàn)讀操作從機(jī)發(fā)送的處理比寫操作繞一些。原因是從機(jī)要主動(dòng)改變SDA電平但又必須在SCL低電平期間改變高電平期間保持穩(wěn)定。我采用的策略是在第9個(gè)ACK時(shí)鐘下降沿后的低電平窗口里預(yù)置第一個(gè)bit然后在后面每個(gè)SCL下降沿準(zhǔn)備下一個(gè)bit。else if (i2c_state I2C_STATE_TX_DATA) { if (bit_count 8) { /* 還沒(méi)發(fā)完8個(gè)bit準(zhǔn)備下一位 */ bit_count; if (bit_count 8) { uint8_t current_byte i2c_tx_buf[i2c_tx_index]; if ((current_byte (0x80 bit_count)) ! 0) { SDA_RELEASE(); } else { SDA_LOW(); } } } else { /* 8個(gè)bit已經(jīng)全部放到總線上第9個(gè)時(shí)鐘讀主機(jī)ACK */ SDA_RELEASE(); if (SDA_READ() GPIO_PIN_RESET) { /* 主機(jī)ACK表示還想要下一個(gè)字節(jié) */ i2c_tx_index; if (i2c_tx_index i2c_tx_len) { bit_count 0; if ((i2c_tx_buf[i2c_tx_index] 0x80) ! 0) { SDA_RELEASE(); } else { SDA_LOW(); } bit_count 1; } else { /* 數(shù)據(jù)已經(jīng)全部發(fā)完 */ i2c_state I2C_STATE_IDLE; } } else { /* 主機(jī)NACK通信結(jié)束 */ i2c_state I2C_STATE_IDLE; } } }寫操作相對(duì)簡(jiǎn)單接收方向的數(shù)據(jù)處理就是不斷采樣、存緩沖區(qū)、給ACK。demo里我維護(hù)了兩個(gè)全局?jǐn)?shù)組volatile uint8_t i2c_rx_buf[16]; /* 寫操作收到的數(shù)據(jù) */ volatile uint8_t i2c_rx_len 0; volatile uint8_t i2c_tx_buf[16] {0x01, 0x02, 0x03, 0x04, 0x05}; volatile uint8_t i2c_tx_len 5; volatile uint8_t i2c_rx_done 0; /* 收到完整一幀后置1主循環(huán)處理 */做讀操作demo時(shí)從機(jī)主動(dòng)發(fā)數(shù)據(jù)這個(gè)動(dòng)作特別容易翻車。我建議先用一個(gè)固定數(shù)組測(cè)試通信確認(rèn)主機(jī)能完整收到數(shù)據(jù)后再改成動(dòng)態(tài)更新。另外發(fā)送數(shù)據(jù)時(shí)如果主機(jī)的ACK信號(hào)從機(jī)沒(méi)讀到比如時(shí)序太緊后續(xù)狀態(tài)就卡死了??梢栽赥X_DATA狀態(tài)加一個(gè)保護(hù)如果bit_count超過(guò)9還沒(méi)等到正常狀態(tài)轉(zhuǎn)移強(qiáng)制回IDLE。4. 調(diào)試經(jīng)驗(yàn)常見(jiàn)坑與排查方法4.1 邏輯分析儀驗(yàn)證時(shí)序的要點(diǎn)模擬I2C從機(jī)寫好后必須用邏輯分析儀看實(shí)際波形不要只在代碼里打日志。我用的8通道邏輯分析儀采樣率調(diào)到24MHz以上抓SDA和SCL兩根線導(dǎo)出后對(duì)照I2C協(xié)議逐bit核對(duì)。重點(diǎn)看三處起始條件是否被正確識(shí)別波形里SDA在SCL高電平期間形成下降沿后面的地址數(shù)據(jù)能正確對(duì)齊。ACK/NACK是否在正確的時(shí)鐘周期出現(xiàn)ACK應(yīng)該在第9個(gè)時(shí)鐘的低電平期間被拉低高電平期間保持。讀操作方向的數(shù)據(jù)位是否建立正確SDA的變化應(yīng)該發(fā)生在SCL低電平期間每個(gè)SCL高電平期間SDA必須穩(wěn)定。邏輯分析儀上如果發(fā)現(xiàn)ACK時(shí)序?qū)α说恢闷艘粋€(gè)相位多半是狀態(tài)機(jī)的下降沿/上升沿判斷反了。我曾犯過(guò)的錯(cuò)誤是把拉低SDA應(yīng)答放在了第8個(gè)時(shí)鐘的上升沿結(jié)果主機(jī)看到的是數(shù)據(jù)位不是ACK。4.2 實(shí)測(cè)中遇到的4個(gè)典型問(wèn)題問(wèn)題現(xiàn)象可能原因解決方案主機(jī)找不到從機(jī)NACKSDA開(kāi)漏模式下ODR沒(méi)初始化成1總線被拉死初始化后寫GPIO_PIN_SET釋放SDA起始條件偶爾丟失主機(jī)的SDA變化時(shí)間與SCL高電平窗口重疊在SDA中斷里去抖重復(fù)讀SCL確認(rèn)降低I2C主機(jī)的傳輸速度讀數(shù)據(jù)時(shí)第一個(gè)字節(jié)是0xFF發(fā)送模式下第一位預(yù)置的時(shí)機(jī)太晚主機(jī)已采樣在ACK_ADDR的下降沿就預(yù)置第一個(gè)bit而不是等TX_DATA的下降沿?cái)?shù)據(jù)塊接收完后缺最后一個(gè)字節(jié)停止條件到來(lái)前從機(jī)沒(méi)有保存最后一字節(jié)在SDA中斷的停止條件分支里判斷bit_count若等于8也要存入緩沖區(qū)并置rx_done第一個(gè)問(wèn)題很隱蔽。SDA配置成開(kāi)漏輸出后如果ODR默認(rèn)是0SDA會(huì)被一直拉低總線忙任何主機(jī)都起不了通信。初始化把ODR置1相當(dāng)于釋放總線這是必須的一步。第二個(gè)問(wèn)題我在調(diào)試時(shí)遇到了好幾次。主機(jī)的起始條件要求SDA下降沿后保持至少0.6us快速模式到4.7us標(biāo)準(zhǔn)模式如果MCU在SDA中斷里處理時(shí)間太長(zhǎng)還沒(méi)退出中斷SCL就開(kāi)始翻轉(zhuǎn)后面的采樣就會(huì)錯(cuò)位。解決辦法一是優(yōu)化中斷函數(shù)把耗時(shí)操作移到主循環(huán);二是把主機(jī)的I2C時(shí)鐘降一檔比如從400kHz降到100kHz。第四個(gè)問(wèn)題也值得展開(kāi)。寫操作最后主機(jī)發(fā)完最后一字節(jié)數(shù)據(jù)后會(huì)發(fā)出停止條件SCL高電平時(shí)SDA上升沿。這時(shí)從機(jī)的狀態(tài)可能還停在RX_DATAbit_count等于8但還沒(méi)進(jìn)入ACK_DATA分支。所以我特意在SDA中斷的停止條件判斷里加了bit_count 8的判斷把最后一字節(jié)保存。這個(gè)坑如果不處理主機(jī)會(huì)發(fā)現(xiàn)總是少收到最后一字節(jié)數(shù)據(jù)。我在實(shí)際調(diào)試中還有一個(gè)體會(huì)如果項(xiàng)目里主機(jī)和從機(jī)都是自己寫的建議先跑通主機(jī)寫、從機(jī)收這一方向再跑反方向。兩個(gè)方向都能穩(wěn)定跑過(guò)1000次后再上業(yè)務(wù)邏輯。模擬從機(jī)的核心問(wèn)題不是代碼復(fù)雜度而是對(duì)時(shí)序細(xì)節(jié)的把握把中斷優(yōu)先級(jí)處理好、狀態(tài)機(jī)梳理清楚后面移植到別的MCU也就是改改引腳的事情。這個(gè)demo后續(xù)還可以擴(kuò)展時(shí)鐘拉伸、多字節(jié)寄存器讀寫、錯(cuò)誤重試等功能底子打好了加功能就是水到渠成的事。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
婷婷伊人一区| 色屁屁影院www国产| 在线播放一级无码视频| 老司机福利社视频在线观看| ss久久| 激情熟女12P| 久久精品99| 男人的天堂亚洲| 国产精品原创巨作?v网站| 久久精品99| 青娱乐 成人娱乐在线| 高清无码在线播放网站| 人妻精品视频一区二区三区| 97精品全部| 五十路熟女在线不卡观看一区二区| 99久久久99久久91熟女| 操逼1区| 亚州欧美色图| 9久久精品| 中文字幕第23区| 99re9在线| 艹精品| 东京热,男人的天堂| 国产精品一区二区后入| av操操不卡| 亚洲欧美成人在线| 免费看欧美美女黄色大片| 午夜男女爽爽爽影院视频| 九九av| 曰本精品久久久| 91黑丝露脚| 午夜久久无码1000合集| 亚洲激情在线观看一区| 热热色中文无码| 亚洲美女 晚间男人天堂 | 久久久久久97| 欧美日韩传媒| 91性网| 偷窥自拍亚洲| 精品国产乱码久久久| 91欧美长吊| 密桃99999| 曰韩精品九九无码| 欧洲色色| 99视频只有精品| 五月丁香影院| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 91天天看| 欧美黄色手机在线观看| 亚洲AV不卡在线观看| 香蕉av一区二区三区| 久久人人爽爽爽人久久久| 狠狠色综合网| 日韩一999精品| 欧洲乱码一区二区| 在线 制服丝袜中出 人妻| 波多野42部激情无码喷潮| 亚洲色9| 国产黄色 A 片免费看| 一个色导综合| 欧美专区日本专区| 激情综合亚洲| 操我啊啊啊啊啊| 精品女人999| 99青草| 91啪9色| 亚洲美女30b| 日韩激情视频| 啊啊啊水好多| 激情小说亚洲| 人人摸.人人色| 在线视频免费播放一区| 国产原创剧情在线丝袜 | 日本一区二区三区午夜观看| 乱伦一二三区| 96久久精品一二三区色欲| 小视频国产| 在线欧美69V免费观看视频| 边做饭边操逼逼| 亚洲精品国产熟女久久久久久| 9国产超碰| 国产日逼视频| 大香蕉久| 午夜福利久久久噜久噜久久综合| 青草伊人网| 欧美色图亚洲激情| 人人操人人插人人摸人人干| 九九综合久久| 撸撸成人在线视频| 久久这里只| 精品国产三级av韩国在线| 草草影院最新网址| 日韩美一区| 亚洲精品国产av天美传媒| 香蕉国产97| 亚洲天天操| 亚洲有薄码区久久在线一区| 久久大黄片| av天堂手机版追回 | 99re6国产精品99re在线| 欧美91在线+|+欧美| 国产精品3| 日本1区2区不卡视频| 国产精品久久久久综合| 日日骚 av| 国产精彩女在线观看视频| 国产精品久久久久婷婷二区次| 永久免费av无码网站国产app| 女同性恋久久| 俞拍自拍| 午夜一区二区三区国产| 今日头条成人一区二区三区四虎精品| 亚洲成成熟女人综合一区二区| 超碰国产精品久| 少妇超碰在线| 9九九国产| 强奸乱伦大香蕉| 草b在线| 久草看看看| 欧亚性爱啪啪| 青草园大香蕉| 国产人妖视频一区在线观看| 97久久免费| 91搡老女人老妇女老熟女歌词翻译| 国产一级做a爰大片免费久久| 久久国产精品,久久国产| 中日韓欧美高清| 欧美一级A片在线看视频性色| 口爆综合网| 久久久久斤小| 欧美性爱视频免费一区一A| 91是天天| 国产中文大片资源中文字幕| nuu12国产麻豆精品| 家庭乱伦国产精品| 综合网亚| 国产福利在线视频网站| 91挑色欧美| 欧美不卡在线一区二区| 97亚洲一区| 无码动漫av中文字幕| 欧美第一页性| 丝袜人妻av一区二区| 六六久久日韩不卡| 成·人免费午夜在线观看| 97精品国产97久久久久久免费| 99国内熟女露脸视频| 插穴性爱视频在线观看| 中文无线日韩一区| 欧美三级中文字幕hd| 欧美熟女逼久久久久久| 日韩成人电影AV| www.男人的天堂| 屌逼麻豆| 亚川综合视频| 超碰超碰超碰超碰的大鸡吧操黑丝袜| 中文字幕一区 二 区 三 四 五 区日 日 骚| 综合色一区三区二区| 五月婷在线| 久久久久久中文| 大奶啊啊好爽| 明星性猛交ⅹxxx乱大交| 乱久久久| 色五月婷婷网| 亚洲av综合伊人久久| 嗯嗯啊在线视频| 国产传媒一区二区三区| 伊人久久大香线综合无码| 中文字幕高清精品一区| 久久久久久裸体| 99精品视频在线观看免费| 91国产伊人大香蕉| 91 刺激在线| 欧美精品23| 蜜臀久久久国产| 岛国大片在线观看网站入口| 啊啊啊想要| 国产中文字幕在线点播| 我想要 啊 啊 啊| 成人在线永久| 懂色综合久久久| 一本大道不卡一二三区| 国产亚洲精品一区二区三区| 久久久久久久久久久久九| 夜夜天天噜狠狠爱2021| 国产欧美在线观看免费观看| 九九九不卡| 色99视频| 色婷婷成人| 久操网址| 国产兽交视频在线播放| 青青草成人视频在线观看二区| 国产伦精品一区二区三区在线观| 国产高清精品一区二区三区毛片| 97综合国产| 亚洲aw毛茸茸在线| 欧美体内射精| 91美女看B| 国产一级内射无挡观看| 欧美一级黄色18片免费看| 岛国视频免费在线观看| 青青草国产一区二区三区| 日韩成人精品中文字幕| 97婷婷色| 中文字幕乱妇免费视频| 四虎影视永久在线观看精品免费网站| 唯美清纯 妖精视频| 国产亚州高清国产拍精| 69精品少妇一区二区三区蜜桃| 亚欧洲一区二区视频| 嗯,啊。舔我逼| www.AV有限公司一区| 97超碰精品图片| 熟女激情综合网| 国产丸一视频| 婷婷九月色| 国产精品区在线12p| 久久久久久久亚洲Av无码| 欧美综合制服在线| 日日干日日| 伊人五月天| 一区二区三区激情在线观看| 色小视频蜜乳| 色婷久久| 久久久久密| 一本久道在线综合视频| 亚洲色图一区二区三区| 东京热双插| 亚洲交性| 天天综合91| 亚洲男人的天堂va亚洲男人社| 久久偷偷色综合蜜桃| 韩国轻伦国内自拍一区| 亚洲精品国产AV天美传媒| 黄页18禁| 日韩欧美偷拍美女视频| 亚州男人的天堂| 中文字幕第23区| 色偷偷男人的天堂麻豆| 日本韩国五十路六十路七十路老熟女作爱视频网站| 亚洲久草AV色图| 欧洲亚洲人妻无码高清久久三区四区| 亚洲欧美碰碰| 98一区二区精品| 国产精品色色| 97人人爱人人做人人乐| 日韩操呦呦影院在线观看| 亚洲综合射| 欧美色老汉| 99精品无码| 老司机香蕉| 老鸭窝在线视频播放| 老鸭窝在线视频播放| 欧洲综合色| 日韩成人高清一区二区| 亚洲AV无码黄色强奸| 睡产熟女乱伦| 裸体女人草逼视频播放一区,二区,三区,四区,五区 | 欧美一区二区一级岛国大片| 东京热男人的天堂精品| 日韩黄色电影网站| 狠狠干狠狠干| 99999精品视频| 精品9999| 午夜国产成人精品视频| 婷婷丁香熟妇综合网| 97久精品| 好爽要喷了| 国产一级内射高清视频| 久精品无码av一区二免费国产在线观看 | 91人人操| 久久精品国产96精品亚洲拳交| 日韩免费人妻色情网站| 亚洲涩图欧美| 91在线秘 男同| 久久ww| 玖玖爱伊人玖玖爱| 色综合久久88色综合久久天天| 911粉嫩人妻| 老女人爆菊| 日韩精品三级片长长久久| 欧色网址| 欧美黄片欧美黄片xxx| 97资源超碰| 精品白丝一区| 秋霞影音一区二区三区| 日本99一区二区| 校园春色 欧美| 日韩性爱视频免费在线| 免费AV中文网在线观看| 日本午夜久久电影| 四虎精品一区| 国产av波波国产精品| 亚洲情色五月天| 欧美日韩制服| 色一色综合网| 操曰本熟女| 欧美资源| 极品色社| 亚洲91色| 天天做天天爱天天爽AV| 成人蜜乳小视频网站| 色综合久| 92久久| 丁香六月婷婷| 天天欲望网| 婷婷色中文字幕| 久久噜| 中文字幕美女91| 一区二区首页| 伊人操你| 欧美日韩天堂| 激情久久久| 亚洲天天精品| 婷婷五月天久久久| 九九九九AV| 五月婷婷无码| 久久精品国产97欧美精品亚洲| 四虎国产精品永久地址入口| 天海翼久久| 脫衣舞一区二区三区| aaa淫乱视频| www.久久制服糖| 亚洲AV乱码专区国产噜噜亚洲| 尤物网站91| 亚洲中文人妻色| 东京热视频网| 国产强奸乱伦xd| 超碰午夜在线| 欧美老妇曰批的视频| 夜精品久无码| 午夜无遮挡男女啪啪视频| 歐美性天天| 人人妻人射| 精品人妻一区二区三区四区| 丁香五月av| 97天堂| 亚洲av总站| 奇米四色影视777久久久| 台湾大香蕉99热| 色噜噜精品一区二区三| 日韩人妻丝袜美腿中文| 六月婷婷五月丁香| 肏逼视频日本| 神马九九九| 久久久久免费少妇| 老司机午夜精品视频| 日本一天色道久久久精品视频| 国产精品久久久久久久黄无码| 热的中文 热的有码 热的国产| 樱花蜜乳av| 亚洲天堂电影网99999| 中文字幕 码 自拍 视频 区| 麻豆国产97在线| 人妻人妻天天碰| 丁香五月天激情综合| 97操b| 久久精品72| 久久丁香五月婷婷| 日韩黄片视频试看| 欧美第五页| 天天综合网91入口| 激情五月天色播| 午夜乱轮操逼视频免费看| 久久久九九| 亚洲情色第一页| 久久久久久国产无码精品| 亚洲中文字幕熟女少妇一区二区| 91国产美女丝袜足交精品视频 | 青青草一本道福利视频| 欧美天天综合站| 夜夜狼人妻| 另类图片五月天| 在线精品福利免费播放| 高清无码在线播放网站| 精品国产乱码久久久| 99精品热| 日韩精品人妻中文字幕久久久| 欧美日韩91| 免费A V在线播放| 性色AV蜜色av色欲av| 在线电影亚洲色图| 97在线无精品| 夜精品久无码| 人妻社区男人天堂| 九九热免费在线国产视频伊人五月| 欧美一级黄片免费播放| 国产精品视频一区二区三区八戒| 草莓精品视频在线免费观看| 日韩性爱长视频免费| 亚洲人天堂| 久久午夜色播影院免费高清| 日韩无码极品| 成人无码在线视频网站| A级毛片在线看免费| 日韩强奸av| 日产欧美电影一区二区三区| 免费一级性爱久久| 男人高清无码一区二区| 久久久久9999| 久久久久久久少妇| 欧美日韩亚洲高清不卡一区二区三区| 男人天堂久久日韩| 操逼999| 4虎在线视频| 不卡六六在线91| 婷婷五月天色网| 欧色网址| a片久久久久久久久久久久 | 偷拍超碰| 丝袜美腿91| 9久久久久| 国产91影院| av在线观看不卡网站| 美国人人操人人操| 五月激情综合网| 草b在线| 精品人妻一区二区三区-国产精品| 国产自啪精品视频网站黑丝| 日本免费人成视频播放120秒| 国产精品视频自拍在线| 一区二区三区国产在线播放 | 久久中文字幕不卡人妻| 51国产午夜精品视频| 国产成人无码啪| 蜜乳AV网址| 欧美亚洲综合色| 中国黑人三级片网站上区| 久久久男人的天堂| 狼人狠干| 日韩一区二区高清在线观看的| 色婷视频| 欧美变态激情网| 欧美狠狠狠| 国产精品毛片?v一区二区三区| 久久久夜夜嗨免费视频| 开心六月色| 毛片99-全集电影手机免费观看完整-B029AV | 一本色道久久综合亚洲二区三区| 亚洲在线| 中文字幕在线日亚州9| 第二页中文字幕| 国产综合久| 久久精品福利影院| 嗯啊不要在线| 欧美伦乱| 九月丁香婷婷色| 热久久精品| 国产深喉| 欧美日韩国产色图在线| 欧美熟妇亚洲版| 蜜臀久久99精品久久久久久-DVD原版全| 久草网站免费在线观看| 中文在线久久字幕| 九九九久久久| 夂久色| 人妻色情天天操| 亚洲第一精品在线视频| 91丝袜激情在线| 久久夜夜| 97蜜桃综合| 国产免费内射视频| 婷婷五月成人| 91精品国产91熟女| 五月婷在线| 亚洲自拍小说| 爱我干综合| 国产AV天美传媒一区二区三区| 俄罗斯一区二区视频在线观看| 殴美,日韩国产伦精品| 91热| 男人的天堂在线有码| 久艹免费| 色性欧美| 丁香五六月啪啪| 色女综合| 欧美极品性爱天天射| 精品九九九九九九九九九| 乱伦一二三区| 欧美亚州色的图| av日韩国产一区二区| 西西美女视频网| 亚洲精品人妻在线| 天天操天天7| 亚欧韩av| 亚洲色综合| 高树玛利亚无码流出| 亚洲日韩视频二区| 91黑丝操| www久久99| 夜夜爽夜夜高潮夜夜爽| 日韩伦理久 久久 清纯| 国内毛片国产欧美拍| 久久久久久久久久久久黄色 | 日日骚 av| 强奸乱伦大香蕉网| 国语精品对白| 天天综合网91入口| 日韩精品免费高清视频在线| 久久中文字幕人妻熟av女蜜柚| 激情综合网五月婷婷| 色图四区| 欧美熟女妇同| 你懂得91| 天天干天天舔| 婷婷九月丁香| 欧美另类自拍 | 九九九国产| 毛片视频白嫩| 欧美熟女操屄| 十八禁啪啪视频| jiujiujiujingpin| 中文字幕日韩综合| 高清成年美女黄网站免费大全| 亚洲小电影免费涩涩成人在线高清| 久久精品91| 台湾佬激情综合| 95自拍视频在线观看| 亚洲欧美骚| 热久日综合| 久久露脸国产老熟女| 久草尤物| 97超碰美女| 欧美91在线+|+欧美| 婷婷伊人綜合中文字幕| 天天懆天天日| 香蕉视频精品亚洲一区二区三区在线播| 青青草大香蕉在线视频| 日韩精品 资源| 韩国午夜理伦三级好看| 搡老女人911熟妇老熟女| 少妇精品久久久八区九区| 精品国产乱码久久久久久久久1| 一区操逼日比视频| 国产精品成人AV片免费看网站| 91亚洲黄色网| 黄日韩| 日本不卡高清免v欧美日韩在线观看| 亚洲中文国际强奸字幕| a片久久久久久久久久久久| 久久精品操| 2019午夜福利视频| 国产女同性恋视频| 射欧美综合| 日本久久久久久久久| 视频分类 国内精品| 八戒午夜福利理论片| 国产激情视频一区区三区| 91丝袜人妻| 物业黑人 AV一区| 啊啊啊不要啊啊受不了了视频在线 | 欧美亚洲日本视频久久久| 影音先锋日本乱伦| 尤物网站91| 国产一级内射高清视频| 综合97| 亚洲熟女综合一区二区| 清纯唯美综合| 麻豆尤物视频网| 大香蕉2017| 99视频自拍区| 婷婷人妻激情| 亚洲高清色综合| 男人的天堂一区| 青青在线视频免费| 密臀视频三区免费网站| 久久99国产精品| 婷婷色香伊人| 一级做受视频免费是看美女| www.色吧5.com| 日韩激情无码影院| 久久精品午夜国产亚洲AV无码| 国产午夜精品理论片一二三区区| 精品丝袜无码一区二区三APP| a片久久久久久久久久久久 | 欧美制服另类丝袜| 欧美亚洲丝袜美女电影| 2017大香蕉国产精品久久| 一区二区视频你懂的| 精品9区| 九九九偷拍| 亚洲情色 欧美| 欧美综合自拍| 日本色色视频网站| 天堂8在线新版官网| 五月丁香六月激情| 婷婷综合在线观看| 亚洲人久久久网| 中文字幕熟女人妻丝袜丝| 九久久精| 强奸乱伦AV一天堂网| 国产极品精品美女视频| 7777欧美成是人在线观看| 99这里有精品视频| 天天干天天日天天射黄色片| 91精品操美女| 欧美色女人| 色老牛| 亚洲丝袜在线观看| 三级日韩一区二区三区| 女人双腿搬开让男人桶| 日本三级韩三级99久久| 伊人玖玖网| 快播电影网日韩新片| 久久精品国产精品一区| 偷看洗澡一二三区美女| 中文字幕视频一区视频二区| Julia Annxxxxx| 97色网| 黑人黄片在线免费观看| 亚洲城人男人的天堂| 激情久久日韩精品中文字幕麻豆| 东北毛片| 柠檬AV导航| 天天享受天天看| 啊啊啊爽爽| 亚洲色 国产 欧美 日韩| 97AV爱| aV中文麻| 国产亚洲精品av一区| 欧美色三级片91| 97中文字幕一区| 人人做天天爱| 91人人看| 亚洲黄色| 97久久久| 美国三级日本三级久久99| 精品欧美不卡在线播放| 日本免费中文一区二区三区四区| 大屁股熟女一区二区三区| 成人av性爱电影在线观看| 婷婷六月色| 日韩欧美~中文字| 欧美日韩国产三级黄色| 肉丝网站91| 麻豆天美91| 激情深爱五月天| 疯操AV| 久久精品国产亚洲AV片多多| 男人久久精品| 在线观看免费视频国产| 97干色天堂| 人妻一区二区三区四区视频| 懂色AV一区二区三区| 伊人欧美大香蕉视频| 艹比视频国产精品| 97视频在线视频| 国产一区在线观看无码AV | 99.色网| 久久久新亚洲AV| 九九无码久久精品视频| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产视频一区二区在线| 精品人妻一区二区三区四区不卡在| 亚洲乱熟女一区二区三区大香蕉| 天天操天天7| 国产成人无码高清| 综合少妇网| 伊人久久艹| 91丝袜| 欧美人妻精品| 亚洲日韩精品久久久久一区壹牛| 人妻天天爽夜夜爽精品2| 欧美亚洲自拍另类人妻| 日本啊啊啊啊啊视频| 天天操人人操狠狠插| 亚洲和欧美裸体美女双飞视频| 在线看的av| AV色五月天| 国产伦精品一区二区三区在线观| 校园激情狠狠四射| 毛片视频白嫩| 国产精品女生av| 蜜臀va69| 中日无幕一二三四区| 日韩欧洲操屄视频| 色网综合网| 欧美性爱在线无码| 97精品视频| 蜜臀久久久国产| 中文字幕在线观看二区三区| 99久在线精品99re8蜜桃| 97AV爱| 亚洲一区二区久久久久| 亚洲狠狠入| 偷拍 精品 另类 四区| 国产一级137片内射麻豆| 久久人人爽av亚洲精品天堂桃色| 国产成人综合网| 2021国产成人精品久久| 欧美日韩天堂| 男人夜色天堂ss| 久久久久免费看少妇A片特黄| 亚洲AV不卡在线观看| 日本有码影片下载| 亚洲 一区二区 自拍| 9久久久久| 激情文学 亚洲图片| 狠狠综合网| 干干干天天| 人妻夜夜爽天天爽三区麻豆AV网站| 国产白丝在线| 99热97| 一级免费啪啪片| 天天懆天天日| 清纯唯美亚洲| 青青操在线视频| 九九九九免费高| 探花视频免费观看国产专区| 亚洲欧美内射| 最新av在线| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产不良强奸视频免费看| 亚洲情色 自拍| 一区二区三区成人| 2025亚洲男人天堂| 天天影视色香色欲| 91狠狠综合久久| 日韩欧美中文| 色欲无码人妻日韩欧美精品| 色综合av综合久久| 欧美激情高清性猛交| 97精品97久久| juliaann丝袜大战黑鬼| 麻豆国产av网| 97精彩视频网站| 97资源制服丝袜| 激情五月天色播| 激情av| 欧美黄色片AAAAA| 久久精品国产亚洲AV高级北京| 26uuu国产亚洲综合| 久久久97| 热99这里有精品综合久久| 欧美日韩小说| 久久久久久人体| 一本色道久久综合狠狠操| 风月影院男女十八禁| 久色99999| 青女在线| 97一区二区三区视频| 男人干美女| 97 超碰 人人做 人人爱| 久久精品亚洲东京热色播| 天天淫人人妻日日色| 五月天婷婷欧美三区| 99热这里只有精品9| 91精品大奶人妻| www.激情| 粉嫩国产精品久久粉嫩| 亚洲色堂免费视频| 青青草黑寡妇男人天堂| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | www.yeyecao| 99老司机精品视频在线观看| 免费一级a毛片久久久久久鸭绿欲| 久久性生大片免费观看性| 亚洲国产综合视频| 香蕉国产精品麻豆亚洲欧美日韩| 91露脸熟女专区| 国产精品制服丝袜清纯唯美| 一级久久性爱视频| 日韩本不卡视频在线观看| 亚洲猛交| 黄色无码高清黄色无码网站| 亚洲av国产av综合av卡| 日韩精品中文字幕一| 欧美中出1| 蜜臀久久一区二区| 精品国产99| 十八禁电影伊人网| 欧美日韩在线小说| 韩国手机不卡无码三级视频| 日本操逼视频导航| www.久久久久| 国产欧美精选自拍一区| 无码少妇精品一区二区60岁老人| 丁香六月综合激情| www.91色综合| 欧美性爱网97| 天天热精品| 亚洲无 码A片在线观看麻豆| av毛片aaaaa免费看| 人人妻人射| 岛国片国产成人亚洲播放| 97操操| 91精品成人| 午夜精品人妻二区三区| 欧美色院| 国产一进一出视频网站| 深爱五月天| 欧美日韩人人精品| 99视频自拍区| 亚洲情色综合| 九九黄色视频在线观看| 日日狠狠久久偷偷色综合免费| 婷婷美人网| 欧美性,亚州色| 欧美天天影院| 日韩乱伦AⅤ| 五月婷在线| 欧美高潮| 欧美不卡五十路| aaa一级黄片| 亚洲第一页欧美| 97亚洲中文| 中文字幕精品日韩中文字幕| 久久大香蕉手机高清视频| 四虎免费视频| 无码137片内射在线影院| 啊视频在线| 欧美在线伊人色| 综合亚洲欧美| 亚洲精品xxx| 五月婷婷hd| 91 综合网| 亚洲一区二区性爱电影| 三级片大波波| 熟女人妻一区二区三区免费看 | 亚洲精品丝袜| 人妻加勒比东京热| 97色欧洲| 激情看片网站| 国产精品一二三| 国产精品久久久久久 百度| 后入美女国产| 欧美一二三| 一区二区激情国产熟女| 亚洲情色无码一区二区三区| 盗摄女人妻在线| 91麻豆天美国产| 国产乱伦搜索结果91P| 丁香啪啪| AV女优男人的天堂| 综合在线导航一区| 中文字幕AV片| 国产日产精品久久快鸭的功能介绍| 色婷婷丁香五月天| 日本久久久久久久久久| 国产三级日产三级韩国三级| 精品人妻伦一区二区三区久久| 欧美18 在线观看| 台湾肥佬网一区二区三区| 国产一区二区在线看| 人人操,操人人| 91综合天天看| 日本在线激情一区二区三区 | 国产精品久久久久无码Av网曝门 | 大香蕉视频一二三区| 天天干2019| 成人五月天丁香激情综合| 草草影院在线视频| 亚洲av噜噜噜噜噜噜| 爱爱60秒免费视频| 操国产高清| 亚洲欧洲偷拍一区| 久久亚洲中文字幕视频| 97干天天| 精品国产丝袜一区二区三区乱码| 久久超碰av在线| 日韩A优精品在线观看| 久久精品一区一起草| 熟女精品va中文字幕| 人妻熟女一区二区| 操操啪| 欧美性性性| 日韩AV中文字幕电影| 久久草草亚洲蜜桃臀| 天美传媒AV国产在线| 热99这里只有精品| 97 国产精品| 亚洲国产精品久久久久婷婷青年| 成人羞羞视频国产| 曰韩香蕉97| 一区三区啪啪| 免费试看60秒| 98福利在线视频| 国产成人精品日本亚洲语言 | 91N欧美| 国产精品嫩草久久久久| 国产suv精品一区| 亚州国产精品乱| 国产精品亚洲无码| AV色五月天| 亚洲熟女av中文字幕| 狠狠爱综合| 亚洲国产精品V?在线播放| 无码九九九九| 久久久久久久极品香蕉视频| 国产熟女完整版中字| 黑人精品欧美一区二区蜜桃| 爱干爱射网啊啊啊| AV电影在线播放| 婷婷婷婷婷婷久久久久| 91熟女.com| 日本在线一二| 嫩草影院性色| av2014 日韩在线中文字幕| 啊啊啊好湿久久| 欧美操人| 超碰无码加勒比| 97超碰中文在线| 热热热热日日漂亮永久永久国产日| 婷婷亚洲天堂| 国产精品色片一区二区| 熟女少妇视频| 91亚.色| 欧美午夜色妇色鬼| 性吧在线视频| 欧美在线观看综合国产| 大JI巴好深好爽又大又粗视频| 97超碰国产亚洲精品| 嗯嗯啊啊操死我| 好吊妞转入那个网| 欧美黄色大香蕉一区二区| 日本乱人伦片中文三区| 人妻少妇精品视频一区二区三区| 又摸又舔在线观看网站| 91女在线观看| 伊人亚洲国产一成人久久精品,久久| 激情 欧美 亚洲 小说| 日本一道在线播放高清| 人人操超碰在线| 中文字幕免费看| 小骚逼被操的爽不爽| 中文一区二区婷婷视频| 99免费视频| 国产亚洲精品农村妇女 | 巨爆乳肉感一区二区三区竹菊影视| 神马久久久久久伦理片| 操婢日韩| 91肉片| 国产高清自拍视频| 九九九久| 另类老少妇| 精品少妇一区二区三区| 国产精品视频在线播放| 亚洲成人色情五月天丁香花| 一牛一区二区三区久久| 东京太热久久久| 欧美亚男人的天堂| 理论久久婷婷网 8| 亚洲欧洲美腿丝袜| 不卡人妻少妇精品毛片一区23区视频 | 精品一久久久| 最新一二三区视频| 久久蜜桃综合网| 人妻 制服 日韩 中文 在线| 夜夜操夜夜爽夜夜高潮| 国产精品欧美激在线| 婷婷成人五月天| 精品少妇一区二区三区免费观看| 蜜桃久久综合视频| 五月天精品| 欧美 亚洲精品首页| 久操97| 91N综合网| 欧美—性—交—色| 91人妻人人澡人人爽人人精品| 亚洲另类色综合网站| 老鸭窝在线视频播放| 少妇特黄一区二区三区| 大干人妻| 女生看匆91网站| 久久九色| 天天综合官网| 日韩三级伊人| AV一起草在线| 欧美激情另类一区二区| 无遮挡又黄又刺激的视频| 94色色电影网| 蜜桃av色偷偷av老熟女| 伊人热综合| 黑人嘿嘿嘿超爽免费视频| 日韩高清黄片| 女人被添高潮免费视频| 麻豆亚洲Av成人无码一区精品| 九色 人妻 大香蕉| 黄色不卡视频| 清纯唯美综合亚洲| 91综合熟女| 亚洲一区二区三区中文字幕| 97在线精品| 国产suv精品一区二区四区999 | 丰满少妇一区二区三区免费看| 亚洲欧美日韩制服另类| 人妻少妇被猛烈进入中| 亚洲操操操| 亚洲黄a三级三级三级看三级| 一级免费精品| 色欲三区| 欧美日韩不卡a片| 人妻熟女一区在| 国产精品久久久999| 欧美操逼录像国产黄色国产| 欧美激情性久久久久久| 日本一级一级一级一级| 蜜臀在线免费观看在线免费观看| 天天综合站| 日韩操逼性鲍| 丁香五月影院| 天天操天天看| 国产黄色小视频网站| 丰满人妻av一区二区三区| 亚洲欧美另类少妇精品| 夜夜操中文字幕| 久热最新在线杭州| 亚洲精品一区二区三区在线播放| wwwss在线观看| 欧美超碰人妻97| 日韩福利综合一区| 日本在线激情一区二区三区| 人妻少妇三级| 欧美亚洲国产91在线| A片三级无码| 超碰人人超在线观看| 欧美一区二区三区互相| 性爱AV天堂| 五月天婷婷社区| 久久久精品无码亚免费| www.高清无码诱惑一区.com | 97爱综合| 啊视频在线| 肉丝中文无码高清| 亚洲欧洲精品视频发布| 超碰亚洲97| 欧美东京热青青草| 五月丁香六月婷| 亚洲无码超碰免费| 插入综合网| 国产白丝AV| A片三级无码| 国产又长又大又粗的视频| 人人操人人操人人操人人操人人操人人人11.CM | 97爱亚洲综合色| 欧美激情区| www.婷婷| 国产传媒日韩| 婷婷五月天激情网| 五月天婷婷社区| 久久伊人大香蕉| 加勒比av网| 欧美十八禁在线看| 国产一区二区精品久久久不卡蜜臀 | 97色婷| 97干在线视频| 国产成人网站在线观看| 亚洲精品蜜桃久久久| 91干熟女| 亚洲天天精品| 狠狠五月天| 九九九九精品九九九九| 色欲天天综合网| 九九九九国产| 六月丁操逼| 国产亚洲深夜激情| 亚洲日产专区婷婷| 无码视频黄色网战| 99re这里只有精品中心播放 | 99无码| 日本孕妇一区二区视频操逼免费看| 国产av青草| 欧美欧美啪啪视频| 超碰这里只有精品| 丰满人妻大屁一区二区| 97亚洲色图| 午夜精品一区二区三区三上悠亚| 91操操操操| 欧美少妇色综合| 国产精品久久久久中文字幕| 欧美97av| 超碰午夜在线| 久久五月天婷婷丁香中文字幕| 亚洲一二三四区在线免费看视频| 99热这里是精品| 色欧洲| 亚洲污污网站| 久久99操天天日| 蜜桃天美传媒AV一区二区三区| 国产女上位好爽在线| 国产精品国产自产高清AV| 97在线播放| 国内精品999| 乱伦Av网| 欧美一级A一级a爱片久久| 刺激性视频黄页| ?亚洲伊人伊成久久人综合网| 国产精品熟女一区二区三区| 九九英色视频| 久久久18| 亚洲欧美综合区自拍另类| 九九综合网| 欧美综合自拍成人自拍第二十页| 亚洲第一免费视频| 欧美精品庄| 亚洲天堂自拍| 丁香五月av| 美女操逼福利视频| 91亚洲影视| 狠狠躁天天躁日日躁97| 天天看综合网| 黄片www.| 日韩免费在线观看不卡| 2017,超碰| 啊啊啊啊啊啊啊在线| 99成人| 国产1769在线| 97在线视频观看网站| 97精品网| 97视频新免费| 国产天天看| 久久最新免费视频23| 99久久久er直播网址| 久热在线精品免费观看| 久久春色| 亚洲青青草| 97综合在线观看| 亚洲色色色| 国产亚洲综合欧美一区| 黑人美精品 A片| 极品销魂美女一区二区| 欧美激情精品久久久久久| 在线强奷到舒服的无码视频| 91操熟女| 欧洲精品一级二级精品综合视频综合| 啊啊啊啊,啊啊好多水| 亚洲欧美性生活| 啊啊啊啊啊啊啊国| 人妻少妇一区二区| 天天看天天综合成人网| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 高树玛利亚无码流出| 天天摸,夜夜摸| 婷婷啪啪| 在线精品福利免费播放| 国产人妖视频一区在线观看| 69少妇一区二区| 国产a片操逼| 麻豆三极片| 天天干天天操天天操夜夜操天天操 | 性老妇一区二区三区| 俺去久久| 亚洲伊人久久精品狠狠在线| 97视频观看| 青青草中文-久久青草精品一区二区三| 立川理惠无码一区二区| 亚洲激情在线一区二区| 韩国一级AAA| 久久久久久久国产a∨| 亚洲成人美女无吗| 深夜激情无码| 婷婷午夜成人色中色| 女同性恋久久| 91狠狠综合久久| 亚洲 综合 欧美| 激情丁香五月| 国内精品不卡无毒99999| 第45页一区二区| 男人的天堂2000| 久久久久久久久久精|