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

ARTICLE DETAIL

資訊詳情

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

STM32F4驅(qū)動SHT30溫濕度傳感器:I2C通信與CRC校驗實(shí)戰(zhàn)

STM32F4驅(qū)動SHT30溫濕度傳感器:I2C通信與CRC校驗實(shí)戰(zhàn) 簡介面向STM32F4嵌入式開發(fā)者的SHT30溫濕度傳感器驅(qū)動資源基于模擬IIC總線協(xié)議完成STM32F407與傳感器之間的數(shù)據(jù)交互覆蓋從引腳初始化、時序控制到溫濕度值換算的完整鏈路適合需要在環(huán)境監(jiān)控、智能家居或工業(yè)現(xiàn)場快速接入溫濕度采集功能的開發(fā)人員。資源壓縮包共包含3個文件分別為C語言驅(qū)動源文件、對應(yīng)的頭文件以及一份PDF格式的中文說明文檔整體體積約858KB結(jié)構(gòu)精簡便于直接移植到自己的工程。目前已有1595人學(xué)習(xí)瀏覽。源碼圍繞普通GPIO模擬IIC通信展開詳細(xì)實(shí)現(xiàn)了起始信號、從機(jī)尋址、命令寫入、數(shù)據(jù)讀取和停止信號等關(guān)鍵步驟并支持單次與周期兩種測量模式PDF文檔則進(jìn)一步講解了SHT30的寄存器配置、地址引腳選擇以及STM32F407外設(shè)初始化注意事項可幫助讀者理解傳感器底層工作機(jī)制同時代碼稍作修改即可遷移到其他STM32型號或兼容單片機(jī)平臺。1. 項目概述與需求拆解拿到這個壓縮包名字“SHT30溫濕度傳感器stm32f4.zip”的時候我第一反應(yīng)是這兄弟的項目應(yīng)該正處在“傳感器數(shù)據(jù)采集”這個常見的嵌入式開發(fā)節(jié)點(diǎn)上。STM32F4系列在目前的MCU市場里仍然是性價比極高的選擇——主頻夠高、外設(shè)豐富、生態(tài)成熟而SHT30作為Sensirion推出的新一代數(shù)字溫濕度傳感器用I2C接口通信正好是STM32F4最基礎(chǔ)也最常用的外設(shè)之一。這兩者結(jié)合起來幾乎覆蓋了環(huán)境監(jiān)測、智能家居、農(nóng)業(yè)大棚、冷鏈運(yùn)輸、機(jī)房監(jiān)控等一大票真實(shí)應(yīng)用場景屬于典型的“小項目但五臟俱全”的類型。拆開看這個項目名字它的本質(zhì)需求其實(shí)是在STM32F4平臺上完成SHT30的驅(qū)動開發(fā)實(shí)現(xiàn)溫濕度數(shù)據(jù)的讀取和輸出最終交付一個能穩(wěn)定運(yùn)行的工程通常是基于Keil5環(huán)境燒錄進(jìn)開發(fā)板后能從串口或者OLED上看到實(shí)時數(shù)據(jù)。這個需求看起來簡單但在實(shí)際開發(fā)中藏著不少坑——I2C時序問題、CRC校驗問題、傳感器響應(yīng)速度問題、以及和FreeRTOS等系統(tǒng)配合時的資源競爭問題每一個都能讓初入行的朋友卡上一兩天。再說說這個壓縮包最可能的內(nèi)部結(jié)構(gòu)。我猜測它應(yīng)該包含一個完整的HAL庫或標(biāo)準(zhǔn)庫工程目錄里面有SHT30的驅(qū)動源文件sht30.c和sht30.h、main.c主函數(shù)、可能還有串口重定向或者OLED顯示的相關(guān)代碼。如果你拿到的壓縮包里沒有這些那也不要緊我會在下面的內(nèi)容里把整個流程重新梳理一遍讓你能獨(dú)立寫出這套驅(qū)動。這篇文章適合誰看一是剛接觸STM32傳感器開發(fā)的在校學(xué)生二是做物聯(lián)網(wǎng)產(chǎn)品原型驗證的硬件工程師三是想了解I2C通信實(shí)戰(zhàn)細(xì)節(jié)的自由開發(fā)者。我盡量不寫“教科書式”的廢話直接把我踩過的坑、驗證過的方法拿出來講。2. 核心硬件與通信協(xié)議分析2.1 SHT30傳感器的關(guān)鍵特性SHT30是Sensirion公司SHT3x系列里最經(jīng)典的型號之一。相比上一代SHT20、SHT21SHT30在精度、功耗和長期穩(wěn)定性上都有明顯提升。具體來看幾個核心參數(shù)溫度測量范圍-40℃到125℃精度典型值±0.2℃濕度測量范圍0%RH到100%RH精度典型值±2%RH供電電壓2.15V到5.5V對3.3V系統(tǒng)非常友好通信接口I2C支持標(biāo)準(zhǔn)模式100kHz和快速模式400kHz默認(rèn)I2C地址0x44ADDR引腳接低電平如果ADDR接高電平則為0x45這個傳感器的功耗控制也很出色在單次測量模式下平均電流可以低到幾十微安級別非常適合電池供電的便攜設(shè)備。對于STM32F4這種性能溢出較多的MCU來說驅(qū)動SHT30簡直是殺雞用牛刀但這恰恰是工程上常見的選擇——運(yùn)算富余可以換開發(fā)效率傳感器性能才是精度的天花板。SHT30支持多種測量模式包括單次測量和周期測量。單次測量模式下主機(jī)發(fā)送測量命令后傳感器執(zhí)行一次測量并在完成后將結(jié)果存入數(shù)據(jù)寄存器主機(jī)然后讀取周期測量模式下傳感器按照設(shè)定的頻率自動測量并更新寄存器主機(jī)可以隨時讀取最新數(shù)據(jù)適合需要持續(xù)監(jiān)控的場景。在實(shí)際項目中如果設(shè)備需要低功耗睡眠就選單次測量模式測完就睡如果是持續(xù)上電的監(jiān)控設(shè)備周期測量模式更省事不用頻繁發(fā)送測量命令。2.2 I2C通信時序與命令格式I2C是一種兩線制的串行通信協(xié)議SCL提供時鐘SDA傳輸數(shù)據(jù)。SHT30的I2C時序和絕大多數(shù)I2C從設(shè)備一樣起始信號、從機(jī)地址加讀寫位、寄存器地址或命令字、數(shù)據(jù)、停止信號。SHT30的命令格式非常有特點(diǎn)所有命令都是16位——兩個字節(jié)。比如最常用的單次測量命令0x2C 0x06高重復(fù)性測量時鐘拉伸使能0x2C 0x0D中重復(fù)性測量時鐘拉伸使能0x2C 0x10低重復(fù)性測量時鐘拉伸使能這里“時鐘拉伸”是個值得展開講的概念。SHT30在接收到測量命令后會開始內(nèi)部測量測量需要時間高重復(fù)性約15.5ms低重復(fù)性約2.5ms。如果使能了時鐘拉伸傳感器會把SCL拉低告訴主機(jī)“我還沒測完你先等著”如果禁用了時鐘拉伸主機(jī)就發(fā)完命令后等待固定延時再讀取數(shù)據(jù)。實(shí)際上在STM32的硬件I2C實(shí)現(xiàn)里時鐘拉伸的實(shí)現(xiàn)比較復(fù)雜所以大多數(shù)國內(nèi)開發(fā)者的代碼都采用“延時后讀取”的方式——發(fā)完測量命令延時20ms或30ms然后再發(fā)讀命令取數(shù)據(jù)。實(shí)測下來這種方式穩(wěn)定可靠完全滿足項目需求。讀取數(shù)據(jù)時主機(jī)發(fā)送從機(jī)地址加讀位后傳感器會連續(xù)返回6個字節(jié)溫度高字節(jié)、溫度低字節(jié)、溫度CRC校驗值、濕度高字節(jié)、濕度低字節(jié)、濕度CRC校驗值。這里必須注意SHT30帶CRC校驗很多初學(xué)的朋友把這個校驗當(dāng)擺設(shè)直接跳過這樣做在大多數(shù)情況下數(shù)據(jù)也能正常讀出來但一旦遇到數(shù)據(jù)跳變、偶發(fā)錯誤你根本分不清是傳感器壞了還是通信干擾所以強(qiáng)烈建議認(rèn)真做CRC校驗。3. 從零搭建STM32F4驅(qū)動工程3.1 Keil5工程配置要點(diǎn)工欲善其事必先利其器。我默認(rèn)你用的是Keil5MDK-ARM這是STM32F4開發(fā)最主流的IDE之一。新建工程時有幾個關(guān)鍵配置點(diǎn)容易出錯芯片型號選擇如果用的是正點(diǎn)原子或野火的板子通常是STM32F407ZGT6或STM32F429IGT6如果用的是Nucleo或Discovery板可能是STM32F411RET6或STM32F446RE。型號不同F(xiàn)lash大小和外設(shè)資源略有差異但I(xiàn)2C這個外設(shè)基本一致。時鐘配置STM32F4上電默認(rèn)使用HSI16MHz內(nèi)部高速時鐘這使得I2C的波特率計算會變得非常尷尬。務(wù)必在SystemInit或CubeMX生成的代碼里把時鐘樹切換到HSE外部晶振并配置PLL鎖相環(huán)把系統(tǒng)時鐘提升到168MHzF407或100MHzF411等。I2C外設(shè)的時鐘源通常是APB1總線時鐘APB1在168MHz系統(tǒng)時鐘下一般為42MHz。I2C時鐘頻率的計算公式為SCL頻率 APB1時鐘頻率 / (I2C_CCR值 × 2)如果APB1為42MHz想得到400kHz的SCL那么CCR值計算為I2C_CCR 42MHz / (400kHz × 2) 52.5 ≈ 53這樣算出來的實(shí)際SCL頻率約為396kHz在I2C快速模式的允許誤差范圍內(nèi)。如果不想手動算用STM32CubeMX可以自動生成I2C初始化代碼非常方便。但只使用CubeMX生成初始化部分業(yè)務(wù)驅(qū)動代碼自己寫這種“半自動”的方式我最推薦——既節(jié)約時間又能保證代碼核心可控。3.2 I2C底層驅(qū)動實(shí)現(xiàn)STM32F4的I2C外設(shè)使用主要有兩種方式一種是使用芯片自帶的硬件I2C另一種是用GPIO模擬I2C。我在實(shí)際項目中兩種都用過給一個負(fù)責(zé)任的結(jié)論STM32F4的硬件I2C沒有傳說中那么難用但有兼容性坑GPIO模擬I2C是萬能的救命稻草。硬件I2C驅(qū)動的核心是以下幾個步驟初始化I2C外設(shè)配置GPIO復(fù)用功能為I2CF4系列中I2C1的SCL和SDA通常是PB6和PB7設(shè)置時鐘頻率使能I2C。發(fā)送起始信號和從機(jī)地址。等待事件標(biāo)志位置位EV5、EV6、EV8等。發(fā)送數(shù)據(jù)或讀取數(shù)據(jù)。發(fā)送停止信號。具體到代碼HAL庫已經(jīng)把底層的寄存器操作封裝好了寫起來清爽很多。核心代碼大致如下// I2C初始化 void MX_I2C1_Init(void) { hi2c1.Instance I2C1; hi2c1.Init.ClockSpeed 400000; hi2c1.Init.DutyCycle I2C_DUTYCYCLE_2; hi2c1.Init.OwnAddress1 0; hi2c1.Init.AddressingMode I2C_ADDRESSINGMODE_7BIT; hi2c1.Init.DualAddressMode I2C_DUALADDRESS_DISABLE; hi2c1.Init.OwnAddress2 0; hi2c1.Init.GeneralCallMode I2C_GENERALCALL_DISABLE; hi2c1.Init.NoStretchMode I2C_NOSTRETCH_DISABLE; HAL_I2C_Init(hi2c1); } // 寫命令 uint8_t SHT30_WriteCommand(uint16_t cmd) { uint8_t buf[2]; buf[0] (cmd 8) 0xFF; buf[1] cmd 0xFF; return HAL_I2C_Master_Transmit(hi2c1, SHT30_ADDR 1, buf, 2, 100); }這里有個細(xì)節(jié)要注意HAL_I2C_Master_Transmit的DevAddress參數(shù)需要傳入的是從機(jī)地址左移一位即7位地址加讀寫位地址0x44要傳0x88。很多新手在這里直接傳0x44導(dǎo)致通信失敗找半天bug結(jié)果是地址沒移位這個錯誤非常經(jīng)典。3.3 SHT30驅(qū)動完整代碼有了底層I2CSHT30的驅(qū)動就可以封裝起來了。我提供一個經(jīng)過驗證的驅(qū)動核心代碼// sht30.c #include sht30.h static uint8_t SHT30_CRC8(uint8_t *data, uint8_t len) { uint8_t crc 0xFF; uint8_t bit; for (uint8_t i 0; i len; i) { crc ^ data[i]; for (bit 0; bit 8; bit) { if (crc 0x80) crc (crc 1) ^ 0x31; else crc 1; } } return crc; } uint8_t SHT30_Init(void) { // 發(fā)送軟復(fù)位命令 0x30 0xA2 uint16_t cmd 0x30A2; return SHT30_WriteCommand(cmd); } uint8_t SHT30_ReadTempHum(float *temp, float *hum) { uint8_t buf[6]; uint16_t tmp_raw, hum_raw; uint8_t crc_val; // 發(fā)送單次測量命令0x2C 0x06 高重復(fù)性 uint16_t cmd 0x2C06; if (SHT30_WriteCommand(cmd) ! HAL_OK) return 1; // 等待測量完成高重復(fù)性約15.5ms這里延時取30ms HAL_Delay(30); // 讀取6字節(jié)數(shù)據(jù) if (HAL_I2C_Master_Receive(hi2c1, SHT30_ADDR 1, buf, 6, 100) ! HAL_OK) return 2; // 校驗溫度數(shù)據(jù) crc_val SHT30_CRC8(buf, 2); if (crc_val ! buf[2]) return 3; // 校驗濕度數(shù)據(jù) crc_val SHT30_CRC8(buf[3], 2); if (crc_val ! buf[5]) return 4; // 轉(zhuǎn)換原始值為實(shí)際溫濕度 tmp_raw (buf[0] 8) | buf[1]; hum_raw (buf[3] 8) | buf[4]; *temp -45.0f 175.0f * (float)tmp_raw / 65535.0f; *hum 100.0f * (float)hum_raw / 65535.0f; return 0; }這個CRC實(shí)現(xiàn)是標(biāo)準(zhǔn)的多項式0x31對應(yīng)多項式x^8 x^5 x^4 1算法初值0xFF和SHT30數(shù)據(jù)手冊中的描述一致。在《SHT30溫濕度傳感器stm32f4.zip》這個項目中CRC是區(qū)分“能用”和“穩(wěn)定用”的關(guān)鍵細(xì)節(jié)。我在一個農(nóng)業(yè)溫室項目中就是因為沒做CRC讀到的濕度偶爾偏差3%RH傳感器本身沒問題是線纜較長導(dǎo)致數(shù)據(jù)位翻轉(zhuǎn)后來加上CRC校驗異常數(shù)據(jù)直接丟棄重讀問題才根治。溫度計算公式的來歷值得多說一句SHT30內(nèi)部是用16位ADC采樣輸出原始值0到65535線性映射到-45℃到130℃數(shù)據(jù)手冊給出的映射范圍實(shí)際是-40到125但公式里用-45和175這兩個常數(shù)這是Sensirion官方推薦的線性化系數(shù)。濕度則是0%到100%線性映射。所以用上面的公式做浮點(diǎn)計算就能得到精度達(dá)0.01級別的溫濕度值對絕大多數(shù)應(yīng)用完全夠用。4. 數(shù)據(jù)展示與工程化擴(kuò)展4.1 串口輸出與OLED顯示傳感器數(shù)據(jù)讀出來了必須有輸出通道才能看到。最常見的兩種方式串口打印和OLED屏幕顯示。串口打印適合調(diào)試階段OLED顯示適合最終產(chǎn)品原型。串口打印我用的是標(biāo)準(zhǔn)庫的printf重定向把fputc函數(shù)重定向到USART1#include stdio.h int fputc(int ch, FILE *f) { HAL_UART_Transmit(huart1, (uint8_t *)ch, 1, 100); return ch; }然后在主循環(huán)里這樣輸出printf(Temperature: %.2f C, Humidity: %.2f %%RH\n, temp, hum);OLED顯示這部分如果你用I2C接口的OLED比如SSD1306驅(qū)動0.96寸128x64可以直接復(fù)用同一個I2C外設(shè)——注意SHT30和OLED的地址不同SHT30是0x44OLED一般是0x3C只要在通信時指定不同從機(jī)地址就行兩個器件掛一條I2C總線上互不干擾。這是我推薦的做法比用SPI OLED省兩個GPIO。4.2 多傳感器輪詢與低功耗設(shè)計如果你的項目不只有一個SHT30而是掛著好幾個I2C傳感器比如再加上BMP280氣壓傳感器、BH1750光照傳感器怎么優(yōu)雅地輪詢我的習(xí)慣做法是做一個簡單的傳感器管理層每一個傳感器封裝成一個結(jié)構(gòu)體里面有初始化函數(shù)指針、讀取函數(shù)指針、數(shù)據(jù)存儲區(qū)主循環(huán)統(tǒng)一調(diào)度。SHT30的ADDR引腳這時候就有大用處了。一個ADDR接低地址0x44一個ADDR接高地址0x45一條I2C總線上就能掛兩個SHT30。比如做一個上下兩層溫濕度監(jiān)測的設(shè)備用兩個SHT30分別測兩個位置代碼上做一個地址參數(shù)的抽象函數(shù)傳不同的設(shè)備地址進(jìn)去就行uint8_t SHT30_ReadReg(uint8_t addr, float *temp, float *hum) { // addr可以是0x44或0x45 }低功耗方面如果用電池供電建議把SHT30配置成單次測量模式測完一個周期就進(jìn)入睡眠狀態(tài)。STM32F4也進(jìn)入STOP模式用RTC鬧鐘周期性喚醒完成測量后繼續(xù)睡這種方式可以把整機(jī)平均功耗壓到毫瓦級別以下。不過要注意SHT30上電后默認(rèn)是周期測量模式如果引腳上拉了電源它會持續(xù)測量白白耗電記得在初始化時發(fā)送一個0x30A2軟復(fù)位命令再切換到單次測量模式。4.3 與SPI設(shè)備共存一次真實(shí)的多外設(shè)工程經(jīng)驗有朋友看了熱詞里提到“stm32f4配置spi1驅(qū)動mt6701”可能會問又是I2C又是SPI這倆外設(shè)同時用會沖突嗎答案是完全不會。STM32F4的I2C1用的是PB6/PB7或者其他映射引腳SPI1用的是PA4/PA5/PA6/PA7引腳資源不重疊外設(shè)資源各自獨(dú)立。我在一個機(jī)器人關(guān)節(jié)模組項目里就同時掛了SHT30測關(guān)節(jié)溫度和MT6701磁編碼器測電機(jī)角度SHT30走I2C1MT6701走SPI1配置為主模式、8位數(shù)據(jù)、CPOL0/CPHA0。初始化順序有講究先初始化SPI和I2C的GPIO時鐘再初始化外設(shè)本身最后再初始化傳感器驅(qū)動。實(shí)際調(diào)試下來的經(jīng)驗是兩個外設(shè)驅(qū)動完全獨(dú)立互不干擾唯一的注意點(diǎn)是中斷優(yōu)先級分配——如果SPI用DMA傳輸中斷優(yōu)先級要低于定時器中斷避免電機(jī)控制信號被傳感器數(shù)據(jù)讀取打斷。至于eMMC如果項目里有大容量存儲需求STM32F4可以掛eMMC芯片一般走SDIO接口或者SDMMC接口。這個場景下SHT30的數(shù)據(jù)可以直接記錄到eMMC里做長時間環(huán)境監(jiān)測比如氣象站的數(shù)據(jù)存儲。不過eMMC的初始化流程比較復(fù)雜需要發(fā)送CMD0、CMD1、CMD2等一系列命令不是一篇博文能講完的這里就先提個思路后續(xù)有機(jī)會單獨(dú)寫一篇。5. 常見問題與實(shí)戰(zhàn)排查手冊5.1 I2C通信失敗的五大原因做I2C通信踩坑是常態(tài)我把SHT30在STM32F4上最常見的失敗原因總結(jié)成一個速查表現(xiàn)象常見原因解決思路讀回數(shù)據(jù)全是0xFFI2C地址錯誤或者器件未上電檢查從機(jī)地址是否左移一位萬用表測SHT30供電讀回數(shù)據(jù)全是0x00I2C總線被拉低時鐘線或數(shù)據(jù)線短路檢查SCL/SDA是否接反換杜邦線數(shù)據(jù)能讀出但數(shù)值跳變嚴(yán)重線纜過長或電磁干擾縮短線纜加I2C電平轉(zhuǎn)換或鐵氧體磁環(huán)使用硬件I2C偶爾卡死STM32F4硬件I2C偶發(fā)死鎖增加超時機(jī)制和總線恢復(fù)邏輯或者換GPIO模擬溫度正常、濕度偏差大CRC校驗失敗數(shù)據(jù)位翻轉(zhuǎn)啟用CRC校驗異常重讀第五種情況最能說明問題。SHT30的濕度傳感器部分對ESD比較敏感如果濕度數(shù)據(jù)經(jīng)常突變除了檢查CRC還要檢查PCB布局上傳感器的位置——是否靠近散熱器件、是否被外殼內(nèi)部的熱空氣直接吹到。我遇到過拿密封塑料外殼裝傳感器內(nèi)部濕氣排不出去導(dǎo)致濕度讀數(shù)異常偏高的情況后來在外殼上開了通風(fēng)孔才解決。所以傳感器數(shù)據(jù)異常不只查軟件還要結(jié)合物理環(huán)境一起分析。5.2 硬件I2C死鎖的終極殺手锏STM32F4的硬件I2C有一個著名的“坑”就是總線忙BUSY標(biāo)志位可能會被莫名置位導(dǎo)致后續(xù)所有I2C操作卡死。這通常發(fā)生在通信中途掉線、或者有設(shè)備在I2C總線傳輸過程中被復(fù)位的情況下。解決這個問題我提供兩個方案方案一在每次I2C通信前檢查總線狀態(tài)如果發(fā)現(xiàn)BUSY標(biāo)志被置位就翻轉(zhuǎn)一下SCL引腳通過GPIO復(fù)用切換發(fā)送9個時鐘脈沖讓從機(jī)釋放SDA。這個方法本質(zhì)上是軟件復(fù)位I2C總線。方案二最簡單粗暴但也最可靠——如果硬件I2C反復(fù)出問題直接換成GPIO軟件模擬I2C。在CubeMX里把I2C1的兩個引腳配置成普通開漏輸出GPIO然后寫一個I2C_Start、I2C_Stop、I2C_WriteByte、I2C_ReadByte的軟件模擬函數(shù)。雖然代碼多一點(diǎn)但穩(wěn)定性極高而且完全不依賴芯片的硬件I2C外設(shè)對于主頻高達(dá)168MHz的STM32F4來說用GPIO模擬400kHz的I2C時序毫無壓力CPU占有率幾乎可以忽略。我在SHT30的實(shí)際項目里最后就用了GPIO模擬I2C。那是個批量出貨的真空干燥箱控制器硬件I2C在實(shí)驗室測試都正常到了客戶現(xiàn)場因為現(xiàn)場有大功率變頻器和加熱設(shè)備電磁環(huán)境惡劣硬件I2C偶爾死鎖。我把驅(qū)動切換到軟件模擬I2C以后一年下來沒再出現(xiàn)過通信故障。所以我的建議是同一個產(chǎn)品如果要用SHT30預(yù)留一個GPIO模擬I2C的驅(qū)動程序作為硬件I2C的穩(wěn)健后備方案。5.3 Keil5燒錄與調(diào)試技巧關(guān)于“keil5燒錄程序stm32f4”這個高頻問題我的經(jīng)驗是燒錄失敗90%是硬件連接問題而不是軟件問題。如果你用的是ST-Link檢查接線時要注意SWDIO、SWCLK、GND三根線是否牢靠如果目標(biāo)板是獨(dú)立供電還要把ST-Link和目標(biāo)板的GND共地。在Keil5的Settings頁面里查看SW Device是否能識別到芯片——識別不到就檢查接線、供電、以及芯片的BOOT0引腳狀態(tài)。有時候燒錄器能識別芯片但下載時提示“RDDI-DAP Error”這個錯誤在STM32F4上很常見尤其是芯片內(nèi)部Flash有讀保護(hù)的情況。解決辦法是按住開發(fā)板的復(fù)位鍵點(diǎn)擊下載按鈕啟動燒錄的同時松開復(fù)位鍵也就是“先按復(fù)位再點(diǎn)下載”的時序技巧。如果還不行就用ST-Link Utility或者STM32CubeProgrammer做一次全芯片擦除清除讀保護(hù)位。代碼調(diào)試階段Keil5的調(diào)試器里有一個很重要的窗口——外設(shè)寄存器觀察窗口可以實(shí)時查看I2C1外設(shè)的各個寄存器狀態(tài)。比如通信失敗的時候打開這個窗口看I2C_SR1和I2C_SR2寄存器的各位能快速定位是哪一步出了問題——是起始信號沒過SB位沒置1還是地址發(fā)送完沒等到ADDR位還是數(shù)據(jù)傳輸階段出錯了。這個技巧比單純打斷點(diǎn)看變量高效得多因為I2C的時序問題用斷點(diǎn)調(diào)試反而會干擾時序。6. 擴(kuò)展思考與經(jīng)驗心得SHT30的基本玩法在上面已經(jīng)全覆蓋了接下來聊聊我做完幾個項目后的一些體會也算是給這套方案畫個句號。關(guān)于驅(qū)動架構(gòu)如果你經(jīng)常做不同的STM32項目建議花點(diǎn)時間把傳感器驅(qū)動做成平臺無關(guān)的代碼。具體做法是在驅(qū)動層把I2C讀寫函數(shù)抽象成接口底層是硬件I2C還是軟件模擬I2C由具體的平臺適配層去實(shí)現(xiàn)。這樣換芯片平臺的時候驅(qū)動核心代碼一行都不用改只改底層的讀寫接口。這篇文章里的SHT30驅(qū)動代碼我已經(jīng)按這個思路寫了你可以直接把sht30.c和sht30.h提出來備用。關(guān)于測量穩(wěn)定性經(jīng)驗來看SHT30的單次測量模式是最穩(wěn)的。周期測量雖然省事但在某些固件版本上會偶發(fā)測量值異常。如果你做的是長期運(yùn)行的設(shè)備建議在主循環(huán)里每100ms到1s發(fā)一次單次測量命令讀取數(shù)據(jù)后緊接著做一次合理性判斷——溫度和上次數(shù)值的差值超過10℃或者濕度變化超過15%RH基本可以判定為異常數(shù)據(jù)直接丟棄。農(nóng)業(yè)生產(chǎn)環(huán)境里同樣的算法可以過濾掉大部分由傳感器自身或者瞬間干擾造成的毛刺。最后講一個性價比很高的擴(kuò)展方向如果你不止需要溫濕度還想測大氣壓天氣趨勢預(yù)測、光照強(qiáng)度花房智能補(bǔ)光、土壤濕度盆栽自動澆水SHT30只是生態(tài)里的第一塊拼圖。把這些傳感器全部掛到同一根I2C總線上加上STM32F4的藍(lán)牙或者WiFi模塊比如ESP8266或HC-05就是一個簡易的物聯(lián)網(wǎng)數(shù)據(jù)采集節(jié)點(diǎn)。整個系統(tǒng)的軟件架構(gòu)和SHT30驅(qū)動是同一套思路——發(fā)送命令、等待響應(yīng)、校驗數(shù)據(jù)、解析數(shù)據(jù)。把這一套流程吃透傳感器驅(qū)動的核心方法論基本就到手了。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
日本九九九九| www。五月天。com| 天天操天天干天天日| 天天插天天射天天干| 99色在线视频| 亚洲av成人在线| 亚洲婷婷基地| 亭亭丁香aV| 丁香婷婷色五月激情综合| 91色综合| 色九九综合| 九九爱精品网站| 中文字幕乱轮| 开心五月婷婷婷美女| 久9热视频| 精品99视频| 色婷婷国产精品综合在线观看| 99久免费视频| 人人播| 婷婷免费精品视频| 五月激情四射网站| 狠狠狠狠狠| 97狠狠碰| 亚洲天天操| 五月伊人综合| 99玖玖人人| 99九九热视频| 99在线观看免费精品视频| 亚洲V国产V欧美V久久久久久| 熟女五月天久久综合| 日本黄色三级片内射| WWW.开心五月天.COM| 黄色av网站在线免费播放| 亚洲久久婷婷丁香五月天| 久久九网| 欧洲毛片基地c区| 久久五月天合网| 国外亚洲成AV人片在线观看 | 久久久久激情网| 久久九九爽| 热久久99视频| 狠狠色色综合| 免费观看全黄做爰的视频| 丁香六月亚洲综合| 久久丁香五月婷婷| 国产精品24r| 婷婷五月天视频免费在线观看| 五月天综合久久丁香91| 中文字幕有多少字| A片一曲| 婷婷99| 欧美日韩AAAA| 五月香蕉婷婷| 色色色五月婷| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 婷婷六月丁香欧美视频在线| 日本熟女视频一区二区| 五月丁香趴趴| 国产真人做爰视频免费| 人人操AV| 亚洲欧美999| 丁香婷婷黄网站| 精品国产一区二区三区四区阿崩| 日韩九区| 丁香五月天AV| 很很干在线视频| 丁乡久久| 2050人人操免费工开爱 | 五月婷婷色| 大伊久久| 成人深爱丁香五月| 久久99久久99精品免观看粉嫩| 丁香五月手机在线| 伊人五月天| 大香蕉视频婷| 超碰免费在线| 激情AV| 深爱五月网| 香蕉综合网| 色情婷婷久久五月天| 综合网啪| 日日爽日日爽| 六月婷婷狠狠色在线观看| 日逼影音先锋AV男人资源站| 久草热在线视频| 99re鈥哸鈥唙| 色七色九九| 日韩无码乱轮| 亚洲情欲久久| 激情性爱五月天网页| 久久ww| 日日操人人操| 丁香五月六月久久综合 | 色播五月综合网| 人妻少妇色综合| 99久热| 无码激情精品色婷婷久久久久| 婷婷色啪| 久久婷视频| 国产美女无遮挡裸体毛片A片| 综合啪啪| 九九性爱网| 色六月视频| 香蕉婷婷色五月| 亚洲精品大片| 五月婷婷影院| 五月天久久综合| 激情五月开心五月丁香五月| 天天爽免费视频| 思思综合热| site:xmssd.com| 五月婷婷,狠狠操| 婷婷五月综合国产精品| 9色婷婷| 能看的av| 亚洲精品久久久无码| 婷婷色导航| 99九九在线视频| 丁婷婷五月天在线播放| 五月丁香六月婷婷色情| 99色在线观看视频| 天天综合网91| 中文字幕精品在线观看| 99久久99久久综合| 亚洲精品亚洲人成人网| 黄桃AV无码免费一区二区三区| 91九九| 99精品热视频| 特级西西4444www无码| 日韩在线观看亚洲| 操人91| 欧州色色| 激情五月婷婷| 激情丁香六月| 人人干av| 日本 @ va 免费| 26uuu国产精品| 激情五月无码| 激情五月亚洲| 婷婷六月天激情| 五月婷婷丁香在线| 久久婷五月综合| 天天操天天操天天操天天操天天操| 丁香五月婷久久| 开心激情播播五月天| 婷婷色色欧美| 九九综合伊人| 亚洲免费看片| 婷婷色五月综合| 五月天丁香婷婷网| 伊人五月婷婷国产视频| 久99热| 91婷婷丁香五月天免费视频网站| 婷婷免费成人视频| 久久在线人妻| 色丁香久久| 五月婷婷之六月丁香| 色婷丁香| 人人摸人人操人人爽| 第四色五月激情网| 亚洲婷婷激情综合激情999精品| 大胆伊人久久| 色五月色五天色情网| 91九色国产| 五月激情在线| 五月婷婷先锋| 久久综合激情| 思思热在线视频99| 夜夜骑福利资源| 99热成人在线观看| 综合视频久久| WWW.国产| 国产人人操| 色天堂97| 精品无码人妻一区| 播五月丁香三月婷婷| 99视频35精品视频在线观看| 色色色色热| 欧美内射AAAAAAXXXXX| 综合久久五| 欧美日韩中国| 激情六月丁香| 丁香五月激情视频在线| 日本色天堂| 久久9视频| 午夜微拍福利| 九九激情网| 午夜性爱影视一区77| 久热最新视频| 色爱综合网| 亚洲字幕AV一区二区三区四区| 久久婷婷大香蕉| 婷婷情色五月天| 在线不卡视频| 丁香五月天AV| 五月婷婷丁香六月| 99黄色性生活| 色级停停| 97影院一级片| 婷婷激情五月综合丁| 激情99| 人人操五月天| www综合久久| 亚洲无码成人网| 五月之婷婷| 婷婷的99视频网站| 丁香五月天激情四射网络不好| 在线观看亚洲视频影院| 狠狠色综合五月| 91精品丝袜久久久久久| 久久激情五月网| 天天日狠狠| 丁香五月婷婷六月丁香| 久久无码成人| 六月婷婷网| 人人爽欧美婷婷久久久五月丁香| 色五月综合| 色婷婷丁香社综合| 亚洲综合婷婷五月天| 女同激情久久av久久| 免费观看全黄做爰的视频| 色色色色色综合| 色色丁香五月婷婷| 五月天成人在线视频网站| 在线sebiav精品视频| 桃色五月婷婷| 亚洲av成人在线| 日本91在线播放| 欧美激情综合| 色情久久久| 色操综合| 热99re| 五月激情六月丁香| 五月婷婷影院| 婷婷五月综合网| 性做久久久久久久免费看| 五月激情网站| 欧美五月婷婷| www.ywav| 精品久久久久久久久久久久人妻| 精品亚洲国产成人A片在线鸭王| 97视频.干com| 国产精品色| 97操资源婷婷| 婷婷激情五月综合丁香社| 五月天婷婷在线播放| 熟美女麻豆| 91黄色五月天视频| 欧美综合五月丁香五月天| 超碰免费人妻| 91丨九色丨高潮丰满日本| 激情亚洲网| 激情AV网| 五月丁香在线偷拍视频| 国产欧美精品AAAAAA片| 精品99久久久久成人网站免费| 色综合久久88色综合天天99| 五月丁香亭亭操逼| 99激情在线| www.婷婷.com| 亚洲综合色色| 国产精品成人在线| 99综合视频| 六月丁香啪啪啪| 成人亚洲精品| 色99在线观看| 综合色五月天| 久色视频| AV五月丁香| 色婷婷基地| 五月婷婷AV| 人人操97| 97色色色色色色色| 五月天开心网| 婷婷狠狠五月综合| 久久久91精品| 日日色综合| 色色网91| 欧美人人操| 91婷婷在线| 婷婷五月丁香六月| 婷丁五月| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 婷婷色正月| www.99操| 婷婷 丁香 精品| 免费在线a| 综合图片色色| 99热在线精品播放| 99色色网| 婷婷色丁香五月| tingtingcaobi| 五月天婷婷开心| 人碰人人人玩91| 激情小说 五月天| 97色碰碰公开视频| WWW免费视频碰碰碰碰| 天天久综合网永久入口17v| 久操福利| 九九热这里精品| 人妻丰满精品一区二区A片| 丁香五月婷婷总啪啪| 久久色五月天综合网| a毛片二逼wwwwwwwwww| 5五月综合网亚洲| 婷婷色啪| 黑人巨粗进入警花疼哭A片| 99热这里只有精品热| 狠狠爱丁香婷| 99精品自拍| 亚洲成人网无码| 99国产精品白浆在线观看免费| 婷婷五月天视频在线观看| 色综合99色| 亚洲熟妇无码乱子AV电影| 色五月欧美| 99精品热| 国产VA亚洲VA96| 91人人超碰在线| 五月丁香激情综合网| 亚洲乱码成人| 97热这里精品在线视频| 99精品偷自拍| 夜夜爽天天干| 67194中文字幕| 色五月天综合网| 九九一综合精品| 99热观看| 色婷婷成人做爰A片免费看网站| 久久九九在线视频| 99热啪啪| 极品五月天| 五月天婷婷综合网| 亚洲mm色| 最新色色五月天| 成人无码精品1区2区3区免费看| 深夜激情网| 在线婷婷| 一级韩国产精品毛| 亚洲AV免费在线| www激情五月天| 九九久久99精品免费观看www| 色伦专区97中文字幕| 99热免费在线| 影音先锋 91工厂| 色色婷婷色色| 久草热8精品视频在线观看| 在线只有精品| 99人人操人人摸| 国产欧美第五十五页| A片试看120分钟做受图片| 狠狠干狠狠干| 伊人网色婷婷五月天| 婷婷五月综合久久中文字幕| 色色999三级片| 91精品91久久久中77777| 综合色色色色色色| 婷婷六月激情啪啪| 九九热a| 亚洲最大视频网站| 无码 av电影| 久久婷婷五月天激情四射| 婷婷五月综合在线视频| AV九九| 丁香五月天社区婷婷| 五月天社区| 久久99综合网| 色婷婷五月视频| 77799热| 97欧美在线| 91九色白丝| 99热久草| 五月丁香婷婷基地| 99热这里只有精品最新网址| 欧美韩日AAA网站| 五月丁香久久综合| 成人色图情色成人网 www.5b5b5bcom 五月天 | 秋霞午夜理论| 九九黄色网| 色99婷婷五月天| 成人丁香婷婷| 无码一区精品一区视频| 丁香网站| 日本色色色| 婷婷色在线播放| 婷婷五月综合啪| 性爱在线播放av| 亚洲AV成人在线| 在线看黄色| 热热色色五月天婷婷| 婷婷综合五月| 九九在线精品| 九九视频在线观看| 五月婷激情影院| 久久久久丁香婷婷五月天| 亚洲五月综合色播| 五月天色官网| 97久久香草精品视频| 天天做天天爱天天摸| 欧美综合五月丁香六月婷| 欧美啪啪网| 婷婷五月丁香激情| 久久九九99视频| 电影91久久久| 夜色五月天| 日韩一级一片内射视频4K| 国产毛片精品一区二区色欲黄A片| 97人人干人人操| 久久九区| 天天做天天爱| 五月天综合| 丁香五月天社区| 超碰在线成人| 色爱综合网| 99热这里只有精品99| 久久久婷婷婷| www色色色com| 99精品视频在线观看| 亚洲精品无AMM毛片| 99久久婷婷国产综合| h在线看免费版在线看| 五月天综合久久| 色色色色色网| 色狠狠色噜噜AV天堂五区| 欧美成人AAA片一区国产精品| 久久人妻视频| 色情终和网| av婷婷丁香| 丁香9月婷婷| 操逼国产91| 久久超级碰碰| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 国产婷婷五月| 热久久91| 亚洲欧洲色色| 激情网五月婷婷| 六月丁香久久| 99在线免费视频| 久久性操| 国产成人精品一区二区三区视频 | 五月天婷综合| 激情婷婷五月| 五月天丁香婷婷网| 99碰视频| Av狠狠色丁香婷| renrencaoni| 99热大片| 婷婷色片| 久久激情视频| 婷婷在线五月综合| 六月婷欧美| 五月丁香婷草| 激情99热| 五月婷婷九月婷婷九月婷婷| 久久久大香蕉| 中文字幕 中文字幕明步| 天天干天天av天天射| 成人资源在线| 亚洲第一色色色色| 少妇达人正片在线播放_ikun_福利吧| 九九香蕉网| 亚洲精品一区无码A片| 26uuu成人网| 爆乳熟女一区二区三区爆乳| 熟女婷婷网站一婷婷五月一丁香婷婷一婷婷激情网 | 成人av免费观看| 丁六月激情| 激情五月婷婷开心网| 成人在线网| A片女女女女女女BBBB| 超碰在线资源| 99热情这里只有精品在线播放| 欧美丁香六月激情视频| 亚洲免费99| 亚洲亚洲人成综合网络| 中文字幕AV网址| 丁香久色| 五月丁香六月激情| 亚洲最大成人综合网720P| 色综合久久88| 亚洲十月婷婷综合| 丁香六月激情综合| 性做久久久久久久免费看| 丁香五月最新网址| 九九热这里只有精品12| 激情性爱五月天| 亚洲成人影视在线| 大香蕉九九操| 久久这里只有精品16| 一月婷婷色色| 六月丁香AV| AV色五月婷婷| 久青草影院| 国产真人做爰视频免费| -91九色大屁股| 色99热| 色区久久| 丁香色影院| tingting五月天亚洲| 六月丁香成人网| 人人草人人舔| 超碰99久久| 天天免费日日夜夜夜夜| 激情婷婷| 久久综合激情| 99热免费| 操操操91| 99国产性感视频| 亚洲综合五月天| 国产一区18| 在线综合婷婷| 色五月首页| 五月天堂色色| 五月丁香六月香综合激情| 一级黄色影片| 99久在线观看| 日日夜夜干| 美日韩成人| 九九AV在线| 人人爱国产| 丁香五月天天久久综合小说| 激情婷婷五六月天| 99精品热| 日本三级中国三级99| www.99视频| 激情综合网激情五月婷婷| 欧美噜噜免费观看| 91热99| 玖玖五月丁香| 天天做好综合色| 五月丁香亭亭电影久久| 亚洲精99| 97色色色| 色婷婷久久综合久色| 色婷婷导航| 丁香五月AV| 色婷婷五月在线| 九日日夜夜69| 免费视频这里只有精品| 丁香五月天堂婷婷| 色婷婷成人丁香| 日本久久精品| 情色婷婷五月天| 情趣视频66| 香蕉久久五月| 人人爽欧美婷婷久久久五月丁香| 丁香婷婷婷| 新伍月婷婷| 91a片爽| 日本成人噜噜噜噜噜| 欧美激情综合色综合啪啪五月| 亚洲免费看片| 丁香九月婷婷综合| www99热| www.99热这里只有精品| 99热99干| 狠狠干无码| 九九热a| 日本色五月| 第四色色六月色综合| 97操操| 热这里只有精| 大香蕉在九| 美英法精品无码免费视频| 97人人干视频| 五月天激情国产综合婷婷| 五月亭亭色| 夜夜久久综合网| 97人人搞| 五月婷婷深深爱| 久热视频A.| 国产美女无遮挡裸体毛片A片| 99热成人精品| www.色色色com| 亚洲视频图片婷婷五月| 色婷婷综合综合网| 人人干av| 国产一级婬片毛片| 丁香熟女乱| 日本色爽| 久9视频| 六月丁香网| 五月四色婷婷| 久久五月天免费网站| 激情综合网五月| 丁香五月影院| 91av传媒高清在线视频网| 人人操人av| 4399欧美另类视频| 五月天.com| 色香五月天| 色播五月丁香综合| 日韩九区| 六月婷婷网站| 婷婷五月天久久综合88| 99久久婷婷| 天天夜夜操| 色狠狠999综合| 欧美色色色| 日夜夜久久| 婷婷五月天丁香社区| 丁香五月在线播放| 五月天婷婷丁香社区| 8区视频在线| 四虎国产精品永久在线国在线| 激情小说五月欧美亚洲丁香| 影音先锋色婷婷| 欧美S码亚洲码精品M码| 色色色色五月| 五月激情四射婷婷丁香| 婷婷激情五月呦呦| www.99日本| 第2色五月婷| 99日本视频在线观看专区| 97婷婷狠狠| 日日干日日s| 影音先锋天天日| 色色丁香| 日韩99视频| 成人婷婷五月| 亚洲成人无码网站| caop视频| 91久久婷婷| 精品51XX| 思思视频久久| Caop在线| 久久精品无码一区| 久久9久| 久久亚洲婷婷| 婷婷 伊人 久久| 精品一二三区久久AAA片| 日本色五月| 五月综合婷婷网| av在线播放网址| AAA级久久久精品| 9精品在线| 色婷婷色人人射| 丁香五月激情婷婷| 亚洲另类av| 成人国产欧美大片一区| 99这里只有精品|v| 性色天| 久久婷婷欧美| www久久久| 狠狠综合久久综合| 免费精品99| 久久久大香蕉| 九九视频在线| 99国产小视频| 五月婷婷丁香伦理网| 91色在线/日韩| 久久久久久18| 91狼友视频网页更新| 五月婷丁香| 五月天婷婷綜合院| 色五月色五天免费视频| 亚洲99视频| 丁香无五月网| 国产亚洲在线| 97偷拍对白视频| 成人无码髙潮喷水A片| 成人免费在线电影| 婷婷五月天激情网站| 五月 丁香 欧美| 五月婷婷干干干| 91色在线| 久久婷婷夜| 99九九热播在线免费视频| 99精品偷自拍| 丁香六月婷婷久久综合| 玖玖综合网| 97极品在线| 色婷婷丁香五月天在线观看| 狠狠色噜噜| 欧美综合激情五月| 色婷婷六月综合| 99热99热在线观看| 99这里只有免费的精品| 五月婷婷激情四季| 天天操夜夜啊| 五月花婷婷在线精品视频| 伊人久久婷婷| 婷婷五月小说色综合| 色欧美影院| 久9精品| 亚洲AV无码影院| 色婷婷综合在线| 99ri国产精品| 五月天丁香综合在线| 五月天丁香看婷婷| 高清a片基地| 小香蕉av| 任你搞免费视频观看| 五月天网址在线刘玥| 丁香五月婷婷五月| 99热这里都是精品| 色婷婷伊人| 在线观看婷婷5月| 思思热在线视频精品| 亚洲秘 无码一区二区三区妃光/1| 特级西西4444www无码| 五月婷婷丁香俺日污视频| 婷婷色色婷婷| 色五月婷婷操逼| 开心激情综合| 91无码高清| 九月综合| 精品色| www.夜夜| 老师的粉嫩小又紧水又多A片视频| 97一区二区| 操逼综合网| 婷婷99丁香| 操人精品| 欧美一级色| A一级操| 色综合久久天天综合网 | 欧美激情性做爰免费视频| 欧美人与性动交CCOO| 五月激情四射网站| 综久久久| 丁香五月另类色婷婷麻豆| 丁香综合婷婷开心激情网| 久久丁香五月婷婷激情综合网| 天天天久久久| 五月天婷婷色小说| 精品乱码久久久久| 伊人久久艹| 少妇人妻人伦A片| A片天天| 超碰av天堂| 桃色五月婷婷| 综合色网站| 开心婷婷五月综合| 久久98热re| 91碰| 91视屏在线观看com.wwwvv| 激情网综合| 九九99热久久精品66中文字幕| 婷婷六月色| 色五月激情五月| 婷婷情色五月| 97精品欧美91久久久久久久| 国产婷婷五月中文字幕高清| 五月天激情www| 丁香六月综合激情| 99色视频| 日韩欧美性爱| 色吧综合网| 色狠狠六月| 激情五月天婷婷丁香| 99免费| 日日夜夜亚洲一区| 成人无码髙潮喷水A片| 色欲久久99精品久久久久久| 手机在线日韩视频中文字幕| 五月婷婷久久综合| 婷婷色操| 国产五月视频| 丁香五月激情棕合| 五月天婷婷黄色| 日本久热| 五月天婷婷色综合| 久久草人妻| 丁香色五月天| 禁欲电影完整版在线播放| 婷婷色基地在线看 | 五月婷婷操操| 97色婷| 欧美日本va| 伊人久久艹| 日韩在线一级| 久久这里只有精品视频26| 99干视频| 色色热日| 女人天堂av| 五月天操逼网| 超碰免费人人肏| 色热久资源| 99热这里只有精品99| 亚洲乱码日产精品BD在线观看| 97超碰在线免费观看| 青青福利网| 99亚洲精品视频| 九九人人看| 另类五月婷婷| 久久婷婷网站| 超碰永久在线| 亚洲丁香五月美女| av狠狠操| 超碰高清在线| 性99网站| 国外亚洲成AV人片在线观看| 五月丁香啪啪综合网| 五月天色婷婷网| 成人精品视频99在线观看免费| 婷婷激情综合| 香蕉人在线香蕉人在线 | 思思久久久婷婷| 深爱五月婷婷开心中文字幕| 亚洲综合视频在线| 狠狠综合色网| 五月激情婷婷开心| 亚洲妇女熟BBW| 久热这里只有精品3| 天堂久久婷婷| 狠狠久久婷婷| 人人爱国产| 久婷婷视平| www.夜夜夜| 激情网五月天| 日本久久性| WWW五月| 日本欧美成人片AAAA| 激情五月天在线观看色婷婷| 六月婷婷开心| 日韩久久日| 狠狠色狠狠鲁| 精品亚洲国产成AV人片传媒| 激情丁香九九五月综合网| 六月激情综合| 日本成人内射| 人人人va亚洲视频在线| 成人精品视频99在线观看免费| 丁香五月花婷婷开心| 超碰在线看| 日本熟妇精品99| 五月天丁香综合| 免费看成人747474九号视频在线观看| 色五婷婷开心缴| 91碰碰碰久久久久| 久久99激情丁香婷婷小说网| 婷婷五月天渟渟| 欧美啄木乌丝袜人妻系列| 亚洲精品又粗又大又爽A片| 色婷丁香五月| 少妇高潮呻吟A片免费看软件| 五月丁香美女| 成功精品影院| 六月香五月婷| 中文字幕中文有码在线| 婷婷伊人激情婷婷| 日日干四虎| 天天情色五月天| 91干网站| 天天日夜夜曹| 婷婷丁香五月色偷偷| 色五月婷婷综合在线| 97婷婷狠狠| 婷婷九月| 侠女刀之记忆电影在线看免费| www.婷婷| 99视频在线观看欧| 草榴视频黄色网| 丁香五月激情在线| 六月婷婷视频| www.久久久久久久| 九月色婷婷| 国产毛片精品一区二区色欲黄A片| 五月婷婷色综图片| 五月天开心色色网| 五月丁香六月停停| 亚洲视频码| 97 A I色色| 五月婷六月| 丁香五月天啪啪| 狠狠五月天婷婷| 精品9久| 婷婷丁香五月综合免费视频百花| 九九热视频99| 狠狠爱综合网| 婷婷综合六月| 五月深情久久| 激情九月综合| 亚洲综合网激情小说| 丁香五月婷婷啪啪视频| 婷婷五月天亚洲| 九九九热精品| 97人人超| 天天日日爽| 久热99热| 九九色综合九九色| RenRenSe在线视频网站| 六月丁香成人| 婷婷精品在线| 婷婷伊人激情婷婷| 伊人热婷婷| 99在线热| 综合激情综合啪啪| 色婷婷色| 久色网| 青草热视频这里只有精品| 9久9久| 精品久热| www,五月天激情| 99热免费精品| 人妻丰满精品一区二区A片| 五月婷婷六月丁香在线视频| 无码啪啪| 丁香五月-激情综合| 日韩在线观看亚洲| 日本色婷婷综合| 婷婷久久在线| 色噜噜狠狠色综合日日| 五月天综合在线观看| 亚洲激情综合| 伊人激情网| 激情文学久久| 久久99美女精彩视频| 五月婷婷六月丁香综合| 熟女人妻一区二区三区免费看| 色99网站| 五月丁香拍拍激情综合| 99色久| 无码人妻丰满熟妇奶水区码| 久久五月天网| 狠狠干天天内射| 九九色天堂| 操99| 麻豆雪千夏| 婷婷爱婷婷| 人人爱操| 丁香六月青青草| 五月激情六月丁香| 婷婷五月天播播| 五月丁香六月婷婷在线小说视频| 激情亚洲婷婷| 超碰97色| 久久久99精品免费观看| 六月婷婷久久| 精品色色色| 99ri在线| 丁香久月| 91无码一起草| 国产成人精品亚洲线观看| 色丁香五月| 97婷婷五月| AV天堂淫乩| 亚洲最大在线| 九九99偷拍视频| 成人精品视频99在线观看免费| 日本久久99| 99热亚洲| 97色色综合| 人妻操操色| 亚洲五月天天| 91久久婷婷| 色热久| www.99免费视频| 色色综合网。| 91久久久久久久久久18| 99在线免费视频| AV中文在线| 伊人干综合| 99狠狠| 婷婷色片| 色色亚洲五月天| 久久这里只| 亚洲另类久久| 26UUU精品一区二区Com| 4399在线观看免费高清电视剧| 久久久五月天| 99热国内精品| 色99在线观看| 99热这里有精品首页10| 黄久久久| 婷婷亚洲久久| 伊人婷婷91| 久久香视频| 91九色成人原创视频| 亚洲mm免费| 啪啪视频99| 丁香五月婷婷色综合| 久久人妻超碰一区| 亚洲精品久久久久久久久久飞鱼| 国产欧美精品AAAAAA片| 久久免费精彩视频| 国产精品久久久久久久久久久久 | 国产日韩欧美| 亚洲热久久| 开心五月深爱婷婷| 欧美xx激情视频在线观看| 丁香色综合| 婷婷婷婷婷开心无码播放| 夜夜操激情| 五月丁香777| 五月天开心婷婷激情网站| 色婷久久| 九九色播五月丁香| 99久久久久久| www热久久yy9| 久99在线视频| 色综合99| 久久激情综合| 五月婷婷爽爽爽| 婷婷综合中文字幕| 91综合色噜噜| 成人在线视频一区| 久久婷婷五月综合色奶水99啪| 五月婷婷精品| 久久 婷婷 五月天| 性欧美日本| 涩涩涩,com| 99热6这里只有精品6| se色99| 99热日韩这里只有精品| 五月色综合网欧美网| 婷婷综合五月激情| 99精品免费欧美小视频| 丁香五月六月综合欧美| www.色综合| 亚洲九九夜夜| H亚洲| 99热久97| 欧美色图45678| 亚洲成色综合网站免费观看| wwwwww.色| 天天爽夜夜爽夜夜爽精品视频| 狠狠人妻色综合| 五月婷婷色五月| 人人摸人人操人人爱| 97碰 在线视频观看| 97人人爱人人操| 亚洲色综合| 五月丁香色婷婷基地| 99热在线这里| 丁香九月激情| 被强行糟蹋的女人A片| 五月婷婷亚洲综合在线 | 成人丁香婷婷五月天| 五月丁香婷婷六月| 99精品视频网站| 免费观看欧美成人AA片爱我多深 | 五月激情婷婷开心五月| 99这里只有精品99| 亚洲 视频 导航 一区| 激情深爱五月天| 91男人资源站| 色综合婷婷| 五月花成人网| 五月丁香六月婷婷激情网| 97色碰| 啪啪日本欧美| 美女黄频aⅴ视频| 亚洲人人干| 99热色精品| 天天干,夜夜爽| 欧美激情久| 九九国产精视频| 噜噜久| 99热九九热| 嫩草视频。| 久久99视频| 99精品免费欧美小视频| 丁香五月欧美成人| 99久操视频| 超碰成人在线观看| 亚洲五月天婷婷综合| 五月激情婷婷丁香| h在线看免费版在线看| 国产精品人妻在线网址| 亚洲成人色五月婷婷综合| 日韩啊啊啊| 久久99综合| 黑人无码一区| 久久五月激情网| 国産精品| 日本久久激情| 视频这里只有精品| 99re6久热只有精品6在线直播| 五月丁香六月| 91日韩美女被插视频| 日韩一66精品| 久久新地址| 99re8热精品免费视频| 丁香丁婷五月激情| 99色热综合| 99爱在线免费视频| 99热色婷婷| 夜夜天天久久婷婷| 99无码视频| 久久婷婷色综合老司机| 亚洲视频丁香网va| 九九99精品视频| 麻豆忘忧草午夜| 婷婷久久免费看| AV五月丁香| 99热日本精品| 丁香六月高清视频| 色色性爱视频| 97在线日本| 99热这里只有精品一区| 亚洲成人五月天| 日韩伊人大香蕉| 视色综合| 大香蕉手机视频| 久九色| 99热色精品| 超级碰碰碰久久网站视频| 五月婷丁香久久久| 色色色图| 中文字幕,综合,91| 噜噜久| 九九丁香社区欧美激情| 99色在线观看免费| 综合色色婷婷| 欧美99视频| 色情综合网| 超极99精品| 五月天激情网图片 - 百度| 99热在线播放| 亚洲国产色婷婷| 婷婷六月激情在线视频| XX色综合| www.25五月婷婷| 五月婷婷六月丁香在线| 五月丁香婷草| 色噜噜狠狠色综无码久久合欧美| 99啪视频在线观看| 婷婷激情五月综合丁香社| 亚洲第一成人无码A片| 色色无码日韩| 这里只有精品1| 啪啪啪综合网| 精品在线网站| 激情床戏| 五月丁香六月婷婷综合在线| 天堂中文国产| 婷婷丁香综合| 这里只有精品视频在线| 欧美日韩国产日本精品四虎网网站物| 五月丁香六月香综合激情| 婷婷丁香91综合| 亚洲狠狠狠色婷婷综合激情久久久| 亚洲操逼网| 久久国产性爱A V| 丁香激情五月| 色9色| 99爱在线视频| 婷婷5月天激情综合| 97高清国语自产拍| 狠狠人人| 91 影音先锋| 婷婷五月天色网久| 久久精品凹凸分类| 操一操| 美女久久婷婷| 这里只精品热在线18| 激情六月婷婷啪啪| 丁香激情综合| 成人在线视频一区| 婷婷五月免费视频| 五月婷在线影院| 成人五月天丁香| 91精品在线看| 六月丁香五月婷婷| 狠狠狠婷婷五月综合| 亚洲精品V天堂中文字幕| 思思精品久久艹| av在线免费播放观看| 婷婷深爱五月丁香| 激情久久婷婷| 久久99久久99精品免观看粉嫩| 色综合丁香| 99亚洲精品视频| 丁香五月激情综合在线观看| 99热这里有精品| 亚洲性爱区无码区| 在线超碰91| www.五月天色色.com| 狠狠爱综合网| 99精品偷自拍| 另类图片婷婷五月天| 国产亚洲色婷婷久久99精品9j| 五月天婷婷久久视频| 日日干天天射| 欧美搡BBBBB摔BBBBB| 热的无码综合视频| 综合九九久久| 91人妻人人操| 激情深爱综合| 色五月丁香com| 开心激情综合| 亚洲婷婷久久综合| 亚洲人人操| 久久99热 这里有精品| AV大片在线观看| 欧美大香蕉视频| ww亚洲ww在线观看| 婷婷97色| 九热免费视频| 激情五月天婷婷激情| 人碰人人人玩91| 激情五月天com| WWW,五月天| 无码字幕中文| 欧美丁香五月| 精品无码色| 综合99在线| www.婷婷五月| 人人干AV| 1024亚洲| 五月天激情国产综合婷婷| www夜夜操wwwcon| 天堂综合久| 亚洲精品无码一区二区| 婷婷五月天开心网| 婷婷五月天色色| www.一区二区三区| 91久操| 五月婷婷色吧!| 五月丁香激情四射| 成人无码髙潮喷水A片| 五月婷婷69| 成人色站,在线视频,看片-SS1AV| 亚洲AV电影美洲AV电影| 五月婷婷六月丁香| 久久久久久五月天| 久9精品| 三人荫蒂添的好舒服A片| 亚洲激情综合| 婷婷五月丁香六月伊人网| 大香久久伊人网| 亚洲色色色| 99这里只有精品视频| 亚洲久久视频| 婷婷内射视频在线| 精品成人无码A片观看香草视频| 色香久久| 毛片新网地| 另类精品视频在线观看| 操操综合网婷婷| www.minyis.com【JT】实力收量可预付QQ2101460746 | 国产在线网| 开心五月综合激情网| 凹凸操Av| 久久永久视频| 精品国产a| 被男人添B超爽视频| 激情五月天婷婷丁香| 天天色综合色| 亚洲啪啪啪啪| 草草色情综合网| www.夜夜操| 色天堂A| 色婷婷色人人射| 日本精品在线噜噜噜| 日本一级大片| 国产真实乱了老女人视频| 久久资源网五月婷| 精品色| 色婷婷a三区麻| 婷婷色导航| 91九色欧美| 操碰99在线视频观看| 狠狠干,狠狠操| 婷婷视频网| 天天操综合网| m色激情网| 激情五月天综合图片小说网站| 婷婷色五月丁香六月欧美啪| 五月综合激情图片| 超碰婷婷色| 国精产品一区一区三区免费视频| 99精品久久久| 丁香婷婷五月综合|