99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

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
返回資訊列表
噜噜网免费视频| 欧美成人性爱网| 婷婷五月性感| 色狠狠综合| 天天综合干| 免费99色| 淫视馆av三区| 久久XX| 丁香六月激情网C0W| 人人综合91网| 久久99久久99久久99| 日韩精品999| 日韩小视频在线99| 五月丁花色综合网| 国内婷婷丁香社区在线播放| 五月天综合久久| www久久久久久久久久久| 99乱视频| 婷婷五月色色| 激情人妻综合| 婷婷五月丁香91| 亚洲五月天婷婷在线| 九九综合九九| 亚洲综合久| 久久网婷婷| 精国产品一区二区三区A片| 色婷婷在线视频| 久久成人综合五月天| 亚洲午夜视频| 丁香六月激情| 久操热| 婷婷综合另类| 91九色视频在线观看| 91久久国产自产拍夜夜91久久精品文字>91麻豆精品国产 | 久久久久久99精品无码| 99久久视频| 五月婷婷黄色网址| 激情综合丁香六| 99色婷婷| 婷婷五月天伊人| 六月99天天婷婷激情综合| 六月丁AV| 伊人玖玖网| 五月丁香六月情| 99精品无码网站| 丁香六月婷婷| 丁香五月 综合| 九九热av| 九九热这里有精品23| 热99国产精品| 五月永久激情| 99热6色| 婷婷丁香五月亚洲综合网在线视频观看| 五月天亚洲最大成人| 婷色五月| 天天拍久久| 天天天操天天天爰| 色婷五月天综合网| 色九网| 综激情网| 激情综合丁香六| 婷婷香蕉精品| 综合伊人久久| 婷婷五月成人色综合| 秋霞免费三级片| 五月天激情综合网俺也去| 草草操操| 天天色天天噜| 97婷婷狠狠| 另类A片| 欧美色色色色色| 色婷婷电影网| 色综合五月| 久久色午夜在线导航| 97人人干。| 日本123区日韩欧美不卡在线看| 九伊人网| 久色视频首页| 天天干天天干天天干| 九九色逼| 婷婷桃色网| 97人人操com| 黄色激情久久| 婷婷丁香五月,狠狠综合| 激情综合丁| 丁香六月婷婷综合在线| 婷婷色五月天在线观看| a毛片二逼wwwwwwwwww| 五月久久网| 99久久99九九99九九九| 99热这里只有精品最新网址| 亚洲操操操| 国产69久久久欧美黑人A片| 日本97在线看片| 婷婷五月丁香色播| 久久婷婷五月综合激情国产| 26UUU欧美激情一区二区| 久99热| 青青久久五月| 成人色站,在线视频,看片-SS1AV| 色五月色图| 丁香五月天啪啪| 色婷婷综合在线| 99久久亚洲精品视频| 色五月视频无码播放| 五月天亭亭俺也| 丝袜大香蕉| 超碰在线免费观看3 9| 色婷婷19| 色五月色五天免费视频| 精品欧美一区二区三区久久久| 国产伊人大香蕉| 天天肏夜夜肏| z色五月播播久久| 99在线精品免费视频| 婷五月天丁香婷五月| 99久久丝| 六月婷婷综合| 色色色婷| www.五月丁香| 欧美日本高清视频99| 99re热精品视频国| 26uuu| 色情婷婷久久五月天| 五月婷五月婷伊人伊人五月婷| 久久 视频这里只有精总| 五月婷网| 久草热在线视频| 99久久婷婷国产综合| 亚洲第二AV| 午夜美女人啪最红院| 97色在线观看视频| 婷婷综合亚洲| 色色色婷婷五月| 久久丁香网| 丁香色播五月天| 粉嫩av懂色av蜜臀av熟妇| 色吧网91| 色婷婷五月在线| 五月激香蕉网| 五月婷婷综合潮喷| 丁香婷婷色情| 99re久热只有精品6在线直播.com| 激情五月婷婷色播网| 熟女人妻一区二区三区免费看| 久久99看免费| 激情五月综合网最新| 久久久久久久久久久月丁| 亭亭五月激情亚洲在线| 91人人妻人人操人人爽| 天天做夜夜爽| 超碰免费大香蕉| 色婷五月天| 久久在线大香蕉| 亚洲成Av人片乱码色第1集| 色五月天在线| 色婷婷色九月| 五月婷婷啪啪| 伊人日日干| 日产精品一线二线三线芒果 | 日日夜夜小色哥| 乱精品一区字幕二区| 久热这里只有精品性色AV| 激情九月婷婷| 五月丁香六月婷婷不卡免费无码 | yazhoujiqingav| 99色视频在线观看| 91xxxx九色| 五月天综合在线观看视频| wuyuedingxiang| WWW.婷婷| 婷婷综合色色| 九九操屄| 激情久久久久久| 久久9视频欧美| 五月天啪啪| 五月丁香美女视频| 亚洲综合视频八| 97热这里只有精品| 丁香色六月婷婷| www久久久久久久久久久| 丁香五月亚洲综合| av国产精品偷| 99re6在线视频精品免费| 天天爱天天做综合| 成人免费高清在线播放| 大香蕉AV在线| 六月激情久久| 日日干日日s| 97人人妻人人艹| 婷婷激情社区| 五月丁香爱婷婷深深| 青青草国产亚洲精品久久| 婷婷五月天免费| 麻豆忘忧草午夜| 极品另类| 伊人午夜综合色啪| 久久婷婷六月综合| 久久机热探花| 成人做爰A片免费看网站找不到了 噼里啪啦在线观看免费完整版视频 | 丁香 婷婷 激情 综合 五月| 五月婷综合| 91色婷婷综合久久中文字幕二区| 亚洲成人综合网在线免费观看| 日本婷婷| 亚洲五月天狠狠| 久久9RE热视频精品98| 丁香婷婷五月综合色情| 久久人妻久久| 色五月激情综合| 免费AV在线| 香蕉AV福利精品导航| 六月婷婷中文字幕| 久久人妻高清中文| 婷婷五月天777| 亚洲超级碰| 激情五月天婷婷视频| 黄网在线观看免费| 五月婷婷综合成人| 日比网免费国产| 色女人久久| 天天色天天噜| 色婷丨日丨天丨综合久久| 丁香五月黄色| 高清 码 免费看片短视频| 四虎国产精品永久在线国在线| 日本色爽| 亚洲视色| 丁香六月婷婷一区二区三区| 亚洲日韩26uuu| 色五月婷婷色| 亚洲综合婷婷五月| 超碰人人艹| 99草在线免费观看视频| 开心激情网五月| 色色综合无码| 国产精品久久久久久白浆色欲| 狠狠色婷| 久热精彩视频98| 五月丁香亭亭| 亚洲精品V天堂中文字幕| 色射影院| 思思热视频在线观看| 激情六月色| 色婷婷丁香五月天激情综合网| 九九色中文| 91九色国产熟女| 亚洲不卡123| 激情综合网五月激情网| 激情网五月| 狠婷婷五月| 色青青视频| 99热网站在线观看| 青青草深爱激情网| 天天爽天天透天天爱| 色激情综合狠狠婷婷| 五月丁香综合啪啪| 这里只有在线精品| 婷婷五月天成人影片| 久草五月天电影网| 性99网站| 五月综合视频| 97色婷| 婷婷五月天黄色| 亚洲熟妇无码乱子AV电影| 色婷婷狠狠18| 九九热黄色| PORNY九色9l自拍视频成人| 丁香狠狠色婷婷| 五月天操逼网| 91碰碰| 精品一二三区久久AAA片| 婷婷五月天成人网| 婷婷综合久久综合| 午夜亚洲国产精品av一区二区| 久久久久久99精品无码| 99热免费网站| 久久精品五月天| 超碰操网| 丁香五月网| 五月丁香狠狠地噜噜噜噜| 婷婷五亚洲| 色综合色综合色综合色综合| 五月丁香av中文| 婷婷五月天电影网 | 久久激情中文| av在线免费网站| 日韩 中文 欧美| 99精品丁香五月| 2025天天日爽| 丁香五月久久| 九九99九九精品视频| 操人精品| 99热99思午夜精品| 99综合网| 午夜不卡久久精品无码免费| 九九人人看| 五月天色图| 五月丁香婷婷激情在线| 9久热在线视频精品| 免费观看的av| 99热在线看| 91久久久久久久久| 亚洲第一精品网站| 欧美色五月| 久99久视频精品| 97性视频| 99热这里只有精品搜| 综合99久久| 五月婷婷五月天| 婷婷五月在线| 丁香五月婷婷色五月| 色婷婷丁香社综合| 日韩十国产极品久久| 婷婷五月综合网| 免费观看全黄做爰的视频| 色吊丝av中文字幕| 丁香五月狠狠综合欧美| 99久久99九九99九九九| 亚洲久艹| 天天影视色综合网| 疯狂做受XXXX高潮A片| 亚洲久艹| 色J香五月天| 91九色精品熟女内射| 人妻中文字幕精品| 国产精品蜜臀99| 婷婷丁香十月| 激情av| 常久最新免费的色吊丝| 中文字幕日产A片在线看| 亚洲婷婷基地| 日日操夜夜爽| av最新在线| 五月婷婷丁香综合| 九热视频在线伦| 五月久久噜噜| WWW.国产| 千人斩操逼| 久久色情| 97操操操| 九九激情综合| 亚洲欧洲国产精品| 亚洲愉拍99热成人精品| 婷婷综合97| www99热| 国产伦亲子伦亲子视频观看| 国产精品五月丁香| 亚洲国产精品二二三三区| 久久草大香蕉| 久久婷婷伊人| 免费色色色| 99热这里只有精品青草| 99热乎| 97碰啪啪| 思思视频久久| 疯狂做受XXXX高潮A片动画| VA色婷婷| 婷婷丁香六月天| 国产精品人妻欲求不满| 夜夜谢天天干| WWW五月天| 俺去也婷婷| se色99| 色五月婷婷五月天| wwccc久久久| 激情婷婷五月天| www.91.com处女在线直播| 天堂A∨在线| 天天看A片| 婷婷丁香97| 久久99久久99精品免观看粉嫩| 五月花婷婷| 97黑人精品区| 五月色丁香| 99热福利| 毛片九九九九九九九九18| 色五月天视频| 好色婷婷| 色五月婷婷久久| 性日本激情| 狠狠狠狠狠狠| 日日.c| 久9免费视频| 欧日韩成人| 婷婷五月小说色综合| 五月婷婷六月天| 久久机热这里只有| 亚州操逼网| 天天操天天操天天操天天操天天操| 综合亚洲色色| 日韩有码一区| 日本高清久久| 九九色视频| 激情五月婷婷啪啪| 婷婷五月天成人网| 思思热在线视频精品| 色香蕉影院| 中文字幕无码人妻少妇免费视频 | 丁香五月婷婷综合视频| 99久久久精品| 日日天天干| 婷婷五月天亚洲天堂| 日韩aⅴ视频| 精品网站:999WWW| 99r这里只有精品哦| 五月天婷a在线| 色五婷婷开心缴| 久久激情网| 日本色色影片| 亚洲色啪| 97热这里只有精品| 丁香六月天婷婷色| 久色网址| 五月天丁香欧美激情| 色婷五月天| 5月婷婷性视频| 色天堂97| www.婷婷久久五月天| 91精品久久久久久| 噜噜色婷婷| www,五月天com| WWW色色色COM| 成 人片 黄 色 大 片| 丁香五月在线观看| 5月婷婷激情6月| 婷婷五月精品中文字幕| 亚洲在线网站| 国产亚洲成AV人片在线观黄桃| 九九久久网| mmm1717.6dbm人人爱人人操| 97视频.干com| 日本九九九九九九| 婷婷五月天综合久久日美女| 久久AAAA片一区二区| 91精品久久久久久久久| 2025天天操| 丁香六月色婷婷欧美| 久一网站| 男人天堂 久久| 国产真实乱了老女人视频| 婷婷精品在线| 91凹凸在线| 天天干狠狠艹| 丁香色五月婷婷91桃色| 六月香五月婷| 五月亭亭激情综合| 婷婷丁香六月影视| 99热99思午夜精品| 九九热九九热精品| 欧美久草在线日本一级特黄大片做受9在线观看韩国电影《两个女人》未删减-毛片 | 99久热在线精品| 五月婷婷综合影院| 综合玖玖偷拍| 97五月婷婷| 99热九九九九| 草榴视频黄色网| 大香蕉在九| 日日夜夜干| 久久久久久人妻| 九九99在线免费在线观看视频| 久久99热这里只有精品| 色色色综合色| 婷婷刺激综合| www,久久久| 99热主页日本| 操操碰| 性一交一乱一交A片久久四色| 女人天堂AV| 五月婷婷深深爱| 狠狠插狠狠插| 日韩av在线电影| www.97碰碰com| 精品网站:999WWW| 五月天丁香婷| 99热色精品| 人妻少妇色综合| www.婷婷| 久爱综合| 欧美人人超级碰| 五月婷免费视频| 大香蕉七区| 久久久jd| ri电影在线| 久久伊人日日夜夜| 国产精品香蕉| 激情四射网| 伊人五月天在线| 五月丁香婷婷色| 桃色成人网| 色色热日| 日本色婷婷| 狠狠夜夜五月丁香| 99无吗| 曰曰久久| 色五月激情五月| 91操女| 91九色在线视频| 99色在线视频观看| 狠狠激情五月天| 丁香综合婷婷五月天| 啪啪激情网| 91操人| 在线亚洲综合网| 午夜九九九九九九九九九九九九九| 91丨九色丨国产打屁股| 99热这里有精品2| 五月婷婷激情综合av| 日韩成人免费电影| 青青久久五月天丁香婷婷| 日本人人草草| 婷婷五月丁香成人| 日韩成人AV在线| 成人做爰高潮A片免费视频| 五月丁香亭亭AV女优| 亚洲天堂久久| 六月丁香VA| 婷婷六月啪啪| 91丨九色丨老农村| 九九热99精品| 激情五月婷婷网| 亚洲色99综合天堂| 韩日在线熟女| 九九青草热| 8090在线影视少妇| 久久99久久久久久| 超碰高清在线| 91狼友视频在线观看| 色婷婷欧美| 五月花丁香婷婷| 任你艹| 色五月婷婷91在线| 亚洲天堂AAA| 亚洲成人AV在线观看| 五月丁香婷婷欧美色图视频五月丁香777电影 | 婷婷丁香激情五月天色色色| 99视频内射三四| 夜夜爽天操| 五月天激情小说网| 色婷婷av在线| 无码色| 日韩黄色中文字幕| 久久老码第一| 大香蕉久久| 99热99| 天天操夜夜肏| 九九九九操逼| 色爱99| 婷婷精品在线| 91久久九久久九久久九久久九久久| 六月丁香婷婷开心综合基地| 99热这里都是精品| 99久久66| 综合网天天| 另类亚洲2| 婷婷五月花| 92久操视频| 狠狠操天天日| 久热婷婷综合| 青青草蜜臀| 五月丁香色情| 激情五月天婷婷免费观看| 97干网站| 激情婷婷色色| 九月婷婷| 天天天天天天天干| 99热超碰在线| 婷色成人| 精品爱欲五| 天天操夜夜夜拍拍拍| 欧美精品999| 在线视频色五月| 人人爱人人草| 色婷婷丁香五月天在线视频| 一本大道熟女人妻中文字幕在线| 久久午夜理论| 99综合五月免费视频色婷婷| 色天天综合| 五月九九综合| 能看的av| 婷婷五月天色| 大地9中文在线观看免费高清| 狠狠色婷婷在线| 亚洲五月天激情| 婷婷五月天美女| 激情综合五月天| 五月久久噜噜| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 免费观看全黄做爰的视频| 婷婷五月天亚洲天堂| 少妇水多A片太爽了| 久久成人精品视频| 国产免费一区二区三州老师F1F1……| 亚洲婷婷久久综合| 婷婷放心五日爱| 最近中文字幕大全免费版在线 | 五月丁香六月婷综合成人综合| 精a品a视a频| BBWCUCKOLD精品熟妇| 五月丁香亭亭天天舔| 曰本aaaaaa丈片| 丁香六月婷婷久久综合| 婷婷久久五月| 狠狠色综合图片| 色玖玖综合| 五月天婷婷基地丁香| 成人无码精品1区2区3区免费看| 五月精品免费XXX| 艹天天射| 狠狠干综合| 亚洲色色香蕉| 天天开心天天色| 婷婷色五月大香蕉在线| 五月天婷婷网站888| 可以免费看av网站| aV欲望人妻中文字幕| 一级黄色影片| www.成人婷婷综合| 久久精品爱爱| 色婷婷综合在线| 激情婷婷五月| 亚洲天堂aaaa| 天天天天天色| 婷婷99中文字幕| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | WWW.99热| 97人妻碰碰中文无码久热丝袜| 国产毛片精品一区二区色欲黄A片| AV人人操| 三十路磁力链接| 亚卅毛片| 99精品手机在线视频| 国产午夜一区二区三区| 丁香六月成人| 婷婷涩涩网| 在线观看亚洲视频影院| 在线综合亚洲欧美65| 丁香六月欧美| 天天综合 99久久婷婷| 成人五月天在线视频在线观看| 青青日韩| 婷婷五月天综合久久日| 国产午夜精品AV一区二区麻豆 | 婷婷五月丁香性爱| 嫩草AV久久伊人妇女超级A| 婷婷97碰碰| 丁香五月婷久久| 天天日天天摸天天| 影音先锋按摩| 97人人看| 1024成人在线观看| 日韩 mm 不卡| 五月色亭丁香| 97色精品视频| 日欧一片内射VA在线影院| 91九色国产| 九九热这里只有精品6| 蜜乳国产网站| 色五月丁香婷婷综合| 五月久久五月激情| 任你爽视频| 国产精品电影网| 99国产欧美视频| 毛片九九九九九九九九18| 色婷五月天| 人人草人人舔| 婷婷五月天社区| 丁香五月激情综合| 99热最新网址| 五月天激情国产综合婷婷| 开心五月综合激情网| 婷婷五月色| 六月丁香网| 亚洲最大视频| 天天综合色| 噜噜视频| 婷婷成人AV| 五月婷婷影院| w婷婷五月婷婷w| 五月丁香久人妻中文| 区美毛片子| 久久狼人天堂| 国产色色视频| 无码激情AAAAA片-区区| 黄色网址五月婷婷| 99视频日韩| 大香蕉丁香| 色婷婷综合影院| www.五月丁香| 99久久久久| 五月天天天综合| 色天天久婷婷| 直接看的AV网站| 高清无码入口| 五月激情啪啪| 202丰满熟女妇大| 大香蕉久久视频久久视频| 久久五月天 91| 91无码高清| 色欲婷婷五月天| 热99精品视频在线观看| 天天开心AV色综合婷婷五月天| 婷婷五月天视频在线观看| 激情五月丁香六月婷婷| 色色国产| 国内外色色色色色成人视频| 狠狠爱青青草| 啪啪色区| bbwcuckold精品熟妇| 天天天日天天天干| 99综合自拍| 婷婷爱五月| 99色嘟嘟精品网站| 欧美综合123区| 日本五月婷婷久久久六月丁香| 天天舔日日肏夜夜爽| 五月丁香六月激情视频| 色色五月丁香| 思思干精品| 秋霞A V毛片| 久久五月婷综合网| 少妇性按摩无码中文A片| 久久狠狠干| 大香蕉在线99热| 99re热在线观看| 夜夜天天久久婷婷| 91免费看片| 国产99久久久国产精品免费看| 人妻操日日| mmm1717.6dbm人人爱人人操| 五月丁香综合网| 熟女人妻一区二区三区免费看| 天天久久婷婷| 成人婷婷桔色| 五月丁香六月婷婷久久肏| 欧美丰满熟妇BBB久久久| 97干婷婷| 五月婷久久在线| 99热九九热| 激情婷婷黄色五月| 色国产五月| 啪啪激情综合| 91人人爽人人操| 99精品久久久久久久婷婷久久| 思思久久精品| 亚洲综合五月天婷婷丁香| 国产44页| 亭亭社区五月天| 亚洲va成人va成人va在线观看| 狠狠干在线| 国产精品久久久爽爽爽麻豆色哟哟| 色婷婷天堂| 99在这里有精品| 超碰在线91| 五月天丁香网站| 成人丁香五月| 婷婷伊人综合| 6080av| 久热这里只有精品6| 一二区成人电影| 热99精品视频| 91妻人人爽人人看片| 天天爽天天爽天天爽天天爽天天爽| 天天人人人人人人人人人人人| 97爱艹婷婷开心丁香激情综合| 婷婷五月蜜桃成人桃色丁香| 秋霞性爱AV| 六月丁香婷婷色狠狠久久| 五月婷婷AV| 91人妻九色大屁股| 精品少妇蜜臀91| 狠狠精品干练久久久无码中文字幕| 中文字幕成人| 色五月婷婷久久| 欧美色色色色色色色| 婷色五月| 99热亚洲精品| 大香蕉综合网| 热久久99热欧美国产亚洲| 久久网日本| 97碰碰人人| 97婷婷狠狠| 日韩无码成人电影| 五月丁香免费视频| 91精品综合久久久久久五月丁香| 五月天激情图片| 色色吧综合| 超碰人人干| 综合激情站| 国产亚洲99| 操碰91| 停停色综合伊人| 熟女人妻一区二区三区免费看| 婷婷丁香久久五月综合| 中文字幕 中文字幕明步| 激情激情激情网| av免费在线观看0| 亚洲婷婷免费| 91精品久久久久久久久久久久| 欧美日韩123| 玖玖国产视频一区| 久久精品国产一区二区三区四区| 五月婷婷五月天天| 9久热在线视频| 大香蕉久久婷婷精品综合| 久久久.COM| 亚洲人人操| 婷婷六月中文字幕| 日笨久久网| 99热碰碰热| 五月婷婷偷| 99热10在线高清播放| 五月丁香六月婷婷啪啪| 婷婷五月激情网| 欧美搡BBBBB摔BBBBB| 亚洲免费99| 爆乳熟女一区二区三区爆乳| www激情| 伊人五月网| 色五月天丁香婷婷色| 97人妻碰碰中文无码久热丝袜| 六月丁香五月激情亚洲AV| 国产五月视频| 久久hd| 99热日韩这里只有精品| 丁香五月婷婷操逼| 男女99免费视频| 婷婷五月天视频在线观看| 五月天丁香综合在线| 五月天色不卡| 欧美日本va| 金桔一区二区ab地址| av在线免费播放观看| 一级精品999WWW| 婷婷五月天激情综合| 一起草aV| 八戒青柠影视剧在线观看| 激情亚洲网| 操碰91| 色五月婷婷丁香凹凸| 九九精品99| 亚洲中文乱字字幕线在永久| 99热大香蕉| 99精品丁香五月| 久久综合五月天| 操一操插一插| 99热超碰| 久久香蕉婷婷| 99精品国产乱码久久久人妻| www.五月天婷婷| 久色中文| 亚洲五月天色| 99精品国产在热久久婷婷| 99原创自拍视频在线观看| 人人97碰| 色色网站免费| 久久性爱视频免费| 97操在线视频| 美国天天操无码| 国产欧美性成人精品午夜| 亚洲AV人人操| rr天天操| 麻豆五月丁香婷婷| 色之综合网| 激情六月婷婷| 日韩伊人大香蕉| 大香蕉福利导航| 99国产精品久久久久久久久久久 | 91九色中文字幕女在线观看| 天天xxxxxx天天日| 色婷婷丁香五月在线| 九九热AV| 九九精品综合| 青青久久大香蕉| 婷婷五月天淫荡| 天天做天天爱天天高潮| 丁香六月婷婷久久综合| 欧美日本国产欧美日本韩国99| 婷婷五月天堂一本在线| 天天爽天天爽夜夜爽| 99成人网站| 99久久丝| 综合久久婷婷五月丁香| 五月激情视频| 九九激情网| 丁香五月婷婷基地| 九九色影院| 操操人人| 久久婷婷激情| 99久久九九| 色色色五月婷婷| 99综合视频一体| 激情五月综合网最新| 五月丁香婷婷色色色| 激情亚洲婷婷| 五月丁香网站| 久草性爱| 99热最新网址| 少妇丁香婷婷 | 99久久超级| A片天天| 国内精品免费一区二区2009| 久久九九99视频| 婷婷五月丁香99| 五月婷婷丁香综合,亚洲天堂| 亚洲AV成人无码精品| 日韩aⅴ视频| 国产色香蕉精品五夜婷| 丁香 亚洲 久久| 九九热re99re6在线精品| 国产婷婷五月天| 日日噜狠狠| 国产99美少妇| 丁香婷婷啪啪啪| 很很干夜夜干| 久久98热re| 91久久婷婷| 亚洲无码99| 五月天福利影院导航| 欧美三级大片AA在线看| 综合激情专区| 激情五月综合| 26UUU亚洲欧美| 激情五月天激情综合网| 久热亚洲| 婷婷欧美| 久婷狼色诱惑在线| 五月天狠狠色| 丁香五月婷婷深爱综合激情| 五月丁香六月婷婷不卡免费无码 | 色色丁香色五月| www.99久| 婷婷五月天日日日干干干| 直接看的AV| 91九色丨国产丨爆乳| 免费AV播放| 色婷婷激情Av久久久| 五月间天堂综合| 99视频超级精品| 色偷偷狠狠| 超碰三级片| 五月天激情小说| 九九色情网五月天| 婷婷五月av| 日日夜夜小色哥| www.超碰在线| 8090在线影视少妇| 大香蕉 伊人夜| 深爱 五月天| 丁香五月成人av| 九九久久99| 久久久久久久五月| 婷婷六月丁香综合| 99热在线观看免费精品| 激情五月天网| 五月婷婷综合影院| 丁香六月婷婷高清| 综激情网| 五月丁香色欲| 综合亚洲六月婷婷在线| 色五月婷婷丁香五月| 婷婷丁香18| 大香蕉啪啪啪啪啪啪| 天天色一道本综合婷婷| 久久久久人妻| 狠狠久久婷五月综合色| 亚洲精品视频在线| 丁香婷婷成人网| 狠狠操综合| 欧美图片丁香五月天| 26uuu欧美亚洲日韩| 久久99精品九九久久久婷婷| 久久婷鲁| 丁香六月中文| 大香蕉久操| 日韩激情网站| 色五月视频无码播放| 99热这里只有精彩| 大香蕉免费9| 婷婷视频在线| 欧美日韩精品人妻狠狠躁免费视频| 欧美色图天堂网色| 狠狠色综合网站久久久久| 男女啪啪做爰高潮无遮挡| 伊人久久大香网| 婷婷社区五月天| 99热人人艹| 色色婷五月天| 婷婷五月天小说| 国产精品视频| 亚洲五月婷婷| 色色色1网址| www.minyis.com【JT】国内CDN落地页保证转化QQ2101460746 | 亚洲狠狠狠| 8090在线影视少妇| 天天做天天爱天天日| 91视频精品99| 99九九中文字幕视频| 99色色色色| 久久99草五月婷婷| 天天天天做夜夜夜夜做| 国产AV一区二区三区日韩| 激情无码五月天| 天天色视频| 色综合婷婷| 色情综合| 91热在线| 六月丁香久久| 激情综合网址| 日韩 中文 欧美| 91porn一起草| 久久婷婷五月综合激情国产| 草榴视频网| 丁香五月激情五月| 丁香五月开心亚洲| 中文字幕综合| 五月婷婷欧美| 99热在这里只有精品| 久99视频| 天天日天天爽| 激情五月婷婷欧美极品 | 夜夜骑夜夜撸| 精品99这里有| 丁香五月色| 天堂五月婷婷| 五月婷婷香蕉视频| 激情五月天无人视频在线| 五月天婷婷激情四射综合| 色色色色av色色色色| 激情婷婷五月天丁香| 射久久丁香五月| 99九九玖玖| 欧美99| 九九热这里都是精品6| AA片在线观看视频在线播放| 五月婷婷色丁香| 久久视9精| 人人草人| 情色五月天网站| 日韩啪啪视频| 美女激情婷婷| 丁香五月久久社区| 人妻激情综合| 九九热这里有精品23| 国产麻豆视频| 99久久6| 色五月婷婷av| 丰满少妇猛烈A片免费看观看| 精品成人无码A片观看香草视频| 日噜噜色| 成人在线网| 五月亚洲激情| 亚洲精品另类| 丁香五月日韩| 夜夜www| 中文字幕+中文在线| 激情五月天噢美| 国产肥白大熟妇BBBB视频| 韩国三级五月天婷婷。| 色欲九区| 亚洲精品又粗又大又爽A片 | 日韩视频99| 激情久久久| 五月激情四射网站| 91色噜噜狠狠狠狠色综合| 亚洲五月婷婷在线| 久久sp免费视频| 五月丁香久久| 美女丁香五婷婷| 狠狠色丁香久久久婷| 亚洲色图五月丁香五月婷婷| 超碰99热| 丁香婷婷综合激情五月色| 日本婷久久| 日日干四虎| 五月婷婷激情| 热99热9| 五月婷婷另类| 超级碰 久久9| 国产色色视频| 久久久噜噜噜久久人妻| 国产VA播放| 精品99在线观看| 国产69精品久久久久999小说| 99热网址| 操逼棍操逼| 国产精品久久久99视频| 天天艹| 免费看成人AA片无码视频吃奶| 无码动漫av| 夜夜夜叫天天天做| 五月丁香综合激情| 一起草aV| 日韩在线看AV| 九九99久久| 五月丁香影院| 五月丁香五月天现场视频| 久久激情视频| 97黑人精品区| 嫩草哈哈操| 亚洲亚洲人成综合网络| 91丨九色丨东北熟女| 成年人最刺激的综合网| 色情五月天婷婷| 深爱丁香网| 日韩不卡DvD| 色欧美日| 9久热视频| 色色色色色色色色色影院| 激情小说在线视频| 色玖玖爱| 天天干天天爽| 色五月色五天免费视频| 六月丁香婷婷在线波多| 婷婷五月丁香高清无码| 99啪啪| 996er热| 婷婷操超碰| 婷婷丁香五月色偷偷| 涩五月丝袜婷婷| www91色网站| 婷婷中文字幕网站| 丁香五月激动深爱欧美| 中文字幕无码人妻少妇免费视频| 夜夜操夜夜操| 大香蕉久久| 午夜成人AV在线| 狠狠人妻色综合| 久久久久久9| 99热综合在线| www.91.com黄| 国产成人在线精品| 日本啪啪网| 日韩黄黄| 日日爽日日| www.激情五月| 久久这里只有精品热在99| av免费在线网站| 三级三久久线久久99久目本WW| 国产日韩欧美性爱| 九九热这里只有精品6| 中文av网站| 99色在线| 玖玖99免费视频| 粉嫩av懂色av蜜臀av熟妇| 九九五月天| 这里只有精彩视频| 操一操干一干| 少妇性按摩无码中文A片| 亚洲视频在线观看| 2025神马午夜福利| 91av无码| 婷婷五月天久久综合88| 97香蕉久久超级碰碰高清版| 色999五月色| 天天搞夜夜六| 亚洲性图一区二区| 五月天色婷婷网| 五月天婷婷丁香基地在线观看| 日本久久精品18| 97色婷婷| 丰满女老板BD高清A片| 久cao香蕉影院| 亚洲激情五月| 日本综合色色| 婷婷成人在线| dingxiangtingtingliuyue| 久久五月天婷婷| 五月停亭六月,六月停亭的英语| 日本色色色| 久久97久久99久久综合欧美| 男人的天堂99| BT综合在线视频观看| 婷婷五月激情网站| 色色网站免费观看| 九九在线视频| 午夜丁香| 91九色PORNY大屁股| 色噜噜97视频在线观看| 六月婷婷六月天天在线免费| 天天草天天日| 久99在线视频| 情欲禁地| 神马欧美精| 丁香 婷婷五月| 色丁香五月| 99精品视频网| 免费观看日韩成人av| 国产99久久久| 美国天天日天天操| AV在线大香蕉| www.色五月| 婷婷六月综合| 激情图片婷婷| 99无码| 精品无码久久久久久久久| 欧美日韩五月婷婷| 综合在线网| 激情色色色| 丁香五月激情综合| 日韩无码乱轮| 婷婷开心青青草| 成人网在线视频| 精品人妻一区二区三区在| 日本啪啪网| 婷婷五月图片小说视频| AA丁香综合激情| 色99免费视频中文| 国产视频久色| 91视频一起草| 91/九色黑人| 婷婷丁香色五月天久久88| 丁香五月影院| 丁香五月天堂婷婷| 操操操操操操婷婷五月天| www.久热| 久草婷婷网 | 色综合大香蕉| 婷婷开心久久| www.久久| 久热AA| 婷婷十月激情综合网| 人妻丰满精品一区二区A片| 狼友超碰| 狠狠干综合网| 亚洲日本韩国| 99热99成人| 激情五月天啪啪| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 99久久99视频只有精品| 日韩欧美成人片| 奇米影视777在线_在线观看午夜_h小视频在线观看_岛国大片 | 九九RE视频在线精品| 色色亚洲视频| 婷婷激情六月中文| 五月天色官网| 免费黄色片子| 亚洲精品影视| 欧洲亚洲午夜| 五月天激情综合网| 婷婷五月天BBw| 五月丁久久| 99re思思精品视频在线观看| 亚洲日日操| 激情婷婷丁香五月天| 我去色色网五雨天| 大香蕉75线| 六月丁香色婷婷| 日本WwW色偷偷丁香花久久久京东热| 这里只有精品99视频| 这里只有精品1| 五月丁香婷婷啪啪| 久久久网站| 大香蕉久艹| 99这里有精品视频| 五月婷婷亚洲| 亚洲 视频 导航 一区| 日本97久久久精品| 色五月丁香婷婷久草| 日韩精品99久久| 色综合色| 色婷婷91| 毛片新网地| 99久.| 欧美婷婷综合| 欧美色色色色色色色色色色影视|