免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

nRF54L15 I2C初始化實(shí)戰(zhàn):從Zephyr配置到波形調(diào)試全解析

nRF54L15 I2C初始化實(shí)戰(zhàn):從Zephyr配置到波形調(diào)試全解析 1. 項(xiàng)目緣起為什么nRF54L15的I2C初始化值得單獨(dú)聊聊最近在折騰一塊基于nRF54L15的傳感器板子核心任務(wù)就是通過(guò)I2C總線讀取幾個(gè)外圍器件的狀態(tài)。按理說(shuō)在Nordic的NCSnRF Connect SDK框架下用Zephyr RTOS的驅(qū)動(dòng)模型初始化一個(gè)I2C外設(shè)應(yīng)該是件相當(dāng)標(biāo)準(zhǔn)化的事情照著文檔和例程抄抄改改就能跑通。但真上手了才發(fā)現(xiàn)從“能跑”到“跑得穩(wěn)”中間隔著不少細(xì)節(jié)。尤其是nRF54L15作為nRF54系列中的一員其外設(shè)配置和NCS的Devicetree綁定方式與經(jīng)典的nRF52系列有些微妙的差異稍不注意就會(huì)掉進(jìn)坑里。網(wǎng)上關(guān)于nRF54L15的實(shí)戰(zhàn)分享還不多很多經(jīng)驗(yàn)還停留在nRF52840的時(shí)代。所以我覺(jué)得有必要把這次初始化nRF54L15 I2C外設(shè)的完整過(guò)程、關(guān)鍵配置和踩過(guò)的坑系統(tǒng)地梳理一遍這不僅僅是配置幾個(gè)寄存器更是理解NCS下外設(shè)驅(qū)動(dòng)模型和硬件抽象層的一次實(shí)踐。I2C本身是個(gè)老生常談的協(xié)議但把它集成到一個(gè)具體的RTOS和芯片平臺(tái)上就需要考慮更多Devicetree里怎么定義節(jié)點(diǎn)和屬性如何選擇正確的時(shí)鐘速度和驅(qū)動(dòng)模式中斷和DMA怎么配合通信失敗時(shí)從軟件配置到硬件波形排查鏈路是怎樣的這篇文章我就以一個(gè)實(shí)際項(xiàng)目為背景手把手帶你走通nRF54L15上I2C外設(shè)的初始化全流程并分享幾個(gè)確保通信穩(wěn)定性的核心技巧。無(wú)論你是剛從nRF52遷移過(guò)來(lái)還是初次接觸NCS和Zephyr希望這些經(jīng)驗(yàn)?zāi)軒湍闵僮邚澛贰?. 環(huán)境準(zhǔn)備與項(xiàng)目骨架搭建在開始寫代碼之前確保你的開發(fā)環(huán)境是就緒的。對(duì)于nRF54系列NCS是唯一官方支持的SDK。我使用的是NCS v2.6.0版本這個(gè)版本對(duì)nRF54系列的支持已經(jīng)比較完善。你可以通過(guò)nRF Connect for Desktop中的Toolchain Manager來(lái)安裝和管理NCS版本這是最省心的方式。創(chuàng)建一個(gè)新的應(yīng)用程序項(xiàng)目。我習(xí)慣使用命令行在NCS的安裝目錄下或者通過(guò)west命令在任何位置執(zhí)行west build -b nrf54l15dk_nrf54l15 app這里的nrf54l15dk_nrf54l15是開發(fā)板的標(biāo)識(shí)符。如果你用的是自定義板需要先準(zhǔn)備自己的板級(jí)定義文件。創(chuàng)建項(xiàng)目后你會(huì)得到一個(gè)最基礎(chǔ)的src/main.c和項(xiàng)目配置文件prj.conf。接下來(lái)是理解項(xiàng)目的核心配置文件。在NCS中外設(shè)的硬件抽象主要通過(guò)Devicetree.dts文件和Kconfigprj.conf或Kconfig文件來(lái)完成。對(duì)于I2C我們主要關(guān)注以下幾點(diǎn)Devicetree配置在板級(jí)定義文件如boards/arm/nrf54l15dk_nrf54l15/nrf54l15dk_nrf54l15.dts中I2C控制器節(jié)點(diǎn)通常已經(jīng)定義好了。我們的任務(wù)是在應(yīng)用層的app.overlay文件中啟用我們需要的I2C實(shí)例并為其分配一個(gè)在代碼中可引用的標(biāo)簽同時(shí)配置其引腳。例如我想使用I2C1連接到開發(fā)板上的P0.02SCL和P0.03SDA我的app.overlay文件內(nèi)容大致如下i2c1 { compatible nordic,nrf-twim; status okay; pinctrl-0 i2c1_default; pinctrl-1 i2c1_sleep; pinctrl-names default, sleep; clock-frequency I2C_BITRATE_STANDARD; // 標(biāo)準(zhǔn)模式100kHz label I2C_1; // 自定義一個(gè)標(biāo)簽方便代碼引用 };這里的關(guān)鍵是compatible nordic,nrf-twim它告訴Zephyr使用Nordic的TWIMTwo Wire Master Interface驅(qū)動(dòng)。clock-frequency設(shè)置為I2C_BITRATE_STANDARD這是一個(gè)宏代表100kHz。如果你需要高速模式400kHz可以設(shè)置為I2C_BITRATE_FAST。Kconfig配置在prj.conf文件中我們需要啟用I2C驅(qū)動(dòng)和必要的依賴。至少需要以下配置CONFIG_I2Cy CONFIG_I2C_NRFXyCONFIG_I2C_NRFX是Nordic nRF系列I2C驅(qū)動(dòng)的實(shí)現(xiàn)。根據(jù)你的需求可能還需要啟用日志CONFIG_LOGy和I2C的調(diào)試信息CONFIG_I2C_LOG_LEVEL_DBGy來(lái)輔助排查問(wèn)題。完成這些配置后項(xiàng)目的硬件抽象層就準(zhǔn)備好了。Zephyr的驅(qū)動(dòng)模型會(huì)在編譯時(shí)根據(jù)Devicetree和Kconfig的配置自動(dòng)生成相應(yīng)的設(shè)備結(jié)構(gòu)體和初始化代碼。我們的應(yīng)用代碼只需要通過(guò)設(shè)備樹獲取設(shè)備指針然后調(diào)用標(biāo)準(zhǔn)的I2C API即可。3. 核心代碼實(shí)現(xiàn)從獲取設(shè)備到首次通信環(huán)境配置好后我們進(jìn)入核心的C代碼實(shí)現(xiàn)部分。在Zephyr中操作一個(gè)外設(shè)的標(biāo)準(zhǔn)流程是獲取設(shè)備指針 - 配置如果需要- 進(jìn)行讀寫操作。首先在main.c的開頭我們需要包含必要的頭文件#include zephyr/kernel.h #include zephyr/device.h #include zephyr/drivers/i2c.h #include zephyr/logging/log.h LOG_MODULE_REGISTER(main, LOG_LEVEL_INF);LOG_MODULE_REGISTER用于初始化日志模塊這在調(diào)試時(shí)非常有用。接下來(lái)我們需要通過(guò)Devicetree來(lái)獲取I2C控制器的設(shè)備指針。在Zephyr中這通常通過(guò)DEVICE_DT_GET宏來(lái)完成它需要一個(gè)設(shè)備樹節(jié)點(diǎn)的標(biāo)識(shí)符。還記得我們?cè)赼pp.overlay里定義的label I2C_1嗎Zephyr的Devicetree宏系統(tǒng)會(huì)為這個(gè)節(jié)點(diǎn)生成一個(gè)唯一的標(biāo)識(shí)符。我們可以這樣獲取設(shè)備// 使用DT_NODELABEL宏來(lái)引用我們?cè)趏verlay中定義的label #define I2C_DEV_NODE DT_NODELABEL(i2c1) // 注意這里的i2c1是節(jié)點(diǎn)標(biāo)簽不是我們自定義的字符串“I2C_1” static const struct device *const i2c_dev DEVICE_DT_GET(I2C_DEV_NODE); if (!device_is_ready(i2c_dev)) { LOG_ERR(I2C device %s is not ready, i2c_dev-name); return -ENODEV; }這里有一個(gè)關(guān)鍵點(diǎn)DT_NODELABEL(i2c1)中的i2c1指的是設(shè)備樹中I2C1控制器節(jié)點(diǎn)的標(biāo)簽label這個(gè)標(biāo)簽通常由芯片的SoC定義文件.dtsi決定而不是我們?cè)趏verlay里自定義的那個(gè)字符串“I2C_1”。我們自定義的label屬性主要用于日志輸出和設(shè)備樹生成的其他用途。device_is_ready函數(shù)至關(guān)重要它檢查驅(qū)動(dòng)是否成功初始化并綁定到了硬件上。如果返回false通常意味著Devicetree配置有誤、驅(qū)動(dòng)未編譯進(jìn)鏡像或者硬件初始化失敗后續(xù)任何I2C操作都會(huì)導(dǎo)致系統(tǒng)錯(cuò)誤。設(shè)備就緒后我們就可以進(jìn)行I2C通信了。假設(shè)我們要讀取一個(gè)I2C地址為0x50的EEPROM這是一個(gè)常見的外設(shè)也符合你提供的熱詞“i2c讀寫eeprom代碼”從該設(shè)備的寄存器地址0x00開始讀取2個(gè)字節(jié)的數(shù)據(jù)。標(biāo)準(zhǔn)的操作流程如下#define EEPROM_I2C_ADDR 0x50 // 7位I2C地址左移一位后為0xA0 (寫) / 0xA1 (讀) uint8_t reg_addr 0x00; // 要讀取的EEPROM內(nèi)部寄存器地址 uint8_t rx_buf[2]; // 用于存放讀取到的數(shù)據(jù) int ret; // 步驟1先寫入要讀取的寄存器地址對(duì)于大多數(shù)EEPROM和傳感器這是標(biāo)準(zhǔn)操作 ret i2c_write(i2c_dev, reg_addr, 1, EEPROM_I2C_ADDR); if (ret ! 0) { LOG_ERR(Failed to write EEPROM register address (err %d), ret); // 處理錯(cuò)誤 } // 步驟2從該地址開始讀取數(shù)據(jù) ret i2c_read(i2c_dev, rx_buf, sizeof(rx_buf), EEPROM_I2C_ADDR); if (ret ! 0) { LOG_ERR(Failed to read from EEPROM (err %d), ret); // 處理錯(cuò)誤 } LOG_INF(Read data: 0x%02x 0x%02x, rx_buf[0], rx_buf[1]);這是最基本的“先寫后讀”模式。Zephyr的i2c_write和i2c_read函數(shù)封裝了底層的傳輸細(xì)節(jié)。需要注意的是這里的EEPROM_I2C_ADDR是7位地址。有些設(shè)備的文檔會(huì)給出8位地址包含讀寫位你需要將其右移一位得到7位地址再傳入API。然而對(duì)于支持“組合格式”combined format或需要在一個(gè)事務(wù)中完成地址寫入和數(shù)據(jù)讀取的設(shè)備上述“先寫后讀”可能會(huì)因?yàn)閮纱为?dú)立的I2C傳輸中間有STOP和START信號(hào)而不符合設(shè)備時(shí)序要求。這時(shí)我們需要使用更強(qiáng)大的i2c_transfer函數(shù)。i2c_transfer允許你定義一個(gè)包含多個(gè)消息message的數(shù)組在一個(gè)I2C事務(wù)中依次執(zhí)行中間只產(chǎn)生重復(fù)START條件Repeated Start這對(duì)于許多傳感器和RTC芯片是必需的。使用i2c_transfer讀取EEPROM的代碼如下#define EEPROM_I2C_ADDR 0x50 uint8_t reg_addr 0x00; uint8_t rx_buf[2]; int ret; struct i2c_msg msgs[2]; // 第一個(gè)消息寫入寄存器地址不產(chǎn)生STOP信號(hào) msgs[0].buf reg_addr; msgs[0].len 1; msgs[0].flags I2C_MSG_WRITE | I2C_MSG_RESTART; // 關(guān)鍵WRITE RESTART // 第二個(gè)消息讀取數(shù)據(jù)產(chǎn)生STOP信號(hào) msgs[1].buf rx_buf; msgs[1].len sizeof(rx_buf); msgs[1].flags I2C_MSG_READ | I2C_MSG_STOP; // READ STOP ret i2c_transfer(i2c_dev, msgs, 2, EEPROM_I2C_ADDR); if (ret ! 0) { LOG_ERR(I2C transfer failed (err %d), ret); // 處理錯(cuò)誤 } LOG_INF(Read data via transfer: 0x%02x 0x%02x, rx_buf[0], rx_buf[1]);這段代碼通過(guò)I2C_MSG_RESTART標(biāo)志確保在寫完寄存器地址后總線不會(huì)產(chǎn)生STOP條件而是直接產(chǎn)生一個(gè)重復(fù)START條件緊接著發(fā)起讀操作。這符合絕大多數(shù)I2C從設(shè)備的讀時(shí)序要求。理解并正確使用i2c_transfer和消息標(biāo)志位是寫出穩(wěn)定可靠I2C驅(qū)動(dòng)代碼的關(guān)鍵一步。4. 深入配置與性能調(diào)優(yōu)讓I2C跑起來(lái)只是第一步讓它跑得穩(wěn)定、高效還需要進(jìn)行一些深入的配置和調(diào)優(yōu)。這部分往往在簡(jiǎn)單的例程中不會(huì)提及但卻對(duì)實(shí)際產(chǎn)品的可靠性至關(guān)重要。4.1 時(shí)鐘速度與總線負(fù)載在app.overlay中我們?cè)O(shè)置了clock-frequency。除了標(biāo)準(zhǔn)的100kHz和快速的400kHznRF54L15的TWIM還支持更高的速度如1MHz。但提高速度需要謹(jǐn)慎總線電容這是影響I2C速度的首要因素??偩€上的每個(gè)器件、每厘米導(dǎo)線都會(huì)增加電容。過(guò)大的總線電容會(huì)導(dǎo)致信號(hào)邊沿變緩可能無(wú)法滿足高速模式下的上升時(shí)間rise time要求從而產(chǎn)生通信錯(cuò)誤。如果你的設(shè)備連接線較長(zhǎng)或掛載器件較多建議先用標(biāo)準(zhǔn)模式測(cè)試。上拉電阻I2C總線需要外部上拉電阻通常SCL和SDA各一個(gè)。電阻值的選擇與總線電容和電源電壓有關(guān)。公式R_pullup (Vdd - 0.4) / (3mA)給出了一個(gè)最大值的粗略估計(jì)0.4V是低電平閾值3mA是標(biāo)準(zhǔn)模式下的最大灌電流。對(duì)于3.3V系統(tǒng)常用4.7kΩ或10kΩ。總線電容大時(shí)應(yīng)減小電阻值以加快上升沿但會(huì)增加功耗和驅(qū)動(dòng)器的負(fù)擔(dān)。nRF54L15的引腳驅(qū)動(dòng)能力較強(qiáng)但最好參考數(shù)據(jù)手冊(cè)和實(shí)際波形進(jìn)行調(diào)整。4.2 超時(shí)與重試機(jī)制工業(yè)環(huán)境或長(zhǎng)距離通信中I2C總線容易受到干擾。Zephyr的I2C驅(qū)動(dòng)提供了超時(shí)配置。你可以在prj.conf中設(shè)置CONFIG_I2C_NRFX_TIMEOUT1000 # 超時(shí)時(shí)間單位毫秒或者在運(yùn)行時(shí)通過(guò)i2c_configureAPI來(lái)設(shè)置。但請(qǐng)注意nRF54L15的TWIM驅(qū)動(dòng)i2c_nrfx_twim.c對(duì)超時(shí)的處理方式可能與你的預(yù)期不同。它主要用在從設(shè)備無(wú)響應(yīng)NACK或時(shí)鐘延展clock stretching超時(shí)的情況下。對(duì)于總線被持續(xù)拉低等“死鎖”情況超時(shí)機(jī)制可能無(wú)法恢復(fù)。因此一個(gè)健壯的系統(tǒng)需要應(yīng)用層的重試邏輯#define MAX_RETRIES 3 int retries 0; int ret; do { ret i2c_read(i2c_dev, ...); if (ret 0) { break; // 成功 } LOG_WRN(I2C read failed (attempt %d), retrying..., retries 1); k_msleep(10); // 短暫延時(shí)讓總線可能的狀態(tài)恢復(fù) retries; } while (retries MAX_RETRIES); if (ret ! 0) { LOG_ERR(I2C read failed after %d attempts, MAX_RETRIES); // 執(zhí)行更嚴(yán)格的錯(cuò)誤恢復(fù)如重新初始化I2C控制器 }4.3 電源管理與低功耗nRF54系列主打低功耗I2C外設(shè)的功耗管理也需要關(guān)注。在Devicetree中我們定義了pinctrl-0默認(rèn)狀態(tài)和pinctrl-1睡眠狀態(tài)。當(dāng)系統(tǒng)進(jìn)入低功耗模式如CONFIG_PM_DEVICE啟用驅(qū)動(dòng)會(huì)自動(dòng)將引腳切換到睡眠狀態(tài)配置這通常意味著將引腳設(shè)置為高阻輸入NRF_GPIO_PIN_NOPULL以降低漏電流。如果你的從設(shè)備如傳感器也支持睡眠你需要在通信前后管理其電源。一種常見模式是在需要讀數(shù)時(shí)通過(guò)一個(gè)GPIO控制從設(shè)備的電源或使能引腳上電后等待其穩(wěn)定通常有幾毫秒到幾十毫秒的啟動(dòng)時(shí)間再進(jìn)行I2C初始化和數(shù)據(jù)讀取讀完后再將其斷電。這能極大降低系統(tǒng)整體功耗。4.4 使用DMA提升效率對(duì)于需要頻繁傳輸大量數(shù)據(jù)的場(chǎng)景例如從I2C接口的顯示屏連續(xù)讀取幀緩沖使用DMA可以解放CPU降低系統(tǒng)負(fù)載。nRF54L15的TWIM外設(shè)支持EasyDMA。在Zephyr中I2C的DMA傳輸通常是自動(dòng)啟用的當(dāng)CONFIG_I2C_NRFX被設(shè)置且芯片支持時(shí)。你可以通過(guò)檢查i2c_nrfx_twim.c驅(qū)動(dòng)代碼或相關(guān)Kconfig選項(xiàng)來(lái)確認(rèn)。使用DMA時(shí)要確保你提供的讀寫緩沖區(qū)位于DMA可訪問(wèn)的內(nèi)存區(qū)域?qū)τ趎RF54通常的SRAM區(qū)域都是可以的。對(duì)于超大數(shù)據(jù)傳輸合理規(guī)劃緩沖區(qū)大小避免單次傳輸時(shí)間過(guò)長(zhǎng)阻塞總線。5. 實(shí)戰(zhàn)排坑從軟件配置到硬件波形的完整鏈路即使代碼和配置看起來(lái)完美I2C通信仍然可能失敗。下面我分享一個(gè)完整的排查鏈路這是調(diào)試任何I2C問(wèn)題都應(yīng)該遵循的思路從最上層軟件逐步深入到硬件底層。5.1 第一步檢查軟件配置與設(shè)備狀態(tài)日志與返回值確保CONFIG_LOGy并設(shè)置合適的日志級(jí)別。仔細(xì)查看i2c_write/read/transfer的返回值。常見的錯(cuò)誤碼有-EIO總線錯(cuò)誤如從設(shè)備無(wú)應(yīng)答NACK。-ENODEV設(shè)備指針無(wú)效或設(shè)備未就緒。-EINVAL參數(shù)無(wú)效如緩沖區(qū)為空長(zhǎng)度為零。-ETIMEDOUT操作超時(shí)。 根據(jù)錯(cuò)誤碼可以初步判斷方向。確認(rèn)設(shè)備樹綁定使用west build -t menuconfig檢查CONFIG_I2C_NRFX是否被選中。更徹底的方法是查看編譯生成的build/zephyr/include/generated/devicetree_generated.h文件搜索你的I2C節(jié)點(diǎn)如i2c1看其status屬性是否為okaycompatible是否為nordic,nrf-twim。引腳復(fù)用確認(rèn)這是nRF54系列的一個(gè)常見坑點(diǎn)。nRF54L15的引腳功能比nRF52系列更靈活一個(gè)物理引腳可能被多個(gè)外設(shè)復(fù)用。你需要確認(rèn)在app.overlay中指定的pinctrl-0如i2c1_default所引用的pinctrl節(jié)點(diǎn)其定義的SCL和SDA引腳沒(méi)有被其他外設(shè)如UART、SPI、PWM同時(shí)啟用。檢查板級(jí)DTS文件或創(chuàng)建你自己的pinctrl節(jié)點(diǎn)確保引腳分配唯一。5.2 第二步邏輯分析儀抓取波形當(dāng)軟件層面找不到原因時(shí)必須請(qǐng)出硬件調(diào)試神器——邏輯分析儀或者帶I2C解碼功能的示波器。將探頭連接到SCL和SDA線以及地線設(shè)置合適的采樣率至少4倍于時(shí)鐘頻率開始抓取通信過(guò)程的波形。你需要觀察以下幾個(gè)關(guān)鍵點(diǎn)它們對(duì)應(yīng)了你提供的熱詞中的“i2c時(shí)序圖”和“經(jīng)典的i2c write/read 波形圖”起始條件Start ConditionSDA在SCL高電平時(shí)由高變低是否清晰地址字節(jié)Address Byte起始條件后主機(jī)發(fā)送的第一個(gè)7位地址加上讀寫位是否正確你的邏輯分析儀軟件應(yīng)該能解碼出這個(gè)字節(jié)。例如對(duì)于地址0x50的寫操作解碼出的地址字節(jié)應(yīng)該是0xA00x50 1 | 0。應(yīng)答位ACK/NACK每個(gè)字節(jié)包括地址字節(jié)和每個(gè)數(shù)據(jù)字節(jié)傳輸后的第9個(gè)時(shí)鐘周期SDA是否被從設(shè)備拉低ACK如果從設(shè)備無(wú)應(yīng)答NACKSDA為高說(shuō)明地址錯(cuò)誤、設(shè)備未上電、或設(shè)備故障。數(shù)據(jù)字節(jié)Data Bytes寫入或讀出的數(shù)據(jù)字節(jié)是否符合預(yù)期停止條件Stop ConditionSDA在SCL高電平時(shí)由低變高是否產(chǎn)生重復(fù)起始條件Repeated Start如果你使用了i2c_transfer并設(shè)置了I2C_MSG_RESTART在波形上應(yīng)該能看到一個(gè)停止條件被省略SCL在高電平期間SDA先變高再變低一個(gè)新的起始條件。時(shí)鐘延展Clock Stretching觀察SCL線是否被從設(shè)備長(zhǎng)時(shí)間拉低。這是某些從設(shè)備如一些EEPROM、RTC在處理數(shù)據(jù)時(shí)的合法行為。nRF54L15的TWIM驅(qū)動(dòng)支持時(shí)鐘延展但如果延展時(shí)間過(guò)長(zhǎng)可能會(huì)導(dǎo)致驅(qū)動(dòng)超時(shí)-ETIMEDOUT。你需要確認(rèn)從設(shè)備手冊(cè)中規(guī)定的最大時(shí)鐘延展時(shí)間并與驅(qū)動(dòng)超時(shí)設(shè)置比較。毛刺與信號(hào)完整性觀察SDA和SCL線上的波形是否干凈上升沿和下降沿是否陡峭有沒(méi)有明顯的振鈴ringing或過(guò)沖overshoot。“i2c 的毛刺出現(xiàn)在什么位置會(huì)有影響”——毛刺如果出現(xiàn)在SCL高電平期間并且幅度足夠大可能會(huì)被誤判為起始或停止條件導(dǎo)致通信錯(cuò)亂。如果信號(hào)質(zhì)量差需要檢查PCB布局、總線電容、上拉電阻值或者考慮降低通信速率。5.3 第三步常見問(wèn)題與解決方案根據(jù)波形分析可以定位大部分問(wèn)題問(wèn)題無(wú)ACK地址字節(jié)后SDA為高排查確認(rèn)從設(shè)備I2C地址是否正確7位 vs 8位。用萬(wàn)用表測(cè)量從設(shè)備的電源和地是否正常。確認(rèn)SCL/SDA線路連通沒(méi)有虛焊或短路。確認(rèn)上拉電阻已正確焊接阻值合適。問(wèn)題有ACK但數(shù)據(jù)錯(cuò)誤排查檢查你的讀寫數(shù)據(jù)緩沖區(qū)內(nèi)容。對(duì)于寫操作確認(rèn)發(fā)送的數(shù)據(jù)字節(jié)順序和值。對(duì)于讀操作確認(rèn)你解析接收緩沖區(qū)的邏輯。同時(shí)檢查從設(shè)備是否有特殊的寄存器訪問(wèn)協(xié)議或需要特定的命令序列。問(wèn)題通信間歇性失敗尤其在高速模式下排查這極有可能是信號(hào)完整性問(wèn)題。降低I2C時(shí)鐘速度如從400kHz降到100kHz看是否改善。用示波器測(cè)量SCL和SDA線的上升時(shí)間從30%Vdd到70%Vdd。根據(jù)I2C規(guī)范標(biāo)準(zhǔn)模式上升時(shí)間應(yīng)小于1000ns快速模式應(yīng)小于300ns。如果上升時(shí)間過(guò)長(zhǎng)嘗試減小上拉電阻值如從10kΩ換成4.7kΩ。檢查總線布線避免過(guò)長(zhǎng)或靠近噪聲源。問(wèn)題使用i2c_transfer失敗但分開write和read成功排查這通常是因?yàn)閺脑O(shè)備不支持重復(fù)START條件或者其協(xié)議要求在兩個(gè)操作之間有明確的STOP條件。仔細(xì)閱讀從設(shè)備的數(shù)據(jù)手冊(cè)確認(rèn)其讀操作時(shí)序。有些老式EEPROM可能就需要先write地址帶STOP再read數(shù)據(jù)。5.4 一個(gè)真實(shí)的排查案例我在項(xiàng)目中遇到一個(gè)詭異的問(wèn)題I2C通信在系統(tǒng)啟動(dòng)后前幾次都成功運(yùn)行一段時(shí)間后隨機(jī)失敗錯(cuò)誤碼是-EIO。用邏輯分析儀抓取失敗時(shí)的波形發(fā)現(xiàn)主機(jī)發(fā)送起始條件后SCL線被持續(xù)拉低導(dǎo)致通信卡死。深入排查發(fā)現(xiàn)這是一個(gè)總線鎖死Bus Lock-up問(wèn)題。原因是系統(tǒng)中另一個(gè)任務(wù)優(yōu)先級(jí)更高在I2C通信過(guò)程中發(fā)生了嚴(yán)重錯(cuò)誤并進(jìn)入了死循環(huán)而這個(gè)任務(wù)也持有了某個(gè)與I2C驅(qū)動(dòng)共享的資源如一個(gè)互斥鎖導(dǎo)致I2C驅(qū)動(dòng)無(wú)法完成當(dāng)前傳輸TWIM外設(shè)狀態(tài)機(jī)異常SCL被意外拉低。解決方案軟件層面優(yōu)化任務(wù)調(diào)度和資源鎖的持有時(shí)間確保不會(huì)在關(guān)鍵通信期間發(fā)生長(zhǎng)時(shí)間阻塞。為I2C操作增加看門狗watchdog超時(shí)復(fù)位機(jī)制。硬件/驅(qū)動(dòng)層面nRF54L15的TWIM外設(shè)有超時(shí)和錯(cuò)誤恢復(fù)機(jī)制但并非萬(wàn)能。在驅(qū)動(dòng)初始化時(shí)可以配置SHORTS寄存器將STOP任務(wù)與某些錯(cuò)誤事件關(guān)聯(lián)嘗試自動(dòng)恢復(fù)。更徹底的方法是在應(yīng)用層檢測(cè)到連續(xù)多次I2C失敗后執(zhí)行一個(gè)“總線恢復(fù)”序列先嘗試發(fā)送多個(gè)時(shí)鐘脈沖通過(guò)將SCL引腳臨時(shí)配置為GPIO輸出并手動(dòng)翻轉(zhuǎn)如果無(wú)效則重新初始化deinit再initI2C控制器外設(shè)。Zephyr的驅(qū)動(dòng)APIi2c_recover_bus()就是用于此目的但在nRF54的驅(qū)動(dòng)中需要確認(rèn)其實(shí)現(xiàn)是否完善。通過(guò)這個(gè)從軟件日志到硬件波形再到系統(tǒng)級(jí)分析的完整排查過(guò)程你不僅能解決眼前的問(wèn)題更能建立起對(duì)I2C總線乃至整個(gè)嵌入式系統(tǒng)交互的深刻理解。調(diào)試I2C本質(zhì)上是在調(diào)試一個(gè)由軟件、硬件和時(shí)序精密配合的系統(tǒng)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
A在线观看| 久热99热| 色色无码| 婷婷久久五月天| 五月色网| 久热超碰91| 五月天啪啪| 99成人无码| 黄色精品五月婷婷| 视频久久9| 99热免费| 色偷偷综合| 99只有这里是精品| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 色色色色色色色色色色色色色97| 另类在线| 91色逼| 99高级会所久久| 99啪在线视频| 91综合在线观看首页| 五月激情六月宗合| 久久A区B区| 欧洲永久精品| 天天射影| 色爱99| 九月av| 丁香激情综合| 91久久久久| 狠狠综合| 少妇真实被内射视频三四区| 91超级碰在线| 久久婷婷六月综合综合色| 99热在线观看99| 久久精品99国产精品日本| 精久久色| 97好吊操| 日日夜夜爽| 99热这里只有精品在线免费| 91久久电影| 久久激情五月婷婷| 99精品在线观看| 婷婷五月天色| 日本99久久| AAA久久| 黄色成人网站在线播放| 五月婷婷婷婷| 精品女人九九九| 在线视频激情网站| 丁香婷婷大香蕉| 亚韩在线视频| 五月丁香久久| 综合久久综合五月天婷婷| 国产激情av| 综合网五月| 亚洲天堂aaa| www.五月丁香av| 五月丁香婷婷啪啪综合网| 97人人爱人人操| CAoub青青超碰| 亚洲最大视频网站| 啪啪综合| 狠狠狠狠狠狠狠狠草| 第四色大香蕉| 五月网激情| 最新热中文字幕| 开心久久五月天| 玖月婷婷爱丁香| 狠狠干五月天婷婷网| 激情骚五月| 日本三级片片| 亚洲中文丁香| 五月婷婷无码| 精品人妻一区二区三区四区不卡在| 99亚州综合精品成人网| 另类激情中文| 婷婷激情五月| 九九激情视频| WWW色五月天| 亚洲开心激情网| 99色免费视频| 色婷婷视频| 欧美99| 色色亚洲99com| 久久久久98| 区区久久妻| 六月色婷婷欧美| 青草热视频这里只有精品| 五月香蕉综合| 婷婷丁香六月| 色五月婷婷在线观看第一页舔| 桃色成人网| 成人VAV视频在线观看| 丁香婷婷狠狠97| 色五月婷婷激情基地| 婷婷综合伊人| 99热久只有| 五月天激情啪啪| 婷婷黄色| 激情 婷婷| 五月丁香大香蕉| 亚洲婷婷六月天| 久久婷婷综合五月趴| 激情99在线视频| 大香蕉手机视频| 99热最新国内| 丁香五月视频在线观看| 色婷婷久久综合丁香五月| 激情综合网激情五月欧美| 99热精这里只有精品| 婷婷丁香五月天综合网| 丁香五月婷婷骚视屏| 26uuu欧美亚洲日韩| 婷婷五月丁香成人| 九九激情| 五月婷婷六月天| 久久性爱网站| 丁香网站| 激情综合青草| 天天干天天干天天操| 久久香蕉网| 中文不卡av| 久久五月视频| 五月婷色色| www。五月,com| 激情婷婷五月| 91青娱乐青青草| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 丁香伊人综合| 婷婷五月色| 99日本视频| 97色伦另类图片小说视频| 国产成人va在线| www.色婷婷| 天堂综合久久| 激情小说五月天| 99色在线观看视频者| 天天色凹凸| 啪啪干伊人婷婷| 庭庭久久内射| 丁香五月天堂| 这里只有精品在线观看视频| 婷婷五月天丁香久久| 人人操女人| 天天视频亚洲| 一本九九色| 另类激情五月| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 伍月激情天| 九九99免费视频| 五月婷婷九九热| 亚洲人妻五月丁香婷婷| 婷婷丁香久久| www.日本91| 五月婷婷影| 丁香五月瑟瑟| 久久久久久久人妻| 婷婷五月丁香六月| 99免费在线视频| AAA久久| 色婷操逼| 久久亚洲精品成人无码网站导航| 六月婷婷av| 久久九九re热| 亚洲1区| 五月天亚洲图片婷婷| 密乳视频| 日笨久久网| 丁香五月天在线观看| 综合激情婷婷| 丁香五月婷婷成人综合| 另类小说色婷婷| 五月天天丁香婷婷在线中| 99爱在线视频观看| 3p久久| 91热久久| 亚洲XX日本| 国外亚洲成AV人片在线观看 | 婷婷五月天六月| www.ywav| 五月天另类视频| bbwcuckold精品熟妇| 天天综合色| 综合久久综合久久| 嫩草极品| 中文字幕视频在线播放| 996热re视频精品视频| 久久人妻伦理| 婷婷五月播| 亚洲人人操| 这里只有国产精品在线| 亚洲黄色网址| 综合色五月| 天天操夜夜啊| 99热加勒比| 五月天婷婷久久| 久久99久久99精品免视看婷婷| 久久久免费精彩视频| 婷婷五月色色| 黄色网址五月婷婷| 五月丁香黄色视频| 月婷婷婷婷五月| 六月婷婷天天操夜夜爽视频| 色色五月婷婷| 91婷色| 五月天婷婷自拍图片在线观看| 激情综合网五月| 激情五月视频| 怕怕av| 色九综合| 丁香五月婷婷社区| 四色永久成人网站| 婷婷五月天AV在线| 夜夜操天天爽| 色9色| 综合99在线| 操人91| 五月婷激情| 激情综合网之激情五月| 婷婷丁香六月天激情四射网| 婷婷丁香十月| 亚艹艹| av婷婷丁香 六月| 婷婷久久色| 色色综合网站| 开心深爱激情网| 色噜噜婷婷| 色五月网址| 久久五月天 91| 少妇综合网| 婷婷狠狠操| 九九免费在线视频| 亚洲五月天天| 亚洲色色图片| 色婷婷综合久色AV五色最新| 亚洲一区二区色图-亚洲精品国产精品乱码-成人AV | 六月婷婷激情| 人妻久久久久久久 | 99在线精品视频| 大香蕉婷婷五月| 丁香色综合| 好好日激情五月天| 深夜婷婷五月丁香| 三区激情四射av| 91人人爽狠狠狠| 婷婷色情五月| 天堂成人久久| 99九九热在线观看| 97人人操人人爽| 大香蕉人人网| 99爽视频| 五月婷婷xxx| 日本一毛片| 婷婷综合九月| 综合网啪啪| 操日本三片99| 国产99热| 久久网日本| 久久九九@| 天天色天天日天天舔| 九九热中文| 色五月激情综合| 丁香五月123| 国产综合久久久777777| 99在线精品免费视频| 日本五月天激情| 久久视频在线| 国产激情在线| 成人片在线播放| 日本一毛片| 久久久婷婷五月亚洲97号色| 综合一本道| 狠狠干无码| 日韩色色视频| 九九成人视频| 日韩乱轮AV| 一级AV片| 国产亚洲99久久| 五月天色色婷婷| 九九五月天| 婷婷丁香社区网| 久久99国产综合精品免费| 婷婷综合一二三| 人妻综合网| 五月天婷婷色综合| 九久久九精品视频| 超碰在线观看9| 狠狠综合久久| 天天干com| 五月丁香六月婷婷操操操| 精品婷婷五月视| 天天舔日日肏夜夜爽| 九九热免费观看视频| 亚洲婷婷丁香| WWW激情五月天| xxx.色婷婷| a在线观看| 五月天综合| 性爱网五月婷婷| 天天射色五月天| 亚洲AV网站在线观看| 白度黄视频| 六月丁香婷婷色狠狠久久| 九月婷婷在线观看| 热99精品视频观看| 欧美成人日韩| 婷婷伊人五月天| 神马欧美精| 九九综合视频在线观看| 激情婷婷| 婷婷美女精品视频| 伊人激情啪啪| 亚洲蜜乳AV| 男人的天堂999| 开心五月深爱五月丁香五月激情五月| 激情五月婷婷五月| 久热超碰91| 激情综合五月色在线| 婷婷偷拍网| 五月天色视频| 精品国产AV色一区二区深夜久久| 伊人久久婷婷五月综合97色| 在线播放成人| 极品 少妇 内射| 欧美97色| 日本人人干| 99热精这里只有精品| 国精产品一区二区三区| 婷婷五月丁香六月综合网| 五月丁香性| 操一区| 伊人五月天97| 天天操屄网| 久久婷婷五月综合| 日韩操人| 天天射综合网站| 婷婷丁香五月天之开心少妇| 五月婷婷草| 婷婷五月激情片| 我爱大香蕉| 综合精品99| 五月天激情日色在线| 色五开心五月五月深深爱| 丁香五月婷中字幕| 色九月丁香婷婷蜜桃在线观看| 激情骚五月| 99色丁香婷婷综合网| 色婷婷亚洲在线| 综合婷婷| 激情欧美婷五月| 综合激情站| 婷婷久久性爱| 91热久久| 天天色天天搡| 五月婷婷丁香| 日本色婷婷五月天成人电影| 亚洲成人高清在线| 九九色综合网| av色色国产| 丁香六月婷婷综合激情欧美| 激情婷婷五月天日本系列| 七七九色| 午夜婷婷| 五月天婷婷色色| 五月婷婷干干干| 色五月激情综合网| 六月丁香五月婷婷首页| 九九干视频| 91久久电影| 亚洲国产精品VA在线看黑人| 一本大道伊人AV久久综合| 激情图片99| 五月婷婷丁香五月婷婷丁香| 丁香五月婷婷国产av| 亚洲AV综合在线观看| 丁香五月色五月婷婷宗合| 色婷婷视频在线| 欧美黑人大吊| 中文字幕乱码亚洲精品一区| 五月色视频| 天天做天天爱天天爽| 9婷婷内射| 五月丁香六月婷| 欧美啪啪9| 婷婷五月天精品| 天天做综合| 亚洲精品又粗又大又爽A片| 久久性刺激| 91丨九色丨熟女高潮| Av在线资源| 五月天综合视频网| www.粉嫩av.com| 久热无码| 5五月综合网亚洲| 婷婷五月天黄色| 色情五月丁香| 人人草人| 五月天第四色开心色播| 丁香久久| 亚洲色热| 丁香五月AV综合激情| 四色五月婷婷| 99爱视频在线观看这里只有精品| 99在线视频观看| 丁香五月欧美| 五月丁香婷婷综合激情基地| 丁香六月激情| AV国产有码| 在线超碰91| 天天日夜夜爽| 激情五月影院| 日本噜噜色网| 婷婷五月色情天| 丰满少妇乱A片无码| 精品无码av丁香五月激情| 五月天综合久久| 五月婷色丁香| 99热久| 婷婷五月天成人视频| www.婷婷,com| 婷婷五月天av| 91精品综合久久久五月天| 夜夜综合色| 欧美性二区| 婷婷五月精品| 日本不卡高字幕在线2019| 99超在线| 人妻AV在线| 丁香五月伊人| 色色欧美色色色| 99日本黄站| 人人舔天天| 九九激情网| 亚洲中文AV网站| 思思99热| 九九碰九九爱97| 亚洲色激情| 丁香五月综合久久八| 大战熟女丰满人妻AV| 六月婷婷网站| 九热在线这里有精品6| WWW色五月| 97色色视频| 婷婷五月天亚洲五码| 成人一级片| 99热免费18| 久久精彩视频| 51国精产品自偷自偷综合| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 激情小说 五月天| 天天爱天天日| 激情五月丁香婷婷夜夜操| 精国产品一区二区三区A片 | 大香蕉啪啪啪| 成人av免费观看| 免费视频无码| 99热日| 天天日天天色| 欧美天堂久久| 99久久婷| 亚洲综合激情五月久久| 色婷婷AV久久久久久久| 婷婷激情伍月网| 亚洲国产成人在线| 在线看片av| 婷婷在线综合| 婷婷亚洲日本| 99热这里只有精品98| 激情婷婷22月间| 婷婷伊人综合| 日韩操啪| 丁香婷婷色九月| 丁香久久久| 小色小蛇伊人婷婷色香五月| 国产性av| 久久久免费图片视频| 亚洲天天| 欧美黑人巨大性生话| 九九色色| 色五月在线播放| 五月婷婷影院| 精品久久久久成人码免费动漫| 六月撸婷婷| 五月天丁香网站| 亚洲综合视频在线| 婷婷激情综合网| 成人做爰高潮A片免费视频| 青青草原伊人网| 久久精品五月天| 97在线精品| 国产免费一区二区在线A片视频| 热99在线精品| 激情五月综合| 99色人| 9伊人网| 婷婷激情综合| 天天日天天做天天操| 五月综合视频在线| 热99精品视频| 色五月综合激情| 啪啪一区| 天天肏天天肏| 袁子仪视频观看| 免费播放99性爱视频| 99色啊| 亚洲五月天婷婷在线| 这里只有国产精品在线| 啪啪婷婷五月天激情| 狠色综合网| 五月婷婷啪啪网| 亚洲激情网| AV性爱在线| 97人碰人操| 97人人爱人人操| 久月丁香爱婷婷综合| 四色永久成人网站| 中文国产五月天| 色天堂在线| 亚洲精品V天堂中文字幕 | 夜夜涩涩涩| www色五月| 伊人久久婷婷| 97色97干| 婷婷五月天激情在线| 丁香五月23111| 韩国三级五月天婷婷。| 夜夜爽天天爽| AⅤ网站在线看| 国产五月天婷婷| 99在线视频精品| www.日韩国产| 超级久久久| 色五月婷婷激情综合网| 伊人五月人妻精品| 天天操天天干天天日| 亚洲成人免费在线| 99网址在线看| 五月亭亭狠狠| 日本大人久久| 99色啊| 久久久久亚洲AV无码网影音先锋| 99热综合| 七七九色| 天天肏高清在线| 五月四色激情| 5月婷婷性视频| 9久久精品| 色99免费视频中文| 亚洲色无码| 中文字幕无码人妻少妇免费视频| 92久久久| 亚洲人妻五月丁香婷婷| 丁香五月婷婷av| 婷婷五月天丁香综合网| www.婷婷亚洲基地| 五月综合久久| 综合激情专区| 婷婷婷婷色| 久久婷婷五月综合色区| 亚洲成人AV在线播放| 天天日夜夜高潮| 色色色色色色色色网站| 日韩小视频在线99| 婷婷五月美女直播| 婷婷丁香五月在线观看91| 色狠狠色综合久久久绯色AⅤ影视| 人人色婷婷五月天| 一起草AV| 这里只有精品在线播放| 97久久人人| 欧美日韩123| 丁香五月婷婷亚洲色图| 性按摩玩人妻HD中文字幕| 91在线看免费 九九九九| 狠狠操.com| 日韩aaaaa| 丁香 婷婷 激情 综合 五月| 婷婷六月激情| 欧美日比视频| 91精品综合久久久久久五月丁香| 人人超碰99| 婷婷激情五月天激情| 色啪网| 六月丁香五月激情亚洲AV| 狠狠草在线观看| 东北黄色一级| 九九99免费视频| 热99这里只是精品| 亚洲中文字幕在线观看| 狠狠色婷婷777| 看片视频在线免费日产在线看| 色色色色色色色色色色色色色五月天 | 婷婷五月色天| 九九操综合网| 在线91日韩| 日本久久性| 日韩成人电影AV| www久久久| 西瓜美女a片| 91热久| 婷婷综合精品| 色月视频| 九月激情综合婷婷| 激情五月久久| 久久激情五月天| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 婷婷五月天久久久| 久久这里只有精品16| 丁香五月自拍| 五月婷婷六月开心| 亚洲第一成人无码A片| 婷婷激情综合| 狠狠 婷婷| 婷婷综合国产| 色色射| 婷婷五月天a| 五月久久婷婷天堂视频| 99色综合| 99热在线这里只有精品| 五月久久综合| 99热啪啪| 国产精品视频久久99| 青青草免费公开视频| 久久性操| 人妻免费网站| 另类激情中文| 欧美婷婷综合| 森林影视大全,最好看的2019年视频| 色婷婷色99国产综合精品| 亚洲色五月| 久久五月天精品视频| 色女伊人| 婷婷五月开心中文字幕色| 国产古装妇女野外A片| 天天爱天天做天天爽| 日韩熟女啪啪视频| 婷婷九月色| 激情第四色| 99热这里只有精品2024| 午夜色丁香| 亚洲乱码日产精品BD| 成人片久久网站| 色五月婷婷综合在线| 97在线碰| 婷婷五月天伊人| 国产性色蜜乳| 亚洲视频色色| 丁香五月天AV在线| 日本在线视频播放91| 夜夜操天天干| 婷婷激情性爱| 色色色色热| 亚洲综合狠狠艹| 日韩砖区| 色婷婷五月天亚洲| 99碰碰| 日韩在线99| 九九成年视频| 九九色婷婷Av| 精品热九九| 香蕉AV777XXX色综合一区| 激情婷婷五月天日本系列| 中文久久婷婷| 久久天堂精品| 99超碰人人| 国产人人操| 五月停性愛| 亚洲成人在线在线| 日韩无码专区| 狠狠爱深色婷婷综合| 99热只有| 女人被男人吃奶到高潮| 久久婷五月综合色| 久er7久热| 夜夜爽天天| 激情五月黄色小说| 欧美狠狠草| 丁香五月婷婷久久久| 伊人影院久久网| 91操在线| 色欲久久久久久综合网综合网| 精品亚洲国产成AV人片传媒| 亚洲天堂啪啪| 色五月综合| 五月香婷婷| 丁香五月天色婷婷| 性爱综合网| 校花娇喘呻吟校长陈若雪视频| 丁香五月天婷婷激情| 天天色五月| 色色综合成人网| 色综合久久天天综合网| 五月婷在线观看| 久久婷婷五月综合97色一本| 亚洲六月色| www.99.色| 丁香婷婷综合喷| 99热久97| 久久丝丝热| 欧美色播综合在线观看| 六月激情婷婷| 色色影院aaaav| 婷婷五月综合啪| 久久这里只有精品8| 激情五月亚洲综合网| 婷婷伊人网| 夜夜操夜夜爽| 六月丁香婷婷五月| 1024国产| AA片在线观看视频在线播放 | 99热午夜精品| 精品99视频| 天天爽夜夜爽夜夜爽精品| 久9热视频在线观看| 久久婷婷东京热大香樵| AⅤ网站在线看| 亚洲爆乳无码精品AAA片蜜桃| www色色色com| 婷婷五月丁香亚洲| 9人人操人人看| 婷婷六月爽| 欧美成人性爱网| 夜夜骑夜夜撸| 色婷婷丁香AV综合| 五月婷在线影院| 狠狠狠人妻| 五月丁香婷婷深深爱| 五月天成人综合| 亚洲五月婷婷| 丁香婷婷婷五月综合色情| 97丁香视频| 他改变了拜占庭| 婷婷六月五月天综合| 色婷婷五月综合网| 99re在线精品视频| 婷婷五月综合性爱| 久久XX| 99久久久| 国产精品久久久久久久久久| av大片在线| 国产日韩av片| 99色最新在线视频网站| 蜘蛛女侠2003满天星免费观看| 日韩九九| 综合天堂AV久久久久久久| 91男人操女人视频| 91人妻PORNY九色大屁股| 天天 青草 制服丝袜 在线| 侠女刀之记忆电影在线看免费| 亚洲 精品 综合 精品| 色插综合网| 99热在线观看精品| 性爱激情小说AV五月丁香花| 五月丁香久久网| 精品亚洲VA网站| 日本乱子人伦在线视频| 日逼影音先锋AV男人资源站| 99干视频| www.天天干| 久久久久久久久月丁| 人妻激情网| www.俺去也com| 2018国产大陆天天弄| 丁香五月婷婷总啪啪| 亚洲网站999| 深爱激情丁香五月| 久久五月婷综合| 五月丁香WWW| 99九九精品| 激情久久久| 丁香五月另类色婷婷麻豆| 五月天综合网| 亚州精品色情无码A片| 婷婷五月免费在线| 国产日韩欧美| 色色色综合视频| 欧美性爱五月天| 丁香九月婷婷| 色五月丁香婷婷| 99热99色| 婷婷五月天激情网| 4399在线观看免费高清电视剧| 欧州色色| 人人干人人操外国| 天天爽夜爽| 亚洲色图日韩网址| 亚洲婷婷欧美婷婷| 97色视频网| 激情综合激情综合| 伊人玖玖综合| 99操无码视频观看| 另类激情五月| 人妻精品一区二区三区| 人妻在线网站| 日韩黄色电影| 99热国产精品| 五月婷激情| 5月婷婷综合| 超pen个人视频97| 欧美色色色| 超碰在线资源| 天天综合色| 五月婷婷中文字幕| 99热自拍| 婷婷AV丁香| 伊人丁香在线| 99这里| www.91九色| 亚洲最大视频| 天天操九九插| 国产a视频| 激情五月天综合网| 激情婷婷五月天。| 国产午夜成人AV在线播放| 五月丁香亭亭操逼| 五月色网| 久久这里只有精品1| 狠狠色色| 精品五月天| AV在线大香蕉| 日韩成人无码| 婷婷五月情| AV中文在线| 91919191919久久成人视频| 快乐婷婷五月天| 96丁香婷婷九月蜜桃综合久久| 激情综合五月激情17| 狠狠干狠狠色| 五月丁香色婷婷基地| 极品少妇XXXX精品少妇偷拍| 99熟女| 婷婷久久五月| 精品五月天| a网站免费观看| 九九九九热99超碰| 91热久久| 开心五月综合| 婷婷99狠狠躁天天躁| 婷婷五月色| 激情综合五月色丁香婷婷| 91人人爱| 色爱五月天| 丁香五月激情啪啪| 五月丁香婷婷爱激情综合网| 538在线精品| 97丁香五月| 99精品国产在热久久| 亚洲操逼网| 99热66| 亚洲看av的网站| 色丁香五月天| 色色97丁香婷婷五月天| 夜夜谢天天干| 五月天性色| 九九久久精品| 欧美啪啪五月天| 免费观看全黄做爰的视频| 伊人狠狠综合| 色优久久| 亚洲碰碰碰| 五月婷护士| 五月婷婷激情综合| 精品99在线| 国产日韩亚洲欧美在线观看| 婷婷综合影院| 人人操婷婷| 成人做爰A片免费看视频| 色婷婷色人人射| 激情五月天激情网| 五月天丁香网站| WWW.久久久久久久久久久久久| 激情九色| 美女五月天| 国产精品色一哟哟| 色人五月婷婷| 九九视频网| 五月丁香免费视频| 神马欧美精| 五月天丁香花婷婷| 一本色综合色| 国产人妻人伦精品一区二区| 99免费热视频| 狠狠插狠狠| 狠狠色情婷婷| 开心亚洲久久开心| 五月天色婷婷激情综合| 国产高清视频91九九九久久久| 五月综合丁香婷婷| 99精品综合视频| 五月丁香五月婷婷在线观看| 婷婷五月天AV| 99操中文视频| 国产99久久久| 中文字幕成人| 激情婷婷色色| 日韩999| 色综合丁香| 另类专区在线观看| 亚洲第一黄网| 久久久久9999| 久热只有这里有精品| 久久五月天丁香| 高清 码 免费看片短视频| 五月开心久久| 婷婷丁香六月天| 少妇被下春药玩弄A片| 五月天 婷 欧美亚洲| 婷婷五月丁香激情色情| 99精品久久久| 久久婷婷六月综合| 激情五月天在线观看色婷婷| 91se在线观看| 久久婷婷内射| www久久99| 色婷婷五月天天天天天| 99精品久久久久久久| 五月天婷婷婷| 无码人妻一区二区一牛影视| 成AV人片一区二区三区久久| 五月丁香无码| 精品人妻伦一二三区久| 久草狼人| 五月丁香激情综合网| 婷婷欧美激情综合| 色玖玖| 麻豆WWWCOM内射软件| 六月丁香五月天| 中国丰满熟女A片免费观| 五月婷婷六月丁香| 狠狠精品干练久久久无码中文字幕 | 国产全是老熟女太爽了| 九色PORNY自拍成人精彩视频| site:esunnet.com| 久久亚洲婷婷| 欧美丁香五月| 久久九色| 97ai婷婷| 99精品视频在线观看免费| 六月婷婷综合久久| 久久久妻人人人| 思思热久久爱| 九九精品综合| A片试看50分钟做受视频| 免费黄色视频网址| 91九九热| 777色婷婷爱五月| 亚洲bt丁香五月天婷婷激情小说| 五月天婷婷色播在线网| 欧美综合激情五月丁香| 色五月综合婷婷久久综合婷婷久久综合婷婷久久综合婷婷久久 | 99热这里只有精品最新| 亚洲婷婷五月天激情综合| 丁香亚洲婷婷五月| 五月天婷婷伊人| 专区无日本视频高清8| 成人综合网站| 射琪琪| 欧美婷婷五月无砖| 五月丁香婷婷婷激情爱爱| 色玖玖综合| 亚洲经典三级| 97资源欧美日韩大香蕉超碰一区| 五月丁香性爱| 深爱激情六月| 国产67194| 日韩黄色电影| 五月久久亚洲| 天天综合网在线| 狠狠爱婷婷色| 九九热思思热| 大香蕉九九| 婷婷五月天首页激情| 中文字幕激情综合| 99精品久久久久久久婷婷久久| 婷婷五月天另类网站| 九九99久久| 少妇搡BBBB搡BBB搡毛茸茸| 日本久久激情| 婷婷国产综合| 色天堂A| 久久月天堂| 五月激激网w'w'w| 五月色网| 丁香六月婷婷综合啪啪| www.激情.com.| 九九精品亚洲| 欧美三级大片AA在线看| 六月丁香停| 婷婷丁香五月亚洲| 中文幕无线码中文字蜜桃| 丁香影院五月综合| 五月天婷婷色播| 五月天开心网| 久久人人看| 99精品一二三四视频| 色色色热| eeuss人妻| 狠狠综合网| h亚洲| 五月天综合久久| 欧美激情-区二区三区| 五月婷网| 九月激情网| 99在线视频资源| 丁香六月激情综合| 伊人五月天久久| 伊人五月成人| 五月婷性爱| 婷婷激情六月天视频| 九九这里是免费的视频5| 激情四射五月天| 婷婷色婷婷亚洲成人| 五月丁香六月激情啪| 91中文在线| 99超级碰免费视频| 国产 亚洲 在线| 久9视频| 超碰在线国产| 九月婷婷久久久| 婷婷婷婷色| 日韩成人精品中文字幕| 亚洲欧美999| WWW、日本色丁香、co m| 狠狠操天天操| 色综合99| 婷婷深爱五月亚洲综合| 六月99天天婷婷激情综合| 艳妇野外情欲放荡HD| 91丨人妻丨国产丨丝袜| 婷婷丁香水多多视频| 99热e| 五月天婷婷色| 91九色精品熟女内射| 国产性爱一级| 亚洲无码播放| 色婷婷内射| 中文字幕网伦射乱中文| 色色99| 日本乱子人伦在线视频| 久久精品99久久久久久| 99无码黄色视频| 铁牛TV人妻| 综合五月婷婷| 婷婷激情五月天亚洲综合| 亚洲中文乱字字幕在线永久| 啪啪黄页网| www激情| 丁香五月在线观看综合| 五月丁香激情综合| www.五月瑟| 97在线/亚洲| 激情五月天婷婷| 婷婷五月天激情五月天深爱五月天| 99精彩视频网站在线| 婷婷五月天xxx| 久久久久久9热不雅视频| 色小说五月婷婷| 另类亚洲视频| 欧美在线视频99| 婷婷五月天开心激情网| 1024人妻无码中文字幕| 99热这里只有精品23| 免费看欧美成人A片无码| 五月丁色AV| 色婷婷亚洲综合av| www色色色com| m色激情网| 国产精品99久久久久久猫咪| 色色色99| 日本本土色网第一区| 久色| 美女五月狠狠| 成人片久久网站| 色五月,婷婷大香蕉| 激情www| 99精品视频免费在线播放| 泰州成人视频| 婷婷亚洲欧美丁香五月| 九九九九成人| 综合婷婷| 另类 在线| 丁香五月天欧美| 久久五月网| 五月色亭丁香| 五月激情影院| 站长推荐无码播放| 亚洲综合色五月| 色五月天影视| 日韩在线成人电影| 老美AA片| www.久久99| 噜噜色婷婷| 五月丁香婷婷国产精品综合| 欧美性生交XXXXX无码小说| 色播丁香婷婷五月激情| 五月色丁香婷婷综合| 欧洲色色| 亚洲丁香五月在线观看| www.99热这里精品| 黄桃AV无码免费一区二区三区| 婷婷五月天亚洲丁香| 亚洲成人无码片| 99色精品| 婷婷激情视频| 欧美人妻一区二区| 亚洲看av的网站| 久热久色| 97碰啪啪| 五月婷婷婷综合网| 一区二区你懂的| 激婷网| 国产精产国品一二三在观看 | 31色区视频免费看| 国产又爽又猛又粗的视频A片| 五月丁香婷婷潮喷中文字幕| 六月丁香婷婷综合狠狠爱夜夜爱| 91一起操| 婷婷五月成人| 成人短视频在线| 色五月偷偷| 丁香六月激情综合| 日韩99精品| 五月婷婷九月婷婷九月婷婷| 99男人的天堂| 懂色av蜜臀av粉嫩av永陈冠希| 激情综合五| 九九九九这里只有精品| 99re在线这里只有精品视频首页| 婷婷五月电影| 看全色黄大色大片| 黄色五月婷| 99热久久日本| 婷婷成人在线| 97碰碰碰| 99热这里有精品首页10| 国产欧美日韩综合精品一区二区| 丁香久久久| 五月婷婷AV| 色欲久久久久久综合网综合网| 啪啪五月天啪啪| 天天操天天操天天操| 综合久久综合久久| 97色久| 性色人人爽| 天天色天天色天天色天天色天天色天天色| 淫视馆aV二区一区| 深爱五月月天| 色婷婷内射| 另类丁香五月天区图| 久久婷丁香五月| 久综合网| 色情五月丁香婷婷网| 综合性爱网| 久久综合爱| 人人色人人摸人人看| 日本97在线视频| 婷婷六月啪啪| 国产99美少妇| 狠狠狠人妻| 999热在线视频| 五月激情在线| 六月丁香久久| 噜噜噜狠狠色综合| 天天日中文| 伊人影院久久网| 五月丁香六月婷婷成人| 成片免费观看大全| 成人网在线视频| 五月婷俺去也| 99视频这里只有久久精品| 久久丁香五月婷婷激情综合网| 丁香五月激情棕合| 六月婷婷成人| 就爱射中文字幕资源网| 五月丁香拍拍激情综合| 99色区| 高清无码中文字幕aVDV| 狠狠做五月婷婷| 天天爽天天日天天舔| 婷婷五月婷婷五月天| 九九99视频精品| 五月情婷婷| 久久xxxx| 五月激情四射网站| 亚洲久久日| 色在线五月天免费| 九九热视| 五月丁香六月婷| 久久38视频| 婷婷大香蕉| 婷婷五月综合视频| 中文字幕在线播放视频| 婷婷五月丁香欧洲| 另类图片五月天| 色情五月天导航| 99综合色色色| se影音资源在线观看| 天天久| 99精品无码| 哇嘎成人久久| 综合激情五月丁香| 五月天婷婷爱| 欧美色图片88| 亚洲第一黄网| 日本激情综合| 99热综合网| 99在线播放| 丁香久色| 99日本在线| 中文婷婷狠狠| 26UUU| 五月丁香综合影院| 色欧美影院| www,色综合| www.思思99热| 激情综合啪啪| 亚洲AV日韩AV永久无码网站| 夜色爱爱亚洲| 色狠狠激情五月| 91青娱乐青青草| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 99热在线爱| 婷婷成年人免费视频| 精品久久人妻| 亚洲精品第一色色色色色色| 婷婷五月激情基地| 亚洲一区二区无遮挡A片| 超碰成人电影| 天天日天天摸| 六月婷婷综合网2| 婷婷久久久久久久| 超碰成人在线观看| 婷婷色六月| www.色擼擼.com| 白人荫道BBWBBB大荫道| av一区免费看| 五月婷婷综合色拍| 超碰在线成人| 久久99视频| 五月婷婷深深爱| 色九综合| 婷婷金品综合视频| 综合色五月亭亭| 日本va欧美va精品发布视频| 婷婷色激情五月天| 国产亚洲精品久久久久久久久动漫| 综合网色综合| 99性爱精品| 激情综合色五月丁香| 大香蕉久久婷婷精品综合| 五月丁香美女| 中文字幕 中文字幕明步| 久久3级片| 日日撸日日操| 综合色图婷婷| 五月丁香色狠狠干大屄| 婷婷操超碰| 丁香五月婷婷激情四射| 婷婷丁香五月久久| 天天做天天爱天天爽| 四色五月视频| 六月婷婷中文字幕| 性爱五月婷| 日日杆天天| 日韩另类在线观看| 久热中文字幕| 99re66热这里只有精品|