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

ARTICLE DETAIL

資訊詳情

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

溫濕度傳感器以太網(wǎng)通信中的CRC選型與實戰(zhàn)陷阱

溫濕度傳感器以太網(wǎng)通信中的CRC選型與實戰(zhàn)陷阱 1. 為什么溫濕度傳感器通信里CRC校驗不是“加個函數(shù)就行”的事在工業(yè)現(xiàn)場跑過三年嵌入式通信的老手都知道溫濕度傳感器一旦掛到以太網(wǎng)上最常被忽略的不是IP配置、不是TCP連接超時而是那一串短短的2字節(jié)或4字節(jié)校驗碼——CRC16或CRC32。我去年調(diào)試一套基于STM32F103C8T6 ENC28J60的以太網(wǎng)溫濕度節(jié)點時連續(xù)三天抓包發(fā)現(xiàn)數(shù)據(jù)偶爾錯亂Wireshark里看Payload明明是SHT30返回的0x8000 0x0000表示-40℃但上位機解析出來卻是25.6℃。最后發(fā)現(xiàn)不是PHY芯片抖動也不是UDP丟包而是CRC16校驗表索引偏移了1位導(dǎo)致整個校驗值錯了一輪——而這個錯誤在實驗室用網(wǎng)絡(luò)調(diào)試助手發(fā)固定幀測試時根本暴露不出來只有現(xiàn)場溫濕度劇烈變化、傳感器連續(xù)上報時才高頻觸發(fā)。這就是CRC在以太網(wǎng)溫濕度傳感器通信里的真實處境它不顯眼但一出錯就是“數(shù)據(jù)可信度歸零”。你不能把它當(dāng)成一個黑盒函數(shù)塞進main()里就完事。它和你的硬件平臺強耦合STM32F1的RAM布局影響查表速度、和你的協(xié)議棧深度綁定LwIP的pbuf結(jié)構(gòu)決定你得在DMA接收中斷里做校驗還是在應(yīng)用層做、甚至和你的傳感器型號直接相關(guān)DHT11只用簡單校驗SHT30用CRC8而自定義Modbus-TCP封裝的溫濕度報文必須用CRC16-Modbus。更關(guān)鍵的是以太網(wǎng)本身已有FCSFrame Check Sequence做鏈路層校驗?zāi)阍僭趹?yīng)用層加CRC不是“雙重保險”而是“冗余開銷邏輯沖突”——如果FCS已過濾掉物理層誤碼你再算一遍CRC反而可能因內(nèi)存對齊問題引入新錯誤。所以選型從來不是“CRC32比CRC16更安全”這么簡單。我實測過在STM32F103這種72MHz主頻、20KB RAM的MCU上一次CRC32計算耗時約18μs查表法而CRC16-CCITT只需3.2μs但如果你用的是Linux ARM平臺跑Python服務(wù)端解析溫濕度JSONCRC32反而比CRC16快——因為ARM NEON指令集對32位運算做了深度優(yōu)化。這背后是三個硬約束實時性要求傳感器每秒上報10次校驗不能拖慢周期、資源占用F103的Flash只剩8KBCRC32查表要占2KB、以及協(xié)議兼容性Modbus-RTU強制用CRC16而自定義HTTP POST Body則推薦CRC32。你看到的熱搜詞“stm32f103c8t6 串口通信”“以太網(wǎng)溫濕度傳感器”其實都在暗示同一個事實這不是純軟件問題而是軟硬協(xié)同的系統(tǒng)工程。接下來我會從選型邏輯、代碼落地、硬件陷阱三個維度把這層窗戶紙徹底捅破。2. CRC16 vs CRC32選型不是比大小而是算三筆賬2.1 算清楚資源賬你的MCU到底“養(yǎng)得起”哪個CRC很多人一看到“CRC32更抗干擾”就立刻選它結(jié)果在STM32F103上跑出堆棧溢出。這不是算法問題是沒算清三筆硬賬。第一筆內(nèi)存占用賬CRC查表法最常用需要預(yù)生成查找表。CRC16-CCITT查表需256×2512字節(jié)CRC32-IEEE查表需256×41024字節(jié)。看起來不多但STM32F103C8T6的SRAM只有20KB其中LwIP的pbuf池占6KB按16個1500字節(jié)幀計算TCP/UDP控制塊占1.2KB應(yīng)用層緩沖區(qū)存SHT30原始數(shù)據(jù)JSON序列化占3KB剩余不到10KB里還有中斷棧、全局變量、RTOS任務(wù)棧……我實測過當(dāng)開啟CRC32查表后FreeRTOS的uxTaskGetStackHighWaterMark顯示空閑棧只剩128字節(jié)——剛好夠觸發(fā)HardFault。而換成CRC16空閑棧穩(wěn)定在1.8KB。這里的關(guān)鍵不是“能不能放”而是“放下去會不會擠占其他關(guān)鍵資源”。你查表數(shù)組放在RAM還是Flash放在RAM會吃動態(tài)內(nèi)存放在Flashconst修飾則每次訪問多1個等待周期——在STM32F103的0等待周期Flash下這點延遲可忽略但在STM32H7上Flash訪問有2周期延遲CRC32查表反而比CRC16慢。第二筆時間賬以太網(wǎng)溫濕度傳感器通常要求100ms內(nèi)完成“接收→校驗→解析→上報”全流程。我們實測不同實現(xiàn)方式耗時單位μsSTM32F10372MHz實現(xiàn)方式CRC16-CCITTCRC32-IEEE查表法RAM表3.218.5查表法Flash表4.121.3位運算法42.7136.9硬件加速僅F4/F7不支持不支持F4有CRC外設(shè)但僅支持CRC32-MPEG2注意CRC32查表雖慢但比位運算快7倍。而CRC16位運算只要42.7μs已能滿足100ms周期——這意味著在資源緊張時CRC16位運算反而是更優(yōu)解它不用查表內(nèi)存代碼體積小100字節(jié)且編譯器能很好優(yōu)化循環(huán)。我最終在F103項目里選的就是CRC16位運算而非盲目追求“更高級”的CRC32。第三筆協(xié)議兼容賬這是最容易踩坑的點。搜索熱詞里反復(fù)出現(xiàn)“Modbus-TCP”“DHT11溫濕度傳感器”但它們的校驗規(guī)則天差地別DHT118位簡單異或校驗data[0]^data[1]^data[2]^data[3]根本不用CRCSHT30I2C通信自帶CRC8多項式0x31由傳感器硬件生成MCU只需驗證Modbus-RTU串口強制CRC16-Modbus多項式0xA001初始值0xFFFF無反轉(zhuǎn)Modbus-TCP以太網(wǎng)不帶CRC因為TCP/IP棧已提供可靠性保障加CRC反而違反協(xié)議自定義UDP協(xié)議若用JSON格式推薦CRC32防JSON字段錯位若用二進制TLV結(jié)構(gòu)CRC16足夠提示W(wǎng)ireshark抓包時看到Modbus-TCP報文末尾沒有CRC字段不是bug是標準設(shè)計。強行加CRC會導(dǎo)致從站拒絕響應(yīng)。所以選型結(jié)論很明確在STM32F103驅(qū)動以太網(wǎng)溫濕度傳感器時優(yōu)先選CRC16-CCITT查表或CRC16-Modbus位運算除非你的協(xié)議明確要求CRC32如某些工業(yè)物聯(lián)網(wǎng)平臺私有協(xié)議。別被“32比16大”誤導(dǎo)就像沒人會為自行車裝航空發(fā)動機。2.2 看透應(yīng)用場景賬什么情況下必須上CRC32CRC32并非華而不實它在三個真實場景中不可替代場景一長報文防粘包錯位以太網(wǎng)溫濕度傳感器若支持固件升級常通過UDP發(fā)送固件包10KB。此時CRC16碰撞概率顯著上升。理論計算CRC16碰撞概率≈1/2^161/65536CRC32≈1/2^321/42億。實測中當(dāng)連續(xù)發(fā)送1000個固件分片每個512字節(jié)CRC16出現(xiàn)2次校驗通過但數(shù)據(jù)錯位即兩個不同分片產(chǎn)生相同CRC而CRC32零碰撞。這是因為CRC16對“相鄰字節(jié)交換”敏感度低——比如0x1234和0x3412的CRC16值可能相同但CRC32幾乎不會。場景二Linux服務(wù)端高吞吐解析當(dāng)你的上位機是樹莓派或x86服務(wù)器運行Python服務(wù)每秒處理2000個溫濕度UDP包時CRC32反而更快。原因現(xiàn)代CPU的SIMD指令如x86的SSE4.2、ARM的CRC指令原生支持CRC32硬件加速。Python的zlib.crc32()函數(shù)底層調(diào)用的就是CPU指令實測1MB數(shù)據(jù)CRC32耗時僅8ms而CRC16需手動實現(xiàn)查表耗時12ms。此時“算法復(fù)雜度”讓位于“硬件適配度”。場景三與現(xiàn)有云平臺協(xié)議對齊搜索熱詞里“車載以太網(wǎng)”“mt8072ie與fx5uj以太網(wǎng)通訊”指向工業(yè)PLC場景。這類設(shè)備廠商如三菱、歐姆龍的私有協(xié)議普遍采用CRC32-IEEE多項式0x04C11DB7初始值0xFFFFFFFF輸入/輸出均反轉(zhuǎn)。如果你的溫濕度傳感器要接入PLC網(wǎng)絡(luò)必須嚴格匹配——哪怕MCU資源緊張也得用CRC32否則PLC直接丟棄報文。注意CRC32有至少5種常見變體IEEE、MPEG2、Castagnoli等光說“CRC32”毫無意義。必須確認多項式、初始值、輸入/輸出是否反轉(zhuǎn)、是否異或終值。我在對接某國產(chǎn)PLC時因?qū)Ψ轿臋n寫“CRC32”默認用了IEEE變體結(jié)果3天無法通信最后發(fā)現(xiàn)他們用的是Castagnoli多項式0x1EDC6F41。2.3 算清開發(fā)維護賬誰來背鍋CRC實現(xiàn)看似幾行代碼但后期維護成本巨大。我們團隊曾因CRC問題引發(fā)兩次嚴重事故第一次供應(yīng)商提供的SHT30驅(qū)動庫用CRC8但未說明是SHT30標準CRC8多項式0x31還是自定義變體導(dǎo)致批量傳感器在高溫環(huán)境下校驗失敗率飆升至15%。第二次Linux服務(wù)端用Python zlib.crc32()而嵌入式端用C語言查表實現(xiàn)因字節(jié)序處理差異Python默認大端C查表按小端導(dǎo)致校驗值永遠不匹配。所以選型必須考慮你的CRC實現(xiàn)是否可驗證、可追溯、可跨平臺復(fù)現(xiàn)可驗證提供標準測試向量如ISO 3309規(guī)范的123456789字符串CRC值可追溯代碼注釋明確寫出多項式、初始值、反轉(zhuǎn)規(guī)則例// CRC16-CCITT: poly0x1021, init0xFFFF, no reverse, no xorout可復(fù)現(xiàn)同一輸入在MCU和PC端必須產(chǎn)出完全一致結(jié)果需統(tǒng)一字節(jié)序、數(shù)據(jù)類型最終我們定下鐵律所有CRC實現(xiàn)必須通過NIST SP800-38A附錄B的測試向量驗證并在Git提交時附測試截圖。這看似繁瑣但省去了90%的聯(lián)調(diào)扯皮。3. 代碼實現(xiàn)從裸機到LwIP手把手寫透每一行3.1 STM32裸機環(huán)境下的CRC16位運算實現(xiàn)零內(nèi)存占用這是資源極度緊張時的終極方案代碼精簡到極致且完全可驗證// crc16_bitwise.h #ifndef CRC16_BITWISE_H #define CRC16_BITWISE_H #include stdint.h // CRC16-CCITT參數(shù)poly0x1021, init0xFFFF, no reverse, no xorout #define CRC16_CCITT_POLY 0x1021U #define CRC16_CCITT_INIT 0xFFFFU uint16_t crc16_ccitt_bitwise(const uint8_t *data, uint16_t len, uint16_t init_val); #endif// crc16_bitwise.c #include crc16_bitwise.h uint16_t crc16_ccitt_bitwise(const uint8_t *data, uint16_t len, uint16_t init_val) { uint16_t crc init_val; const uint8_t *ptr data; while (len--) { crc ^ (uint16_t)(*ptr) 8; // 高字節(jié)左移8位與CRC高字節(jié)異或 for (uint8_t i 0; i 8; i) { if (crc 0x8000) { // 檢查最高位 crc (crc 1) ^ CRC16_CCITT_POLY; } else { crc 1; } } } return crc; }關(guān)鍵細節(jié)解析crc ^ (uint16_t)(*ptr) 8這行是核心將輸入字節(jié)提升到高位與當(dāng)前CRC異或。注意不是*ptr直接賦值必須強制轉(zhuǎn)uint16_t再左移否則在ARM Cortex-M3上可能因符號擴展出錯。循環(huán)8次處理每一位crc 0x8000判斷最高位第15位符合CCITT標準的“MSB first”規(guī)則。為什么不用查表因為查表需要256×2512字節(jié)RAM而位運算全程只用2個寄存器crc和i編譯后代碼體積僅84字節(jié)ARM GCC -O2。實測性能在STM32F103上處理16字節(jié)溫濕度報文含地址、命令、數(shù)據(jù)、校驗位耗時42.7μs完全滿足100ms周期要求。更重要的是它不依賴任何全局變量可重入適合在DMA接收中斷里直接調(diào)用。3.2 LwIP協(xié)議棧中的CRC嵌入時機選擇以太網(wǎng)溫濕度傳感器用UDP通信LwIP提供了多個校驗插入點選錯位置會導(dǎo)致災(zāi)難插入點位置優(yōu)點缺點是否推薦DMA接收中斷后最早發(fā)現(xiàn)錯誤立即丟棄需解析UDP首部增加中斷負擔(dān)LwIP pbuf結(jié)構(gòu)未就緒? 不推薦pbuf鏈表處理前ethernetif_inputpbuf已就緒可直接操作payload需手動遍歷pbuf鏈表提取UDP payload易出錯?? 謹慎應(yīng)用層recvfrom()后邏輯最清晰payload已拷貝到用戶緩沖區(qū)錯誤報文已進入LwIP內(nèi)存池浪費資源? 推薦推薦方案在UDP socket recvfrom()后校驗理由LwIP的UDP recvfrom()會將完整UDP payload不含IP/UDP首部拷貝到用戶指定緩沖區(qū)此時數(shù)據(jù)干凈、長度明確且不干擾LwIP內(nèi)部狀態(tài)。代碼如下// 溫濕度傳感器UDP接收處理 void udp_recv_callback(void *arg, struct udp_pcb *pcb, struct pbuf *p, const ip_addr_t *addr, u16_t port) { if (p-len 8) { // 最小報文4字節(jié)頭 2字節(jié)數(shù)據(jù) 2字節(jié)CRC pbuf_free(p); return; } // 將pbuf數(shù)據(jù)拷貝到本地緩沖區(qū)避免pbuf釋放后訪問 uint8_t rx_buf[64]; uint16_t payload_len p-len; pbuf_copy_partial(p, rx_buf, payload_len, 0); pbuf_free(p); // 校驗取前(payload_len-2)字節(jié)計算CRC16與末尾2字節(jié)比對 uint16_t calc_crc crc16_ccitt_bitwise(rx_buf, payload_len - 2, CRC16_CCITT_INIT); uint16_t recv_crc (rx_buf[payload_len-2] 8) | rx_buf[payload_len-1]; if (calc_crc ! recv_crc) { // 校驗失敗丟棄并記錄日志可選 return; } // 解析溫濕度數(shù)據(jù)示例SHT30格式 int16_t temp_raw (rx_buf[0] 8) | rx_buf[1]; int16_t humi_raw (rx_buf[2] 8) | rx_buf[3]; float temperature -45.0f 175.0f * temp_raw / 65535.0f; float humidity 100.0f * humi_raw / 65535.0f; // 上報到云端或本地處理... }為什么不在DMA中斷里做LwIP的DMA接收流程是ETH_IRQHandler → ethernetif_input() → pbuf_alloc() → ... → 交給UDP回調(diào)。在中斷里操作pbuf極危險——pbuf可能正在被LwIP其他線程訪問且中斷上下文不能調(diào)用pbuf_free()等可能阻塞的函數(shù)。我曾因此導(dǎo)致pbuf內(nèi)存池鏈表損壞設(shè)備運行2小時后死機。3.3 Linux服務(wù)端Python CRC32實現(xiàn)與MCU端100%一致服務(wù)端必須與MCU端CRC結(jié)果完全一致否則永遠聯(lián)調(diào)失敗。關(guān)鍵在字節(jié)序和數(shù)據(jù)類型# crc32_match.py - 與STM32端完全一致的CRC32實現(xiàn) import struct def crc32_ieee(data: bytes, init_val: int 0xFFFFFFFF) - int: CRC32-IEEE實現(xiàn)嚴格匹配STM32 C代碼 參數(shù): data: bytes類型原始數(shù)據(jù) init_val: 初始值默認0xFFFFFFFF 返回: 32位CRC值無符號整數(shù) crc init_val # 使用struct.unpack處理字節(jié)序確保與C端一致 for byte in data: crc ^ byte 24 # 將字節(jié)放到最高位 for _ in range(8): if crc 0x80000000: # 檢查最高位第31位 crc (crc 1) ^ 0x04C11DB7 else: crc 1 crc 0xFFFFFFFF # 保持32位無符號 return crc ^ 0xFFFFFFFF # IEEE標準終值異或0xFFFFFFFF # 驗證函數(shù)用標準測試向量 def test_crc32(): test_data b123456789 expected 0xCBF43926 # ISO 3309標準值 result crc32_ieee(test_data) print(fTest 123456789: {hex(result)} {hex(expected)}? {result expected}) if __name__ __main__: test_crc32()與MCU端對齊的關(guān)鍵點crc ^ byte 24將輸入字節(jié)放到32位CRC的最高8位模擬C端crc ^ (uint32_t)data[i] 24crc 0xFFFFFFFF強制32位無符號避免Python整數(shù)自動擴位return crc ^ 0xFFFFFFFFIEEE標準要求終值異或這是最常被忽略的點很多Python教程漏掉這步導(dǎo)致與硬件端不一致。更優(yōu)方案使用zlib但需注意字節(jié)序import zlib # zlib.crc32()默認是小端序且初始值0需手動調(diào)整 def crc32_zlib_match(data: bytes) - int: # 先用zlib計算小端序init0 crc zlib.crc32(data) 0xFFFFFFFF # 轉(zhuǎn)換為IEEE標準初始值0xFFFFFFFF終值異或0xFFFFFFFF # zlib不支持自定義init所以用位運算模擬 return crc32_ieee(data) # 直接用上面的手動實現(xiàn)更可靠實操心得第一次聯(lián)調(diào)時我用zlib.crc32()得到結(jié)果0x12345678而MCU端是0x87654321折騰半天才發(fā)現(xiàn)zlib默認init0而IEEE要求init0xFFFFFFFF。手動實現(xiàn)雖然慢但可控、可調(diào)試、100%對齊。4. 踩坑復(fù)盤那些讓工程師熬夜的CRC陷阱4.1 陷阱一字節(jié)序混亂——你以為的“高位在前”其實是“低位在前”這是最隱蔽的坑。溫濕度傳感器報文通常是二進制格式例如SHT30的溫度值真實數(shù)據(jù)0x1234表示某個溫度MCU發(fā)送時按小端序存儲為0x34 0x12低字節(jié)在前但CRC計算時是按內(nèi)存順序逐字節(jié)處理即先處理0x34再處理0x12問題來了如果你的服務(wù)端Python按大端序解析struct.unpack(H, b\x12\x34)得到0x1234但CRC計算卻用小端序字節(jié)流b\x34\x12——這沒問題。但如果你錯誤地把解析后的整數(shù)0x1234再轉(zhuǎn)回bytes用struct.pack(H, 0x1234)得到b\x34\x12再算CRC結(jié)果正確但若用struct.pack(H, 0x1234)得到b\x12\x34CRC就錯了真實案例我們某款產(chǎn)品用SHT30MCU端按小端序發(fā)送服務(wù)端用Pythonstruct.unpack(H, payload[0:2])解析溫度一切正常。后來增加固件升級功能需對整個固件包計算CRC32。開發(fā)同事直接用zlib.crc32(firmware_bytes)結(jié)果校驗失敗。排查發(fā)現(xiàn)固件bin文件本身是小端序但zlib.crc32()處理的是原始字節(jié)流無需轉(zhuǎn)換——他錯誤地認為“解析溫度用了小端CRC也要用小端”于是把固件bytes用struct.unpack(I, ...)拆成整數(shù)再pack回來徹底打亂字節(jié)序。避坑指南CRC永遠作用于原始字節(jié)流raw bytes不是解析后的整數(shù)無論你用struct.unpack怎么解析數(shù)據(jù)CRC計算前必須用原始payload切片在MCU端確保CRC計算函數(shù)輸入的是uint8_t*指針不是uint16_t*——后者會因平臺字節(jié)序?qū)е轮羔樚D(zhuǎn)錯誤4.2 陷阱二內(nèi)存對齊導(dǎo)致的“隱形”數(shù)據(jù)錯位STM32F103的GCC編譯器默認啟用內(nèi)存對齊優(yōu)化。當(dāng)你定義一個結(jié)構(gòu)體typedef struct { uint8_t cmd; uint16_t temp; uint16_t humi; uint16_t crc; } __attribute__((packed)) sensor_frame_t;__attribute__((packed))強制取消對齊但若你忘了加編譯器會按4字節(jié)對齊導(dǎo)致temp字段實際偏移為4cmd占1字節(jié)填充3字節(jié)humi偏移為8crc偏移為12。而你的CRC計算卻按緊湊布局cmdtemphumi1225字節(jié)進行結(jié)果自然錯位。更隱蔽的情況使用LwIP的pbuf時pbuf_copy_partial()拷貝的數(shù)據(jù)可能因pbuf內(nèi)部碎片化而包含填充字節(jié)。我們曾遇到pbuf鏈表中第一個pbuf存4字節(jié)第二個存12字節(jié)pbuf_copy_partial(p, buf, 16, 0)會把兩段數(shù)據(jù)連續(xù)拷貝但中間無填充——這本該正確。然而當(dāng)p-len為16時pbuf_copy_partial()實際拷貝16字節(jié)但我們的報文只有14字節(jié)2字節(jié)CRC最后2字節(jié)是隨機內(nèi)存值CRC計算時包含了這2字節(jié)垃圾數(shù)據(jù)必然失敗。解決方案結(jié)構(gòu)體必須加__attribute__((packed))并在頭文件中用#pragma pack(1)雙重保險CRC計算前務(wù)必用p-tot_len獲取總長度用pbuf_copy_partial()拷貝時指定準確長度而非p-len在MCU端接收后先用memcpy到固定緩沖區(qū)再計算CRC避免直接操作pbuf4.3 陷阱三協(xié)議?!按鷦凇币l(fā)的雙重校驗以太網(wǎng)溫濕度傳感器若走TCP協(xié)議有人會想“TCP本身有校驗和我再加CRC是不是多余”答案是在應(yīng)用層加CRC不是為了防傳輸錯誤而是防應(yīng)用層邏輯錯誤。但問題在于LwIP的TCP校驗和只覆蓋TCP首部payload而你的CRC若計算范圍包括TCP首部就會沖突。真實故障某客戶用TCP上傳溫濕度數(shù)據(jù)MCU端對“應(yīng)用層數(shù)據(jù)”不含TCP首部計算CRC16但誤將TCP首部也納入計算范圍。Wireshark抓包發(fā)現(xiàn)同一份應(yīng)用數(shù)據(jù)TCP校驗和正確但CRC16錯誤。原因是TCP校驗和計算時會對偽首部IP源/目的地址、協(xié)議號、TCP長度進行異或而你的CRC計算不可能知道這些值。正確做法CRC永遠只計算應(yīng)用層有效載荷即TCP payload部分不含TCP首部或UDP payload不含UDP首部在LwIP中tcp_recved()回調(diào)的pbuf其payload起始位置是TCP首部之后pbuf_header(p, -TCP_HLEN)可跳過首部更穩(wěn)妥在應(yīng)用層socket recv()后用recv()返回的實際字節(jié)數(shù)作為CRC計算長度完全避開協(xié)議棧細節(jié)4.4 陷阱四編譯器優(yōu)化引發(fā)的“幽靈”錯誤GCC的-O2優(yōu)化可能重排CRC計算代碼。我們曾用位運算CRC16在-O2下出現(xiàn)偶發(fā)錯誤。反匯編發(fā)現(xiàn)編譯器將crc 1和if (crc 0x8000)合并為一條LSL指令但未處理進位標志導(dǎo)致條件判斷失效。解決方案對CRC計算函數(shù)加__attribute__((optimize(O1)))禁用激進優(yōu)化或用volatile修飾臨時變量不推薦影響性能最佳實踐使用查表法編譯器對查表優(yōu)化穩(wěn)定且速度更快5. 工程師必備CRC校驗快速驗證與調(diào)試工具鏈5.1 現(xiàn)場快速驗證三板斧當(dāng)溫濕度傳感器上線后CRC頻繁失敗別急著改代碼先用這三招快速定位第一斧Wireshark抓包直出CRC值過濾UDP報文udp ip.addr 192.168.1.100傳感器IP右鍵報文 → “Protocol Preferences” → “UDP” → 勾選“Calculate checksum”在Packet Details面板展開UDP → 找到“Data”字段右鍵“Export Packet Bytes”保存為bin文件用Python腳本讀取bin文件截取payload去掉UDP首部8字節(jié)計算CRC并與末尾2/4字節(jié)比對第二斧MCU端串口打印原始字節(jié)流在DMA接收中斷里添加臨時調(diào)試代碼// 僅調(diào)試用正式版刪除 if (p-len 32) { // 防止大量打印 printf(RX[%d]: , p-len); for (int i 0; i p-len; i) { printf(%02X , ((uint8_t*)p-payload)[i]); } printf(\r\n); }將打印的16進制字符串復(fù)制到Python腳本用bytes.fromhex(12 34 56...)生成bytes對象再算CRC。這能100%確認MCU端數(shù)據(jù)是否正確。第三斧硬件信號發(fā)生器注入測試用Saleae Logic Analyzer抓取MCU的SPI/I2C波形導(dǎo)出CSV用Python解析出SHT30原始數(shù)據(jù)再算CRC。這能排除“傳感器硬件故障導(dǎo)致數(shù)據(jù)錯亂”的可能。5.2 跨平臺CRC一致性驗證表為杜絕MCU與PC端CRC不一致我們制作了標準化驗證表部分輸入數(shù)據(jù)hexCRC16-CCITThexCRC32-IEEEhex生成工具001021B25E3270NIST SP800-38A00 013020E5919FD2Python手動實現(xiàn)00 01 027023A833D17CSTM32F103實測31 32 33 34 35 36 37 38 3929B1CBF43926ISO 3309使用方法將MCU端計算結(jié)果填入表格與標準值比對若不符檢查多項式、初始值、反轉(zhuǎn)規(guī)則是否一致所有團隊成員必須用同一份表格禁止自行生成測試向量5.3 生產(chǎn)環(huán)境CRC監(jiān)控策略在量產(chǎn)設(shè)備中我們部署了三級CRC監(jiān)控一級靜默丟棄校驗失敗報文直接丟棄不記錄日志節(jié)省Flash空間但通過LED快閃提示如3短2長表示CRC錯誤。二級統(tǒng)計上報每小時統(tǒng)計CRC失敗次數(shù)通過UDP發(fā)送到運維服務(wù)器。閾值設(shè)置正?!?次/小時警告2~5次/小時可能線路干擾故障5次/小時需現(xiàn)場檢查傳感器或網(wǎng)線三級自動切換當(dāng)連續(xù)10次CRC失敗MCU自動切換到備用通信通道如降級為串口RS485并上報“主通道CRC異常”。這避免了單點故障導(dǎo)致數(shù)據(jù)全斷。最后分享個小技巧在MCU Flash里固化一份“黃金CRC測試數(shù)據(jù)”開機自檢時運行CRC計算結(jié)果寫入備份RAM。若某天設(shè)備CRC異??上茸x取備份RAM里的自檢結(jié)果——如果自檢通過說明是通信鏈路問題如果自檢失敗則是MCU硬件故障。這招幫我們快速區(qū)分了80%的現(xiàn)場問題。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
四色综合网| 91窝窝| 婷婷丁香亚洲色综合91| 丁香五月av| 久久99热这里| www.五月天| 99热777| 久久婷鲁| 99爱在线视频| 五月天婷婷激情| 99久久久99久久91熟女| 日日夜夜狠狠操| 中文字幕综合| 五月婷婷丁香日韩在线| 婷婷金品综合视频| 五月情婷婷| 亚洲无码另类| 五月婷色丁香| 亚洲视频一区| 九九精品综合| 婷婷五月天电影在线| 日本免费91| 97人人草| 99热这里都是精品| 丁香六月情| 亚洲中文字幕网| 琪琪布丁香社区激情五月天| 97碰在线视频| 久热这里| 色婷婷小说| 久久人操| 热热99爱爱| 久久久免费精彩视频| 深爱激情69热| 五月丁香av在线| BT综合在线视频观看| 亚洲精品久久久久久久久久吃药| 91天天操天天干天天射| 亚洲成人中心| 天天插综合| 五月香蕉综合| 九九精品视频免费在线| 伊人久久婷| 琪琪色网在线| 日韩少妇内射免费播放| 天天做天天爱| 六月婷婷五月丁香| 久色网五月| 免费啪啪亚州视频| 天天爽天天| 亚洲综合色色| 色综合天天天天做夜夜| 色婷婷五月天小说网| 欧洲毛片基地c区| 亚洲1区| 五月天激情子轮| 久久色天堂| 日本三日本三级少妇三级66| 99久久婷婷综合| 午夜婷婷五月天| 女人天堂av| 五月婷婷色播| 91人妻人人操人人爽| 亚洲永久免费| 成人短视频在线观看| 婷婷五月小说色综合| 91丁香婷婷综合久久欧美| 色婷婷影院| 五月丁香在线婷婷蜜桃| 伦99热| 婷婷久久婷婷色五月| 婷婷五月综合社区| 九月色婷婷综合亚洲| 。久久久久久久久久久久久久人妻| 色五月综合激情网| 久久九九激情五月天 | 麻豆AV一区二区三区| 狠狠色丁香乆乆| 婷婷五月花| 97精品综合久久内射| 亚洲成人av在线播放| 婷婷五月激情天| 婷婷五月丁香基| 丁香五月亚洲无码| 五月婷婷免费在线视频| 亚洲久久天堂| 婷婷六月天天| 99精品热视频| 99视频综合网| 天天色天天色天天色天天色天天色| 丁香五月婷中字幕| 日韩成人网址| 97五月天婷婷综合激情网| 色五月激情婷婷| 婷婷六月天天| 蜜臀AV在线观看| 久久久久久9热不雅视频| 激情五月色婷婷| 99爽视频| 亚洲色99| 亚洲中文无码成人| 久草婷| 色小说五月天| 4399在线观看免费高清电视剧| 色99综合色88| 九九这里精品| 五月婷婷久久大香蕉| 99爱在线视频| 99在线精品免费视频| 婷婷丁香五月天综合AV| 激情人妻蜜夜系列区| 四LLL少妇BBBB槡BBBB| 九九亚洲无码| 国产毛片精品一区二区色欲黄A片| 五月天无码| 天久综合91综合首页| 久久久久久9| 婷婷大乡焦噜噜| 精品无码久久久久久久久| 五月激情久久| 性色欲情 网站| 久久视频在线视频| 丁香色成人| 久久av电影| 偷拍91九色| 99精品偷自拍| 色啪影院| 色婷六月| 丁香五月激情综合啪啪| 亭亭五月丁香综合欧美| 久久色五月| 天天干人人奸97| 俺去也综合| 特级西西4444www无码| 婷婷久久精品| 五月草影视| 99热九九这里只有精品| 五月久久婷婷天堂视频| 丁香婷婷老熟女综合网| 久久99综合| 国产67194| 免费精品99| 中文网av| 五月天社区狠狠| 久操b网| 亚洲影院婷婷色| 99久热| 99热99色| 久久人人超| 五月婷亚洲精品| 丁香婷婷久久老熟女综合网| 我要色综合五月婷婷| 538在线| 欧亚洲在线高清视频| 成人网在线视频| 激情久久月| 丁香五月 激情文学| 欧美顶级少妇做爰HD | 五月婷婷影| 天天干天天操天天上| 五月永久激情| 欧美另类五月激情| 婷婷丁香五月在线播放| 五月激情网综合| 99re这里有精品手机在线| 涩涩五| 婷婷六月激情小说网| 亚洲国产成人在线| 九九色图| 亚洲日韩国产黑丝黑丝AVAV一区二区三区| 大香蕉婷婷丁香视频在线| 五月丁香六月激情综合| 久久婷婷激情| 六月丁香激情综合网| 亚洲av成人在线| AV伊人青草丁香六月| 色五月婷婷中文字幕在线观看 | 五月激情综合深爱| 久久久精久人妻| 五月草影视| 丁香婷婷情色五月天| 日本色图综合| 无码免费人妻A片AAA毛片西瓜| 影音先锋91在线资源站| 婷婷狠狠狠爱| 天天色月| 五月婷婷啪啪网| 丁香五月激情婷婷婷婷在线观看| 久99久热| 久久99综合| 人人妖人人97| 碰碰碰97国产| www.婷婷六月天| 色五月xxx| 综合xx网| 99久久精品国产色欲| 五月天婷婷色综合| 9久热在线视频| 六月丁香婷婷视频综合在线观看| 日日日影院| 五月丁香婷婷导航视频| 麻豆雪千夏| 成人精品视频99在线观看免费| 大香蕉视频99| 色欲婷婷夜夜| 丁香六月婷| 思思热久热| 天天操天天插| 大地资源色婷婷视频在线| se婷97| 99re久久| 色爱五月天| 欧美性爱五月天| 色综啪啪| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月天婷婷激情在线色图| 91婷色| 另类图片婷婷五月天| 久久综合中文| 99在线热视频| 狠狠操之狠狠操| 日韩在线一级| 婷婷五月天狠狠色| 狠狠ri| 九月激情网| 天天干天天射色综合| 综合久久99| 日日夜夜干| 色色婷婷丁香五月天| 色 五月婷婷基地| 久草视频一,二三四| 成人五月丁香花| 草操网| 激情丁香五月| 97人人干视频| 秋霞学生妹一二级| 国产成人精品一区二三区熟女在线| 九月婷婷色色| 日本婷婷五月天| 大香蕉丁香| 色色婷五月天| 五月婷婷综合在线| 大香蕉九九| 色综合色| 欧美超碰亚洲| 夜夜天天天天天干天天爽| 五月天激情综合| 婷综合| 婷婷色丁香六月| 亚洲黄色操逼| 涩婷婷五月天| 99精品视频推荐| 五月婷婷伊人在线| 任你搞免费视频观看| 好好日激情五月天| 丁香五月色| 久久久久久久五月婷婷六月丁香综合,开心激情综合网 | 亚洲色情一区二区三区四区| 久久丁香五月婷| 丁香五月电影| 久久9RE热视频精品98| 天天摸天天做天天爱天天爽| 91肏| 人人摸人人摸| 97婷婷五月激情六月丁香伊人| 天天干天天爽天天操| 麻豆精品| 91综合色| 亚洲色婷婷| 337p大胆噜噜噜噜噜91Av| 欧美人人操| 九九热黄色| 色婷婷激情| 丁香五月天殴美激情| 亚洲啪啪自拍| 久艹大香蕉| 五月婷婷六月丁香免费| 日产精品久久久久久久蜜臀| 26uuu最新地址| 亚洲无线视频| 激情综合久久| 五月丁香欧美在线| 五月天激情久久| 丰满人妻妇伦又伦精品国产| 91丁香五月| 天天摸.天天mo| 欧美午夜乱妇午夜福利| 青青草成人网| 26uuu国产色| 六月婷婷毛片| 五月婷啪啪| 七七九九色色| 4399高清无码视频| 国产成人片| 黄色激情五月天| 深爱婷婷基地| 99久高清视频| 五月天桃色深爱网| 五月色天情| 婷婷五月天色| 99热思思| 丁香五月天在线观看| 夜夜骑日日操| 香蕉综合在线| 99色视| 天天色色天天| 五月天激情丁香| 天天干天天日日| www.色婷婷.com| 9九九久久精品无码专区| 天天久久人人| 婷婷丁香五月天色色| 久久九九色| 99久久性爱| 色婷婷国色天香综合| 超碰中文字幕在线| 国产午夜伦鲁鲁| 欧美丁香婷婷五月| 99热精品观看| 综合五月天婷婷色| 丁香五月1页| 99热一本久道| 九九艹女| 综合网精品99| 色色五月婷婷网| 婷婷丁香久久| 九九热99免费视频| 五月天天视频| 九九性视频| wWW九九在线播放| 最新高清无码专区| 国产又黄又爽又色的免费| 丁香五月婷婷激情蜜桃| 亚州性爱99| site:wpjngj.com| 色5月婷婷| 五月丁香啪啪啪综合网| 丁香六月狠狠干| 五月丁香综合激情网| 婷婷五月丁香性爱| 丁香青青五月天| 96色婷婷| www.婷婷,com| 久久综合影院| 日韩人妻在线观看| 综合啪啪| 99色在线观看免费| 五月婷婷丁香深深爱| 国产亚洲色婷婷久久99精品91| 色婷婷免费观看| 国产欧美熟妇另类久久久| 天天色视频| 五月天成人综合| 成人片在线播放| 五月天com| 丁香五月天视频| 久久综合五月天| 五月丁香综合啪啪| 欧美啄木乌丝袜人妻系列| 久久96热| 婷婷九九色| 综合超碰熟| 97亚洲婷婷| 天天做天天爱天天综合| 99热播放| 五月天色色网站| 伊人大香蕉在线视频| 欧美婷婷九月| 成人国产网| 精品热九九| 色99日韩| 激情五月综合久久| 狠狠久久婷五月综合色| 可以直接看的av| 思思久热6| 大香蕉啪啪| 日本三级日本黄色| 久久人妻精品| 五月丁香色色网| 色狠狠综合| 久久99草五月婷婷| 成人五月丁香花| 婷婷综合五月天| 99热这里只有在线| 五月色 亚洲| 色热久| 九九精品9| 激情五月丁香婷婷| 91久久婷婷人人澡草| 丁香五月婷婷啪| 综合五月丁香六月婷婷| 五月婷婷性爱网| 天天色天天日| 九色视频91| 五月婷婷六月丁香色| 婷婷五月天无码视频| 色网五月婷婷| 青青草国产亚洲精品久久| 九九热欧美| 婷婷丁香激情综合色情| 激情五月天网页| 久热精品视频在线观| 婷婷天堂视频| 538任你爽视频不一样的| 丁香婷婷浪潮AV久久综合| 天天插综合| 蜜臀av粉嫩av懂色av| 天天日夜夜帕| 久99热| 天天日天天摸天天| 亚洲色婷婷色| 色婷婷婷av | 国产五月丁香在线| 2015好吊操| 亚洲六月色婷婷| 五月天大香蕉AV| 婷婷视频在线碰| 中字幕视频在线永久在线观看免费| 婷婷伊人綜合中文字幕| 色五月天丁香| 婷婷五月在线视频| 玖玖婷婷综合| av在线观看免费| 久久综合中文字幕| 久久9视频欧美| 国产avapp 网| 色啪影院| 色99在线| 国产露脸150部国语对白| 97在线精品| 激情婷婷五月天| 五月天综合在线| 91九色在线| 色情五月丁香| www.夜夜操| 欧美性爱五月天| 亚洲亚洲人成综合网络| 婷婷99视频在线| 亚洲免费综合一区| 99精品九九| 婷婷五月激情在线| 9999热在线观看| 色婷婷色综合激情91| 亚洲AV无码影院| 99热久97| 久久九色| 天天网站天天爽| 婷婷色色播五月天| 亚洲婷婷激情五月天| 色婷婷五月天视频在线| 欧美韩日AAA网站| 久久久99精品| 99亚洲视频| 丁香五月AV| 91婷婷丁香| 激情五月婷婷视频一区二区三区| 香蕉久久av一区二区三区| 婷婷色网站| 色九九综合| 激情网五月天| www.九九婷婷| 人人澡玖玖一| 亚洲婷婷月丁香五月| 欧美综合在线五月天色婷婷| 天天日夜夜曹| 99成人小视频| 综合久久五月天| 色婷婷九月| 五月开心激情| 超碰久热| 色五月婷婷综合| 中文字幕人妻熟女在线| 九九激情| 天天插操| 超级碰碰91| 激情综合色婷婷啪啪六月天| 婷婷五月大| 婷婷玉月丁香五月在线视频| 色99色| 色综合伊人网| 91男人资源站| 婷婷干六月综合旧址| 大香蕉天堂| 丁香六月婷| 大香蕉人人网| 五月丁香网av| 丁香六月激情综合| 99视频在线| 六月婷婷操逼| 人人亚洲| 色99在线| 日日操夜夜擼| 五月婷中文字幕| 五月丁六月香av| 99综合| 激情五月天综合网| 婷婷伊人綜合| 五月婷婷和六月| 看片视频在线免费日产在线看| 99在线播放视频| 激情玖玖sh| 99色热视频| 五月天堂色| 五月天激情网页| www.久久久久久久| 欧美成人精品A片免费一区99| 色五月婷婷天堂| 狠狠五月激情在线| 婷婷五月,偷窥偷拍网| 99热91| 91视频久久久| 热热久久久久久久久| 久热69| 国产午夜精品一区二区三区四区| 色综合网址| 婷婷五月天伊人在线| 久久久精品色| 97色婷婷| 99热这里在线精品| 无码色色色| 亚洲视频在线观看| 色婷婷综合久色AV五色最新| 婷婷五月天激情电影小说| 日本色色色| 99熟女啪啪视频| 狠狠撸激情综合丁香五月天俺来啦| 97操在线视频| 99色.com| 五月丁香婷婷成人综合网| 99在线免费视频| 日韩999| www.99免费视频| 色婷婷五月婷婷五月婷婷五月| 久久婷婷六月综合| 97人妻碰碰碰久久| 激情五月天电影| 婷婷色情 | 激情五月综合色| 一级二级色大片| 91人无码久久久久久| 婷婷 激情 五月| 久操人妻| 91无码视频| 五月丁香六月婷婷不卡免费无码| 丁香五月播播| 午夜免费试看| 人人摸人人操人人爽| 欧美色偷偷大香| 99这里只有精品视频免费| 婷婷五月天天爽| 99资源人人| 99成人小视频| 丁香六月婷婷基地| www.婷婷,com| 少妇高潮呻吟A片免费看软件| 婷婷五月丁香五月| 99色色网| www.五月婷婷| 这里只有精品2| 99网址在线看| 亚洲六月婷婷| 天天射天天操天天干| 亚洲国产成人综合| 成人AV在线电影| 97在线综合| av在线中文| 99色五月| 亚洲婷婷五月| 日韩精品超碰在线观看| 久久精典| www.婷婷| 色情成人五月天| 九月婷婷激情久久| 六月婷婷影院| 亚洲无码色| 五月天五月色婷婷综合| 色久综合| 久久婷婷亚洲五月天| 欧美三级巜人妻互换| 大狠狠在线| 麻豆AV一区二区三区| 五月天欧美 另类小说| 国产XXXX搡XXXXX搡麻豆| 开心五月丁香综合久久| 激情综合网激情五月婷婷| 九九久久综合网站| 色婷婷色综合| 久色五月| 国产毛片欧美毛片久久久| 97干在线播放| 无套内射极品大美女| 99ER热精品视频| 五月婷婷成人w| 精品欧美性爱超级爽| 狠狠干狠狠干狠狠干狠狠干| 激情婷婷五月在线合集| www.99热这里精品| 玖玖无码中文| 五月天婷婷久久| 亚洲 在线 性爱 | 人人爽人人爽人人爽人人爽| 亚洲啪啪精品| 九九婷婷五月天| 天堂资源欧日浪女在线播放| 日韩成人网址| 五月天婷婷日日爱| 99热久| 丁香五月六月欧美| 久久综合播放| 色婷视频| 99青青草| 久久三级视频| 亚洲激情四射色| 97资源碰碰| 99热这里只有精品 搜| 欧美人人操| 精品国产a| 99久久久| 欧美va视频| 婷婷五月视频| aaaaaa片| 另类综合激情| 超级碰碰视频无码| 免费观看全黄做爰的视频| 五月天久久综合| 天堂爱爱| 日韩在线一级| 五月香婷婷| 久久国产性爱A V| 97人碰人操| 五月丁香激| 婷婷五月天成人动漫| 第四色在线观看| 六月激情综合| 欧美婷婷五月激情| 人妻久久婷婷| 久青草影院| 五月亭亭网成人在线视频| 九九熱最新視頻| 色婷婷亚洲综合网站| 男女99免费视频| 大陆肏屄视频| 九九亚洲视频| 怡红院成人AV| 婷婷五月天网| 天天狠狠色| 久热9| 婷婷五月天性爱视频| 五月天综合视频| 深爱激情丁香五月| 97久久香草精品视频| 啪啪五月综合| 1024在线视频| 99精品久久久久久久久| 婷婷丁香成人色综合| 亚洲婷婷五月天| 九九热在线99| 99亚洲视频| 婷婷五月综合在线| 五月停亭六月,六月停亭的英语 | 色婷婷亚洲综合网站| 精品二区| 色婷婷伊人激情在线观看| 人妻丰满精品一区二区A片| 五月天激情久久| 亚洲高清在线| 五月婷婷综合激情| 色婷婷狠狠| 日日干天天爽| 五月天婷婷综合网| 婷婷色色五月天| 99精品久久| 婷婷精品| 一本大道伊人AV久久综合| 亚洲妇女熟BBW| 色色99| 亚洲亚洲人成综合网络| 亚洲经典三级| 五月婷婷综合在线亚洲视频| 激情综合网激情五月丁香五月俺也去| 激情操逼婷婷| 禁片二区| 国产超碰人人| 99精品自拍| 91丨九色丨东北熟女| 丁香六月婷婷激情综合| 丁香六月色婷婷欧美| 婷婷97狠狠干| 婷婷五月开心中文字幕在线| 色欲资源网| 色色综合色| 99久久五月婷婷| 久久综合中文字幕| 夜夜骑夜夜操| 国产精产国品一二三在观看| 在线超碰免费| 久久九九99桃花视频| 色99热| 婷婷五月天激情四射| 26uuu淫色| 亚洲色欲AAAAAA| www.久久av.com| 色色99| 色婷婷狠狠| 青青草国产亚洲精品久久| 日本在线播放97| 碰碰碰91| 99热福利| 激情五月五月五月婷婷| 久久久久久人妻久久久久久久久久人妻久久久 | 精品色色色| 激情网婷婷五月天| 人妻内射视频| 五月丁香婷婷成人网| 九九色情网五月天| 大香蕉五月天婷婷| 久久奄也去色色网站| 日日肏夜夜干| 99精品一二三四视频| 婷婷五月激情网| 97久久综合网| 婷婷激情九月| 五月色婷婷综合丁香精品无遮挡| 五月丁香啪啪综合| 色九月| 综合色、色综合| 免费看成人747474九号视频在线观看| 亚洲色涩视频| 丁香六月婷婷综合啪啪| 97婷婷色| 五月天丁香久久综合 | 天天 青草 制服丝袜 在线| 色五月亚洲开心网| a在线观看| 1024国产在线| 97人人操人人| 激情婷婷丁香色五月| 五月丁香综合影院| 国产精品久久久爽爽爽麻豆色哟哟 | 中文字幕在线播放视频| 伊人久久五月天| 97在线碰| 五月天大香焦| 《诡秘之主》在线观看| 丁香五月婷婷六月| 91久久久久久久| 丁香五月97视频| 亚洲99激情| 狠狠干综合| 爱99干99| 丁香五月婷婷激情小说| 草综合14| 亚洲A片成人无码久久精品青桔| 干一干xxxx| 啪啪干伊人婷婷| 99ri精品视频在线观看| 婷婷综合国产| 这里只有精品,日韩视频| 婷婷五月免费视频| 99re6在线视频精品免费| 五月激情网站| 五月天天天色| 99精品成人无码A片观看金桔| enecarbon-materials.com污K127封锁请涟系@wip1688 | 婷婷久久大香蕉| 亚洲色色香蕉| 国产成人精品一区二三区熟女在线| 五月婷婷丁香啪啪| 99综合一区| 国产精产国品一二三在观看| 中文字幕永久免费| 天天色天天操天天射| 激情5月婷婷| 欧洲永久精品| 91avse| 96色婷婷| 丁香综合网| 日本欧美成人片AAAA| 久操综合| 操逼巨乳91| 99热黄| 日日想日日夜日日操| 天天天天天天操| 激情综合网五月| 人人干人人操人人摸| 五月天网址在线刘玥| 中文精品久久久久人妻不| 亚洲成人超碰| 97香蕉人人在线观看| 综合色综合| 大地资源色婷婷视频在线| 色婷婷WWW| 人妻AV在线观看| 九九九九九九毛片| 天天插天天插天天插天天插| 97碰碰免费.视频| 色插综合网| 日本99热| 天天肏屄夜夜爽| www.久久久久| 久久性爱视频| 97啪啪| 99熟女视频| 狠狠狠狠狠狠色| www.9797国产| 丁香五月天婷婷中文字幕| a毛片二逼wwwwwwwwww| 狠狠色五月| 国产乱妇无乱码大黄AA片| 狠狠看狠狠| 人人爱国产| 久色网| 亚洲欧洲另类| 操操啪| 97自拍视频在线| 婷婷99狠狠躁天天| 亚洲无码另类| 欧美久久婷婷| 9 1超碰九色| 激情综合网五月丁香| 99这里有精品视频| 香蕉网久久| 99久精品视频| 97色片| 色婷婷五月天偷拍| 丁香五月六月久久综合 | 久热爱大香蕉在线蜜臀悦色 | 丁香五月五月婷婷| 婷婷五月天成人娱乐| 五月丁香激情综合网| 乱女乱妇熟女熟妇综合网站| 国产69久久久欧美黑人A片| 天天爽曰日爽| 99热热热天天人人人超超碰| 婷婷色5月激情网| 婷婷久久在线| www,色婷婷| 二色AV| 婷婷五月天成人网| anquye五月| 月丁香久久久| 99九九综合久久九九| 性一交一乱一交A片久久四色| 久色视频| 天天日夜夜操五月| 91综合网| 猫咪伊人久久| 丁香五月在线人妻| 男妓跪趴把舌头伸进我的嘴巴| 人人爽人人爽人人爽人人爽| 日韩有码一区| 狼友超碰| a色色片| 天天色天天操天天射| 无码 色| 五月丁香网站| 99热66| 伊人婷婷五月| 中文字幕性爱视频| 婷婷伊人| 欧美97p| cao久久| 色屌丝中文字幕| 91人妻视频| 久久婷婷亚洲无码一起| 婷婷99狠狠躁天天躁| 国产26uuu视频| 99热在线网站| 综合婷婷| 色色婷婷综合网| 久久99大全| 99热精品在线观看| 播五月丁香六月| 日韩操逼大片| 亚洲日韩乱码一区二区三区四区| 影音先锋777xfplay色资源网站| 色婷婷9| http:色情日本com| 综合啪啪| 久久狠色噜噜狠狠狠狠97| 九九99视频精品| 超碰人人干| Va另类视频| 成人综合视频在线| 国产精品日本一区二区在线播放| 六月激情婷婷| 狠狠干天天内射| 在线91日韩| 激情五月婷婷| 婷婷在线激情| 婷婷久久视频| 香蕉网久久| 91九色最新视频| 99riAv1国产在线观看| 色狠狠六月| 成人Av在线大片| 亚洲亚洲人成综合网络| 婷婷的色色五月天| 六月天六月婷| 亚洲综合久| 99热欲| 大香蕉手机视频| 精品人妻伦一二三区久久| 婷婷五月成人有| 玖玖99精品视频| 大战熟女丰满人妻AV| 97操视频| 婷婷色五月色| 伊人丁香五月| 99ri国产| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 涩五月丝袜婷婷| 狠狠精品干练久久久无码中文字幕| 天天做天天爱天天玩| 91dy.av| 综合久久婷婷| 狠狠色丁香久久婷婷综合五月| 亚洲乱码日产精品BD| 久久99精品视频| 能直接看的av网站| 99re这里有精品手机在线| 99热精品在线| 色综合色色色色| 久久综合66| 色九月婷婷| 亚洲成人在线免费| 日本色爽| 五月丁香婷婷潮喷中文字幕| 五月丁香WWW| 91九色国产| 91人人操| 性爱五月婷婷| 日本三级第一页| www.激情| 天天色天天操天天射| 色哟哟www| 天天搞天天爽| 婷婷五月丁香网| 五月丁香六月色婷婷| 99久99热| site:hcxsz888.com| 97人人干人人操| 任你擦免费视频| 免费操超碰| 97人人操人人插| 国产黄大片在线观看画质优化| 涩五月婷婷| 亚洲啪视频| 色婷婷免费视频| 久久婷婷视频| 色色色色网| 丁香五月婷婷色偷偷| 激情都市五月天| 激情婷婷五月天伊人在线观看| 久久免费精品小视频| 色综合久久44| 五月天丁香成人社| 欧美性爱日韩性爱| 天天操精品| 日韩AV中文字幕在线| 九九九AAA热视频| 欧美五月婷婷综合| 久久免费高| 九月丁香很很色| 一区二区三区四日本| 国产精品18久久久| 激情内射人妻1区2区3区| 天天爽天天爽| 欧美性猛交AAAA片黑人 | 人妻久久久| 疯狂做受XXXX高潮A片动画| 五月天激情小说| 欧洲第一无人区观看| 亚洲视频在线观看| 偷偷与邻居做爰完整视频| 五月婷婷激情| 免费看欧美成人A片无码| 中文字幕在线免费看线人| 粉嫩AV久久一区二区三区| 99热精品在线观看| www.超碰97| 五月婷婷 激情按摩| 五月天丁香啪啪网| 日逼影音先锋AV男人资源站| 婷婷伊人五月丁香天堂网| 五月叮香啪| 97人操人免费视频| www.99久| 在线观看五月婷婷网| 婷婷五月天777| 甈吧vv| 天天色激情| 久久五月天综合| 五月天婷婷操逼视频| 啊v视频在线观看| 色色色99| 性做爰A片免费视频A片直播| 97luluse| 综合www色| 色色色婷| 26uuu视频欧美| 人妻在线中文字幕久久| 3www激情| 97色色综合| 操碰91| 黄桃AV无码免费一区二区三区| 610018岁成人视频| 九九热青青草| 超碰成人在线观看| 丁香无五月网| 国际国外精品欧洲南美洲专区无码不卡| 亚洲aV写真天天综合网久久| 天天影院色| 天天干 夜夜爽| 中文字幕在线免费看线人| 超碰妻人人| 伊人网啪啪| 91丨熟女丨首页| 久久这里只有欧美| 激情綜合網址| 六月丁香久久| 亚洲丁香婷婷| 五月综合丁香婷婷| 国产99精品免费视频| 五月婷婷之美女图片| 日韩精品一区二区亚洲AV观看 | 人妻丰满精品一区二区A片| 中文字幕综合网| 亚洲精品成人| 久久丁香综合精品综合| 激情五月天啪啪| 成人深爱丁香五月| 99精品免费欧美小视频 | 五月婷婷五月天激情视频| 中文字幕色色色| A片一曲| 天海翼中文字幕高| 五月激情射| 这里只有精品热| 激情五月天激情五月天| 色无码| 激情综合文学| 91精品国产91久久久久青草| 婷婷婷五月天最新综合你懂的| 色爱综合网| 疯狂做受XXXX高潮A片动画| 一起肏在线视频| WWW五月婷婷| 激情五月天在线视频| 九九这里只有精品| 色级婷婷| 99视频地址| 九九亚洲| 成人无码精品1区2区3区免费看| 在线看av| 亚洲无码成人性爰网| 日韩久久色| 色五月色综合| 九九国产视频| 激情www| 五月激情小说| 99热网址| 情涩婷婷五月天| 五月婷婷色五月| 丁香五月 激情文学| 亚洲综合新99视频| 棕合影院色色| 人妻在线观看视频| 六月五月丁香五月欧美| 九九热精品视频在线观看| 97在线观视频免费观看| 99久久精品色老| 五月丁香婷婷俺| 婷婷五月成人| 超碰在线免费| 精品成人a v无码内射| 99热精品在线观看| 久久婷婷啪啪视频| 天天激情站| 久久精品一区二区三区四区| 99久久婷婷国产综合精品草原| 在线观看中文字幕| 屁股翘好撅高迎合跪趴| 亚洲啪视频| 99免费在线视频| 久久se 综合网 | 2015WWW永久免费观看播放| 五月亭亭激情综合| 婷婷久久丁香五月| 开心五月激情网| 久久99久久99精品免视看婷婷| 久久激情网| 日本人妻伦在线中文字幕| 六月色丁香婷婷| 婷婷丁香五月天熟女丝袜| 色婷天天| 色频玖玖五月天| 亚洲五月天激情| 久在线综合69| 亚洲综合网激情五月天| 欧洲色色| 狠狠五月激情在线| 色五月播五月| 深爱五月月天| 久久思思热| 综合欧美五月婷婷| 可以看的av| 色婷婷婷av| www.色五月| 天天综合天天做天天综合| 五月丁香啪啪综合| 秋霞黄色一级久久| 99色在线观看| 丁香六月 人妻| 超碰在线观看三级片| 婷婷五月综合激情小说| 色99综合色88| 色情五月婷婷| 91婷婷五月丁香碰| 九九亚洲综合| 99热最新精品| 五月色情| 丁香婷婷视频一区二区| 丁香五月97视频| 美欧日韩国产成人在战| 九月婷婷久久久| 中文字幕日产A片在线看| 热99这里只有精品视频| 五月丁香A片| 九九热10| 丁香色六月婷婷| 丰滿爆乳一区二区三区| 午夜婷婷久久 | 99久久99热| 婷婷天天五月天| 激情丁香六月| 日韩a热| 激情小说色五月| 色欲久久久久久综合网综合网| 国产激情av| 97很鲁在线视频| 色综合伊人网| 五月丁色AV| 五月激情久久| 丁香五月六月综合激情| 亚洲精品五月| 996热re视频精品视频| 国产毛片精品一区二区色欲黄A片| 婷婷五月天激情基地| 无码色| 天天狠狠六月婷丁香影院| 国产乱码久久| 激情丁香五月| 午夜婷婷| 丁香五月天狠狠| 色播五月丁香婷婷| 538任你爽视频不一样的| 免费无码毛片一区二区A片 | 夜夜爽77777妓女免费下载| 九九热精品视频在线观看| 97婷婷丁香五月天激情图片| 大胆伊人久久| av国产精品| 六月婷婷激情图片| 久 久9 9 热 视 频| 久久色五月| 婷婷射丁香| 日本婷婷色| WWW.国产| 色欲色香综合网| 激情五月天偷拍综合网| 99热99精品在线观看| 国产成人网| 亚洲超级碰| 在线亚洲综合| 性欧美大战久久久久久久83| 人妻操逼视频| 婷婷五月婷婷五月| 综合久久伊人| 色情五月天丁香社区| 外国碰视频网站97| www.天天干| 九九99视频精品| 九九爱精品网站| 91啪啪网| 高清无码.com| 超pen个人视频97| se99视频| 久久综合五月天| 国产成人精品亚洲线观看| 色婷五月| 视频一二区| 九九性视频| 日日夜夜婷婷| 777久久久| 婷婷五月在线| 超碰日日操| 五月丁香六月婷婷在线小说视频| yw国产AV| 丁香六月综合激情| 思思热热久久| 九九99九九99九九99视频网| 性做久久久久久久免费看| 丁香六月欧美| 色色99色色| 午夜丁香综合婷婷| 青柠影视免费高清电视剧| 精品久久这里热66| 婷婷深爱五月天在线| 色综合久久综合| 九九视频在线观看视频6 | 五月天激情小说网| 国产寻花在线| 五月丁香激情综合网| 天堂网色婷婷| 风流少妇A片一区二区蜜桃| 久99久热| 久99久视频精品| 婷婷五月天网| 国产精品美女| 91啪级电影| 超碰在线人人| 99碰视频| 操逼综合激情网| 99国产精品久久久久久久久久久| 国产.亚洲.欧洲视频在线| 欧美精品熟女一区二区| 热久久77777| 色综合色五月| 久久免费操| 天堂爱啪啪| 玖玖综合玖玖| 色五月激情问网站| 色色色色色色色色色影院| 五月天婷婷久久视频| 免费黄色AV| 欧美三日本三级少妇三99| 狠狠操狠狠操AV| 天天摸人人摸| 色色色色网色色网色色| 婷婷激情五月综合在线视频| 天天上天天爽| 99热精品少| www.av视频xx999.com| 丁香五月天激情婷婷丁香六月 | 99激情在线| 久热久| 亚洲六月色| 色色亚洲视频| 亚洲第一第二网站| 五月天综合| 日本不卡高字幕在线2019| 99国产精品白浆在线观看免费| 国产成人一区二区三区在线观看| 99热这里| 波多婷婷久久| 色色丁香五月天社区| 91 九色 入口| 中文激情网| 激情婷婷色小说| 99热在线99| 天天色综合综合| 天天肏高清在线| 婷婷五月天久久久| 欧美久久九九| 九热视频精品|