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

ARTICLE DETAIL

資訊詳情

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

雙串口MODBUS+DMA+FIFO:STM32從站RS-485數(shù)據(jù)不丟的實現(xiàn)方案

雙串口MODBUS+DMA+FIFO:STM32從站RS-485數(shù)據(jù)不丟的實現(xiàn)方案 簡介雙串口MODBUSDMAFIFO完整工程面向需要實現(xiàn)MODBUS多從機通信與串口高效收發(fā)的STM32開發(fā)者。工程基于FREEMODBUS庫在雙串口場景下引入DMA與FIFO緩沖機制降低CPU負載、保證數(shù)據(jù)有序性可應用于工業(yè)自動化設備、物聯(lián)網(wǎng)節(jié)點等對實時性要求較高的場景。資源包共收錄1220個文件壓縮后僅9.2MB以C/H源碼和工程配置文件為主除約900個源碼文件外還包含STM32CubeMX的.ioc/.mxproject配置、IAR/Keil工程文件、.a/.lib靜態(tài)庫、.hex/.axf構(gòu)建產(chǎn)物以及md/txt說明文檔目錄層次清晰便于對照學習和移植。目前已有1013人學習瀏覽。通過該工程讀者可以直接獲取雙串口DMAFIFO收發(fā)框架、FREEMODBUS從機配置方法、多從機交互邏輯和完整可編譯工程適合作為Modbus協(xié)議棧二次開發(fā)或串口性能優(yōu)化的參考樣例。1. 雙串口MODBUSDMAFIFO到底解決什么問題雙串口MODBUSDMAFIFO這套資源解決的不是“怎么把Modbus代碼復制兩份”的問題而是“兩條RS-485總線同時壓到同一臺從站上數(shù)據(jù)怎么不丟”的問題?,F(xiàn)場很常見1號總線的主站下發(fā)參數(shù)2號總線的主站輪詢運行數(shù)據(jù)兩邊從站地址不同、波特率還不一樣。如果靠串口中斷一字節(jié)一字節(jié)收主程序一進臨界區(qū)或者Flash一擦寫立刻丟字節(jié)。我拆完這套資源后的感受是兩路串口各配一個DMA接收通道用空閑中斷IDLE判定Modbus幀結(jié)束再把DMA緩沖區(qū)里的字節(jié)倒進統(tǒng)一的FIFO隊列交給FreeModbus按幀解析中斷次數(shù)能降一個數(shù)量級。適合手里有STM32從站工程、想把中斷收數(shù)換成DMA收數(shù)的人直接拆改。2. 模塊怎么搭雙串口、DMA、FIFO三者的分工與順序2.1 為什么全中斷接收在雙串口下容易翻車Modbus RTU 的幀邊界很脆弱協(xié)議規(guī)定兩幀之間至少 3.5 個字符時間的靜默幀內(nèi)字符必須連續(xù)。一幀最長 256 字節(jié)按 115200bps 8N1 計算一個字節(jié)位時間約 86.8μs3.5 個字符約 304μs。也就是說整個串口在等字節(jié)的過程中CPU 被迫跟著字節(jié)節(jié)奏走完全沒有彈性。最常見的單字節(jié)中斷收數(shù)代碼長這樣void UARTx_IRQHandler(void) { uint8_t ch; if (__HAL_UART_GET_FLAG(huartx, UART_FLAG_RXNE) ! RESET) { ch (uint8_t)(huartx.Instance-RDR 0xFF); ring_fifo_push(rx_fifo_x, ch); /* 每來一個字節(jié)就壓一次隊列 */ __HAL_UART_CLEAR_FLAG(huartx, UART_FLAG_RXNE); } }這段代碼看著沒問題實際在雙串口時會暴露出兩類開銷一次中斷現(xiàn)場保護壓棧出棧幾十個周期兩次中斷之間還有不可裁剪的調(diào)度窗口。更麻煩的是兩個串口共享同一中斷優(yōu)先級時一旦 1 號總線連續(xù)發(fā)幀2 號總線的字節(jié)會在嵌套向量表里排隊等 1 號把一幀收完2 號硬件接收移位寄存器已經(jīng)被新字節(jié)覆蓋——ISR 沒來得及讀數(shù)據(jù)就沒了。工業(yè)現(xiàn)場還有更隱蔽的情況操作系統(tǒng)臨界區(qū)、Flash 擦寫、調(diào)試打印都會關中斷。實測關中斷 2ms 后9600 波特率下會丟 2 到 3 個字節(jié)。DMA 的價值在于“中斷延遲期間字節(jié)被外設自動搬到內(nèi)存”FIFO 的價值在于“搬過來的字節(jié)還要按順序喂給 Modbus 解析不能一次全推給協(xié)議棧”。這也是這套資源把 DMA 和 FIFO 綁在一起的原因。2.2 推薦接收鏈路DMA 搬字節(jié)IDLE 定幀尾FIFO 排隊整套鏈路拆開看是五段外設字節(jié)進入 RX DMADMA 連續(xù)寫入收發(fā)緩沖區(qū)串口產(chǎn)生 IDLE 空閑中斷時暫停 DMA軟件把緩沖區(qū)中已接收的字節(jié)拷貝進 FIFO應用層再從 FIFO 拉數(shù)據(jù)交給 FreeModbus 分包解析。收數(shù)方式CPU 占用抗中斷延遲幀邊界檢測單字節(jié)中斷最高差RXNE 沒及時讀就丟額外軟件定時器定時器輪詢 RDR中一般字節(jié)被覆蓋風險超時近似DMA 空閑中斷 FIFO低強DMA 自動保存IDLE 中斷天然定位關于 IDLE 中斷要說明一點串口在一個字節(jié)時間內(nèi)沒有收到新的起始位就會拉高 IDLE 標志。Modbus 幀內(nèi)字節(jié)不允許出現(xiàn)這種間隙所以 IDLE 經(jīng)常被當作“幀結(jié)束”的標志。對 115200 而言一個字節(jié)空隙約 87μs小于協(xié)議要求的 3.5 字符時間只要主站字節(jié)間不間斷IDLE 不會被誤觸發(fā)。唯一例外是波特率很低或主站軟件發(fā)送不連貫這類情況后面避坑章節(jié)單獨處理。2.3 雙串口并發(fā)為什么拷貝入 FIFO 不用加鎖兩個串口各自使用獨立的 DMA 通道、獨立的接收緩沖區(qū)和獨立的 FIFO內(nèi)存地址完全不重疊。即便兩條總線同時來幀寫的是不同區(qū)域裸機環(huán)境下不需要互斥鎖。這套資源的文件結(jié)構(gòu)也是這樣設計的兩個 FIFO 獨立應用層有一個統(tǒng)一的輪詢?nèi)肟凇?define UART1_RX_FIFO_SIZE 512 #define UART2_RX_FIFO_SIZE 512 static uint8_t uart1_rx_dma_buf[UART1_RX_FIFO_SIZE]; static uint8_t uart2_rx_dma_buf[UART2_RX_FIFO_SIZE]; static uint8_t uart1_fifo_mem[UART1_RX_FIFO_SIZE]; static uint8_t uart2_fifo_mem[UART2_RX_FIFO_SIZE]; static ring_fifo_t fifo_uart1 { .buf uart1_fifo_mem, .size UART1_RX_FIFO_SIZE }; static ring_fifo_t fifo_uart2 { .buf uart2_fifo_mem, .size UART2_RX_FIFO_SIZE };這里有三個 512 字節(jié)的數(shù)組分別是 DMA 原始緩沖區(qū)和 FIFO 存儲區(qū)。為什么兩個大小一致因為 DMA 一輪最多搬運的數(shù)據(jù)量不會超過 FIFO 容量如果 FIFO 比 DMA 緩沖區(qū)小IDLE 中斷里拷貝時會丟數(shù)據(jù)。如果只跑一個從站256 字節(jié)也夠雙從站且主站頻繁讀多寄存器時512 更穩(wěn)。3. FreeModbus移植與雙串口初始化能抄的代碼和參數(shù)3.1 移植 FreeModbus 時改哪幾個 port 函數(shù)FreeModbus 的串口移植集中在 portserial.c 里核心就是下面幾個函數(shù)函數(shù)作用這套資源的改法xMBPortSerialInit初始化串口與 DMA啟動 HAL_UART_Receive_DMA 接收xMBPortSerialGetByte從 FIFO 取一個字節(jié)ring_fifo_pop(rx_fifo[port])xMBPortSerialPutByte發(fā)送單字節(jié)拉高 DE寫 DR 或走 DCA 發(fā)送xMBPortSerialEnableIrq使能收發(fā)中斷使能 IDLE 中斷發(fā)送完成后關 DEvMBPortSerialClose關閉端口停 DMA關中斷移植的坑通常在 xMBPortSerialPutByte。Modbus 是半雙工協(xié)議發(fā)送前要把 RS-485 方向引腳拉高發(fā)完再拉低。如果只發(fā)一個字節(jié)就立刻拉低最后一個字節(jié)的停止位還在線上對端收到的幀就短了一截。3.2 雙串口的 DMA 初始化與參數(shù)選擇初始化代碼可以直接抄重點看 DMA 通道選擇和傳輸模式void BSP_UART_DMA_Init(void) { /* USART1 接收 DMA默認 NORMAL 模式由 IDLE 觸發(fā)停止 */ hdma_uart1_rx.Instance DMA1_Channel5; /* 按實際型號改 */ hdma_uart1_rx.Init.Direction DMA_PERIPH_TO_MEMORY; hdma_uart1_rx.Init.PeriphInc DMA_PINC_DISABLE; hdma_uart1_rx.Init.MemInc DMA_MINC_ENABLE; hdma_uart1_rx.Init.PeriphDataAlignment DMA_PDATAALIGN_BYTE; hdma_uart1_rx.Init.MemDataAlignment DMA_MDATAALIGN_BYTE; hdma_uart1_rx.Init.Mode DMA_NORMAL; __HAL_LINKDMA(huart1, hdmarx, hdma_uart1_rx); /* USART2 接收 DMA通道換掉其他參數(shù)一致 */ hdma_uart2_rx.Instance DMA1_Channel6; hdma_uart2_rx.Init.Direction DMA_PERIPH_TO_MEMORY; hdma_uart2_rx.Init.PeriphInc DMA_PINC_DISABLE; hdma_uart2_rx.Init.MemInc DMA_MINC_ENABLE; hdma_uart2_rx.Init.PeriphDataAlignment DMA_PDATAALIGN_BYTE; hdma_uart2_rx.Init.MemDataAlignment DMA_MDATAALIGN_BYTE; hdma_uart2_rx.Init.Mode DMA_NORMAL; __HAL_LINKDMA(huart2, hdmarx, hdma_uart2_rx); HAL_UART_Receive_DMA(huart1, uart1_rx_dma_buf, UART1_RX_FIFO_SIZE); HAL_UART_Receive_DMA(huart2, uart2_rx_dma_buf, UART2_RX_FIFO_SIZE); __HAL_UART_ENABLE_IT(huart1, UART_IT_IDLE); __HAL_UART_ENABLE_IT(huart2, UART_IT_IDLE); }兩個關鍵參數(shù)要說明。第一方向必須是 DMA_PERIPH_TO_MEMORY外設地址不自增內(nèi)存地址自增第二模式用 DMA_NORMAL 而不是 DMA_CIRCULAR。這套資源的思路是“收滿一幀就?!钡?IDLE 中斷把數(shù)據(jù)處理完再重新調(diào)用 HAL_UART_Receive_DMA 啟動下一輪。如果用 CIRCULAR 模式緩沖區(qū)會被自己的寫入指針反復覆蓋IDLE 中斷里取數(shù)據(jù)時可能已經(jīng)丟了一截。另外注意 HAL 庫的 HAL_UART_Receive_DMA 會把 huart 的 RxState 置為 BUSY如果 IDLE 中斷里先停 DMA、拷貝數(shù)據(jù)、再重新啟動必須確保上一次調(diào)用已經(jīng)返回 HAL_OK否則會卡在 HAL_BUSY 上。3.3 雙從站地址路由與輪詢邏輯FreeModbus 原生只抽象一個串口雙串口時我習慣做一層獨立的幀分發(fā)不強行套兩個協(xié)議棧實例。思路是先各自從 FIFO 提取完整幀校驗 CRC 后比對從站地址命中哪一路就走哪一路的應答邏輯void MODBUS_Poll(void) { uint16_t len1 0, len2 0; len1 modbus_frame_extract(fifo_uart1, rx_frame[0]); len2 modbus_frame_extract(fifo_uart2, rx_frame[1]); if (len1 0 rx_frame[0].addr slave_addr[0]) { modbus_dispatch(rx_frame[0]); } if (len2 0 rx_frame[1].addr slave_addr[1]) { modbus_dispatch(rx_frame[1]); } }modbus_frame_extract 的邏輯是從 FIFO 里逐字節(jié)彈出邊彈邊算 CRC16直到幀長度超過 4 字節(jié)且 CRC 校驗通過才算拿到一幀完整數(shù)據(jù)。這樣做的優(yōu)勢在于兩條串口互不阻塞1 號總線上一幀 100 字節(jié)的讀操作不會延誤 2 號總線的寫操作。地址路由有個容易忽略的點如果兩條總線上主站恰好用相同從站地址就要在 modbus_dispatch 里帶總線編號參數(shù)應答時找對應的發(fā)送串口和 DE 引腳而不是用全局變量。3.4 RS-485 方向切換和發(fā)送完成判斷發(fā)送方向的切換我一般放在 FreeModbus 的 xMBPortSerialEnableIrq 回調(diào)里void vMBPortSerialEnable(BOOL xRxEnable, BOOL xTxEnable) { if (xTxEnable) { RS485_DE_WRITE(1); /* 拉高 DE進入發(fā)送模式 */ __HAL_UART_ENABLE_IT(huart_send, UART_IT_TC); } else { /* 不能在這里立刻拉低 DE要等發(fā)送完成中斷 */ } }TC 中斷意味著 TDR 寄存器已空但移位寄存器里的最后一個字節(jié)可能還在線上。如果 TC 一到就關 DE總線上的幀尾會被截掉。常見做法是在 TC 中斷里做幾十到一百微秒的延時再關void UART_TC_Callback(void) { volatile uint32_t delay; for (delay 0; delay 120; delay); /* 粗略延時按主頻微調(diào) */ RS485_DE_WRITE(0); }這個延時不追求精確只要大于一個字符的位時間即可。比如 9600 波特率下一個字符約 1.04ms115200 下約 87μs延時 120 個循環(huán)在常見主頻下約幾十微秒到一百微秒勉強覆蓋高速場景。嚴謹做法是按系統(tǒng)時鐘算周期但資源包里的實現(xiàn)通常就是這樣粗調(diào)現(xiàn)場夠用。4. FIFO緩沖與幀邊界判斷把 DMA 搬運的字節(jié)按幀喂給協(xié)議棧4.1 環(huán)形 FIFO 實現(xiàn)與“容量必須是 2 的冪”環(huán)形 FIFO 的代碼很短但容量有個硬性約束必須寫成 2 的冪。原因很簡單取余操作可以換成位與省掉除法指令typedef struct { uint8_t *buf; volatile uint16_t head; /* 寫指針 */ volatile uint16_t tail; /* 讀指針 */ uint16_t size; /* 必須是 2 的冪 */ volatile uint16_t len; /* 當前數(shù)據(jù)長度 */ } ring_fifo_t; static inline uint16_t ring_fifo_count(const ring_fifo_t *f) { return f-len; } static inline uint8_t ring_fifo_push(ring_fifo_t *f, uint8_t b) { if (f-len f-size) { return 0; /* 滿丟棄新字節(jié) */ } f-buf[f-head] b; f-head (f-head 1) (f-size - 1); f-len; return 1; } int ring_fifo_pop(ring_fifo_t *f, uint8_t *b) { if (f-len 0) { return 0; } *b f-buf[f-tail]; f-tail (f-tail 1) (f-size - 1); f-len--; return 1; }代碼里有兩個細節(jié)。第一head 和 tail 都用了 volatile因為寫指針在 IDLE 中斷里被修改讀指針在應用層任務里被修改第二len 字段用來判斷空和滿比直接用 head tail 判斷更可靠避免空和滿兩種狀態(tài)混淆。我把 512 字節(jié)的 FIFO 用在雙串口上原因是 Modbus 最長幀 256 字節(jié)DMA 一輪最多搬 256 字節(jié)FIFO 至少要是 DMA 緩沖區(qū)的兩倍才能容忍應用層解析稍慢時的積壓。4.2 IDLE 中斷里的 DMA 停收與數(shù)據(jù)搬運IDLE 中斷是這套資源的主心骨。進來之后先停 DMA再取計數(shù)器最后把數(shù)據(jù)搬進 FIFOvoid UART_Idle_IRQHandler(UART_HandleTypeDef *huart, ring_fifo_t *fifo, uint8_t *dma_buf, uint16_t dma_size) { uint16_t dma_index; if (__HAL_UART_GET_FLAG(huart, UART_FLAG_IDLE) RESET) { return; } __HAL_UART_CLEAR_FLAG(huart, UART_FLAG_IDLE); /* 關鍵先停 DMA再讀計數(shù)器否則數(shù)據(jù)還在寫入 */ __HAL_DMA_DISABLE(huart-hdmarx); /* 當前 DMA 已搬了多少字節(jié) */ dma_index dma_size - (uint16_t)__HAL_DMA_GET_COUNTER(huart-hdmarx); for (uint16_t i 0; i dma_index; i) { ring_fifo_push(fifo, dma_buf[i]); } /* 清空緩沖區(qū)重新啟動下一輪接收 */ memset(dma_buf, 0, dma_size); HAL_UART_Receive_DMA(huart, dma_buf, dma_size); }一定不要把 __HAL_DMA_DISABLE 放到讀取 CNDTR 之后。DMA 在 IDLE 中斷入口處可能還在響應最后一次 RXNE 請求如果先讀計數(shù)器再停 DMA讀出的值可能偏大或偏小導致搬運錯位。先停再讀雖然多花幾個周期但數(shù)據(jù)是穩(wěn)定的。還有一個細節(jié)HAL_UART_Receive_DMA 在 DMA 停掉之后調(diào)用需要重新設置傳輸長度。如果上一步的 DMA 已經(jīng)搬完 512 字節(jié)且沒有觸發(fā) IDLE這里的 HAL_UART_Receive_DMA 會因為 huart-RxState 仍為 BUSY 而返回錯誤。所以建議在調(diào)用前把 huart-RxState 強制復位或者直接復用底層 API 重新配置。4.3 幀邊界3.5 字符靜默靠 IDLE 還是靠定時器IDLE 中斷在大多數(shù)情況下夠用但遇到“主機字節(jié)間有微小停頓”時會誤判。比如 PC 串口工具做主站發(fā)送緩沖區(qū)刷新不及時幀內(nèi)兩個字節(jié)之間出現(xiàn)超過一個字符時間的空閑IDLE 就會提前觸發(fā)。低速 9600 波特率時3.5 個字符約 3.6ms遠大于一個字符時間IDLE 反而不容易誤判高速 115200 時一個字符約 87μs如果主站軟件在字節(jié)間停頓超過 87μsIDLE 就會把一幀拆成兩幀。穩(wěn)妥做法是加一個定時器輔助判定。每個字節(jié)進入 FIFO 時記錄時間應用層定期檢查如果當前時間與最后字節(jié)時間差超過 3.5 字符時間就認為幀結(jié)束把 FIFO 里剩余數(shù)據(jù)當作一幀處理#define MB_35C_TICK(baud) ((uint32_t)(35000000UL / (uint32_t)(baud))) static uint32_t last_rx_tick[2]; void Modbus_Frame_Check_Timer(void) { uint32_t now HAL_GetTick(); if ((now - last_rx_tick[0]) MB_35C_TICK(9600) ring_fifo_count(fifo_uart1) 0) { modbus_frame_dispatch(fifo_uart1); } if ((now - last_rx_tick[1]) MB_35C_TICK(9600) ring_fifo_count(fifo_uart2) 0) { modbus_frame_dispatch(fifo_uart2); } }這套資源里保留了兩種邊界判定默認走 IDLE注釋里留有定時器分支。我自己的習慣是波特率大于 57600 時用 IDLE低于 19200 時用定時器。因為高速時字節(jié)間隔短IDLE 觸發(fā)更靈敏低速時 3.5 字符時間足夠長定時器判定更符合協(xié)議定義。4.4 FIFO 容量選多大、溢出怎么辦不同波特率下推薦容量參考波特率推薦 FIFO 大小理由9600128幀間隔長應用層來得及處理38400256一幀最長 256留一幀余量115200512雙串口同時到達時防積壓9216001024DMA 連續(xù)搬運量更大溢出時我傾向保留舊數(shù)據(jù)、丟棄新字節(jié)。原因是 Modbus 從站本身不負責重傳主站超時后會重發(fā)完整幀丟掉新字節(jié)最多導致當前幀解析失敗保留舊數(shù)據(jù)能保證之前已經(jīng)對齊的幀不受影響。每個 FIFO 里維護一個溢出計數(shù)方便調(diào)試時觀察是否經(jīng)常超出容量。5. 雙串口避坑記錄五個我親眼見過的坑5.1 IDLE 在長幀中間觸發(fā)把一幀拆成兩幀現(xiàn)象主站一次讀 20 個保持寄存器從站卻解析出兩幀一幀 CRC 錯誤另一幀長度不對。原因主站是 PC 串口調(diào)試工具發(fā)送緩沖刷新不及時幀內(nèi)字節(jié)之間出現(xiàn)了超過一個字符時間的空閑。UART 的 IDLE 標志在“線空閑滿一個字符時間”時就會置位協(xié)議??吹?IDLE 就認為幀結(jié)束。解決不要只依賴 IDLE。把第四章的定時器輔助判定打開或者把主站側(cè)換成帶連續(xù)發(fā)送模式的設備。排查時先用示波器抓總線波形看字節(jié)之間是否有超過一個字符寬度的空閑段。5.2 DMA 計數(shù)器還沒讀就被下一次接收改寫現(xiàn)象IDLE 中斷里讀 CNDTR 得到 10實際 DMA 緩沖區(qū)里只有 6 個字節(jié)是有效的幀頭被吞掉。原因IDLE 中斷響應有延遲進入 ISR 時 DMA 尚未完全停住UART 的 RXNE 又觸發(fā)了一次 DMA 請求CNDTR 繼續(xù)遞減。解決ISR 第一行必須先 __HAL_DMA_DISABLE再讀 __HAL_DMA_GET_COUNTER。同時把該 DMA 通道的半傳輸中斷關掉避免 HT 中斷和 IDLE 中斷同時操作 CNDTR造成競態(tài)。5.3 復位后第一個字節(jié)被當成幀頭整條總線判錯現(xiàn)象設備上電后主站第一次讀數(shù)據(jù)返回的幀總是錯一個字節(jié)之后恢復正常。原因DMA 緩沖區(qū)里殘留上電默認值 0xFF復位后 DMA 在應用層初始化之前就開始搬運了緩沖區(qū)里混進了無效字節(jié)。協(xié)議棧把這些 0xFF 當成幀頭解析自然出錯。解決初始化 DMA 之前先 memset 接收緩沖區(qū)為 0x00再把 FIFO 清空最后啟動 HAL_UART_Receive_DMA。另外確認復位后 UART 的 RXNE 不會在 DE 拉低之前觸發(fā)數(shù)據(jù)讀取。5.4 兩個串口的 DE 控制互相干擾兩條 RS-485 總線上打架現(xiàn)象1 號總線讀數(shù)據(jù)時2 號總線上的電平抖動從站響應幀出現(xiàn)移位和損壞。原因兩個串口共用了同一個方向控制引腳或者驅(qū)動板上的收發(fā)器方向控制信號是反邏輯的。代碼里把 DE 拉高時兩條總線的 DE 同時被拉高兩個收發(fā)器同時驅(qū)動總線。解決確認兩路 RS-485 使用獨立的 DE 引腳如果硬件已經(jīng)共用只能把兩路收發(fā)器的方向控制接到不同的 GPIO并在代碼里分別控制。調(diào)試時用萬用表量兩個 DE 引腳的電平能立刻發(fā)現(xiàn)問題。5.5 發(fā)送 DE 關早了響應幀最后一個字節(jié)被截斷現(xiàn)象從站自檢認為已發(fā)送完畢主站收到的響應幀長度少一字節(jié)CRC 校驗不過。原因TC 中斷觸發(fā)條件是 TDR 已空但不代表移位寄存器已空。此時最后一位可能還在線上立刻拉低 DE 會把停止位截掉。解決TC 中斷里做短延時再拉低 DE或者等 TXE 和 TC 兩個標志都成立再加半個字符時間的延時。按波特率 115200 計算延遲 50μs 就足夠覆蓋最后一位輸出。6. 進階把 FIFO 統(tǒng)計狀態(tài)放進 Modbus 寄存器當驗收指標6.1 用保持寄存器開放內(nèi)部狀態(tài)雙串口從站調(diào)試最頭疼的是“丟幀了但不知道怎么丟的”。我習慣在項目里加四個保持寄存器把 FIFO 溢出次數(shù)、CRC 錯誤次數(shù)、DMA 恢復次數(shù)、IDLE 觸發(fā)次數(shù)映射到寄存器地址uint16_t stat_regs[4]; #define REG_FIFO_OVERRUN_CNT 0 /* FIFO 溢出次數(shù) */ #define REG_RX_CRC_ERR_CNT 1 /* CRC 校驗失敗次數(shù) */ #define REG_DMA_RECOVER_CNT 2 /* DMA 重新啟動次數(shù) */ #define REG_IDLE_CNT 3 /* IDLE 中斷次數(shù) */ uint16_t read_stat_reg(uint8_t reg_idx) { return stat_regs[reg_idx]; }把這組寄存器掛到 FreeModbus 的保持寄存器回調(diào)里主站通過標準 03H 功能碼就能讀到。驗收時先讓主站持續(xù)輪詢一小時如果 FIFO 溢出計數(shù)不斷增長說明應用層消費速度跟不上如果 IDLE 觸發(fā)次數(shù)遠大于實際幀數(shù)量說明字節(jié)間空隙過大應該改定時器邊界判定。6.2 雙串口互測的自檢技巧沒有兩條獨立總線時可以用一根杜邦線把 UART1 的 TX 和 UART2 的 RX 短接反過來也一樣。程序里定時從 UART1 發(fā)一條標準讀保持寄存器請求再由 UART2 的 FIFO 接收并回包驗證兩路鏈路是否正常void Modbus_SelfTest_Tick(void) { uint8_t req[8] {0x01, 0x03, 0x00, 0x00, 0x00, 0x02, 0xC4, 0x0B}; UART1_SendBytes(req, 8); /* 發(fā)到 UART1 總線 */ HAL_Delay(20); if (ring_fifo_count(fifo_uart2) 0) { stat_regs[REG_RX_CRC_ERR_CNT]; } }這里 CRC 值是固定的所以測試幀不需要額外計算。如果 fifo_uart2 沒有收到任何數(shù)據(jù)說明 DMA 初始化或者 DE 方向控制有問題直接定位到對應代碼。從那以后我每次做雙串口從站調(diào)試都強制把四個統(tǒng)計寄存器加進去跑一晚上輪詢再看計數(shù)幀邊界和緩沖容量的問題基本都是這么暴露的。這套資源里的 DMA 停收順序和 FIFO 容量參數(shù)也是我當時踩過這些坑之后改出來的希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
五月综合色| 玖玖在线视频福利| 久久怡红院| 五月天激情Av| 思思热在线视频99| 这里只有精品视频国产| 五月丁香性爱| 黑人无码一区| 亚洲图色五月天| 日本丁香五月| 色五月婷婷丁香五月| 久久五月婷综合网| 激情综合青草| aaa丁香五月天| 亞洲自怕| 极骚大香蕉伊人| 任你艹| 九九热最新地址| 色五月丁香总合网| 五月丁香成人日| 色播五月天婷婷老师| 久久久国产精品黄毛片| 99网| 亚洲字幕AV一区二区三区四区| 久久玖玖综合| 播五月丁香三月婷婷| 呦呦v线| 亚洲精品国产setv| 97人人干| 六月婷婷网| 色色色在线观看| 九热网站| 色噜久| 九九操屄| 婷婷丁香综合色AV| 久久嘟嘟丁香| 超碰人人色| 丁香六月婷婷综合欧美| 婷婷综合色色| 色五月激情问网站| 婷婷五月开心中文字幕在线| 久久色五月天综合网| 色五月婷婷中文字幕| 激情五月天小说|五月天开心激情网|亚洲精品国产自在现线|黄色五月天 | 国产成人va在线| 91超级碰碰碰| 婷婷激情五月天色| 九九久久综合网站| 色色色热| 99热伊人| 天天日天天久久青青| 北京熟妇搡BBBB搡BBBB| 色综合9| 婷婷不卡基地| 日本在线视频播放91| 久大香蕉| 久er7久热| 99热欧| 四虎婷婷五月天| 青青草护士中出内射-欧美电影在线天堂新版 | 五月婷婷丁香五月| 五月婷婷色色色| 色三级色三级| 婷婷五月天va| 亚洲热视频在线| 99色| 欧美成人精品A片免费一区99| 超碰在线99| 亚洲精品又粗又大又爽A片 | 色色色色色综合| 五月丁香六月激情综合| 草了bav视频在线观看| 欧美私人家庭影院| 五月婷婷六月综合| 五月天成人伊人| 99视频在线观看视频| 色亚洲婷婷| 天天干天天色天天干| 丁香婷婷视频一区二区| 婷婷久久丁香五月| 5月丁香美女影院| 成人精品网站在线观看| 色婷婷XXXXX| 成人色情五月天婷婷丁香| 婷婷五月天免费| 99热99热在线| 精品亚洲国产成AV人片传媒| 国产午夜一区二区三区| 最近中文字幕大全免费版在线| 国产日产亚洲系列最新| WWW,五月| 丁香六月伊人| 深爱五月婷婷| 九九99免费理论| 日韩狠狠色婷婷| 色婷婷五月天激情在线观看| 丁香五月婷婷免费视频| 4399在线观看免费高清电视剧| 色婷婷在线视频综合| www婷婷| 涩综合婷婷| 天堂在线观看视频| 成人va在线观看视频| 五月香六月婷| 亚洲精品久久久久久久久久吃药 | 久久久99精品| 99熟女啪啪视频| 女人天堂AV| 色色97丁香婷婷五月天| 99热这里只有精品50| 激情综合网五月| 天天日天天爽| 殴美日比视频| 超碰色综合| AAA级久久久精品| 色玖玖导航| 91dy.av| 97色片| 色色色色色九九九九九| 五月婷婷伊人久久| 无码激情AAAAA片-区区| 丁香香五月激情免费视频| 99热这里全都是精品| 国产又色又爽又黄又免费| 六月婷婷久久| 永久免费一区二区三区| 中文字幕五月久久婷婷| 亚洲99精品欧美一区| 日日干天天| 草榴视频网| 婷婷深爱网| 99自拍视频| 五月 激情视频| 欧美爆乳一区二区三区| 91久久久久| 情五月亚洲婷婷| www.99久久久| 黄色aaaaa| 日本高清久| 色很很96| 另类小说色婷婷| 伊人综合色干| 伊人婷婷大香蕉| 青青草99re| 国产精品-91JQ就要激情网91JQ6.91JQ27.CASA:16888 | 97在线/亚洲| 天天天操天天天日| 色婷婷丁香社综合| 激情综合啪啪| 99人这里只有精品| 久久您您综合网| 就爱干 在线| 久久久久人妻| www.minyis.com【JT】币址百万U预算可预付QQ2101460746 | 中文字幕日产A片在线看| 亚洲激情亚洲激情 | 婷婷五月天精品| 色婷婷在线视频观看| 青青草护士中出内射-欧美电影在线天堂新版 | 日韩肏屄网| 天天做好综合色| 91精品国产色猫| 九九热只有精品| 九九色中文| 六月丁香VA| 久久天堂婷婷五月| 婷婷五月丁香香蕉| 五月丁香六月欧美综合| 丁香五月婷婷综合激情啪啪啪啪啪啪啪 | 碰97久久| 99ER热精品视频| 久热最新视频| 精品99在线看| 国产精品久久久久久亚洲毛片| 亚洲综合色网站| 亚洲国产精品VA在线看黑人| 五月婷婷天天| 天天上天天爽| 亚洲人妻Av| 久久婷婷精品| 狠狠色婷婷六月激情网| 91九色精品女同系列| 伊人激情| 九九精品在线观看视频6| 99人人看| 六月婷婷五月丁香| 国产精品日日躁夜夜躁| 色五月av伊人| 激情久久肏屄视频| 亚洲操女| 九九成人| 99噜噜| 五月天激情小说电影| 欧美久久久中文字幕| 人妻少妇色综合| 五月丁香啪啪| 99 福利 导航| 草草色情综合网| 日本九九视频| 丁香五月综合在线观看| 99rewww| 99热黄| 99re热在线视频| 色欲资源网| 丝袜激情网| 中文字幕无码AV| 婷婷狠狠97| 99色看这里只有精品| 在线综合91| 99久久综合网| 婷婷综合久久| 九九在线精点品| 亚洲狠狠狠色婷婷综合激情久久久| 婷婷六月成人| 欧美三级巜人妻互换| 婷婷在线播放| 久久婷婷五月天蜜桃| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 啪啪99| 精品色色网| 久久久久9| 久久XX日本综合| 丁香五月天激情综合| 六月综合在线| 韩国久久少妇视屏| 第一区久久网站| 91热爆在线| 天色色综合网| 色色丁香五月天社区| 精品亚洲国产成AV人片传媒| 99碰碰| 青吴乐视频| 九九热精品视频在线观看| 5月婷婷6月六月丁香| 国产精品噜噜在线视频| 久久五月人人摸| 亚洲色情久久| 激情深愛五月視頻| 五月丁香好婷婷姑娘综合网| 久久只有精品| 影音先锋激情网| 99操99| 色播五月综合网| 综合久久五月| 成人人操| 欧美99视频| 五月婷婷色色网址| 激情综合国产| 天天操天天爱天天日| 九九re精品视频在线观看| 31色区视频免费看| 99ri视频在线播放| 色碰碰| 超碰爱爱爱| Caoporn公开| 男同色五月开心五月激情五月| 免费无码毛片一区二区A片| 久热这里只有| 九月激情婷婷丁香| 9色在线视频精品观看| 精品日本视频444| 中文字幕有多少字| 久久久五月天婷婷成人网| AV操一操| 色婷婷激情| 色狠狠综合网| 激情五月婷婷欧美极品| 99视频在线精品免费观看2| 狠狠色噜噜狠狠| 精品久久久人妻| 欧美成人精品A片免费一区99| 色婷婷天堂| 美女激情综合| 六月婷婷综合| 日日夜夜九九| 色五月aV| 综合一本道| 成人色图情色成人网 www.5b5b5bcom 五月天 | 欧美碰碰碰| 99热99| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 免费日本aⅴ中文字幕 | 色天五月天在线观看视频| 五月亭亭开心网| 午夜一区| 99久久婷婷国产综合亚洲| 蜜桃婷婷狠狠久久综合| 天天爽成人综合网站| 色欲五月天| 中文字幕色色| 久久丁香五月天| 性生生活大片又黄又| 啪啪五月婷婷| 99这里有精品免费| 日本色五月婷婷| XX色综合| 黄页免费一级视频懂色| 色五月天天| 婷婷五月激情视频在线| 色999;丁香五月| 五月丁香婷婷狠狠操| 99在线精品视频| 欧美色播综合在线观看| 亚洲成人超碰| 亚洲黄网在线| 精品九九在线观看| 中文字幕AV网址| 国产精产国品一二三在观看| 综合激情婷婷| 一月婷婷色色| 99日视频在线| 色情一区二区播放| 99色热| 人橾人| 欧洲日韩一区二区三区| 五月丁香婷婷六月| 成人资源在线| 婷婷六月久久综合导航| av大片在线| 中文字幕不卡+婷婷五月| 色九月| 久久婷婷大香蕉| 久久久中文| 99热这里只有精品16| www.丁香五月| 那里有AV网址| 91成人性爱视频| 婷婷欧美激情| 激情五月婷| 成人五月天综合网| 99热这里只是精品| 99综合五月免费视频色婷婷| 精品视频99看在线视频| 思思热精品在线| 日本123区日韩欧美不卡在线看| \\五月天婷婷激情| 日韩成人无码| 夜夜操少妇| 五月丁香六月情| 欧美天堂久久| 九月激情网| 五月激情射| 五月天伊人综合| 中文字幕免费高清电视剧| 丁香五月天AV在线| 99在线观看| 久久五月丁香| 91超级碰碰碰| 婷婷丁香五月激情中文字幕版| 亭亭五月色男人| 丁香五月婷婷激情网| 五月婷婷婷丁香播| 天天搡日日搡aaaaⅩ| 99成人在线观看| 91大神在线免费看视频全集男男一起操| 色婷五月丁香久亚洲| 无码少妇高潮喷水A片免费| 丁香色五月婷婷17C| 久热黄色| 色五月婷婷激情| 99燥99日| 五月丁香六月婷婷网| 岛国操B不卡在线| 免费观看的婷婷五月视频在线| 久久婷婷五月综合色和| 97五月天| 玖玖国产视频一区| 黄色片久久| 天天色天天色天天色天天色天天色| 国产毛片精品一区二区色欲黄A片| 色五月久久成人婷婷| 92久久精品一区二区| 六月米奇色综合| 亚洲黄色网址| www.色婷婷.com| 五月婷婷激情性爱| AV大香蕉| 欧美丁香婷婷五月| www.丁香五月| 久久性爱网| 五月丁香花激情综合网| 9月色婷婷| 五月天色社区| 思思热国产在线| 影音先锋偷偷色男人站| 天天干天天干天天| 五月天婷婷人妻| 五月婷婷|欧美| 亚洲五月花| 激情小说五月天中文字幕| 丁香五月亚洲综合丝袜| 99热主页日本| 996热re视频精品视频这里| 丁香九月综合在线| 久久久婷婷| 婷婷丁香五月综合激情视频| 欧美操人| 久久99三级在线视频| 色婷婷9| 色久婷婷网| 黄色AAAA韩国guochansanji | 99色热视频| 成人无码精品1区2区3区免费看 | 久久婷婷激情五月天一区二区| 4438亚洲欧美| 少妇激情五月天| 天天天日天天天干| 亚洲中文字幕av| 欧美成人无码高清一区二区三区| 自拍视频99| 激情五月婷| 久热网在线视频| 色色色99| 极品九九九九九九| 丁香花大香蕉婷婷综合| 亚洲无码99| 五月天久久婷婷| 婷婷爱综合| 97黑人精品区| 色婷婷小视频| 一本大道嫩草AV无码专区| 丁香五月偷拍| 九九热视频免费| 丁香五月天在线观看视频| 婷婷综合伊人| 三级av在线| 久热无码| 午夜色婷婷| 天天操天天曰| 看国产探花操逼三级片| 五月丁香婷婷六月天| 网色99| 欧美男女婷婷| 婷婷色网址| 国产67194| 99乱视频| 久久久99视频| 丁香六月激情| 亚洲综合五月天婷婷丁香| 色欲久久久久| 日韩在线五月天婷婷| 激情五月网站| 亚洲 小说 欧美 激情 另类| 四色 爱 婷婷 精品 亚洲 五月天| 五月色网| 丁香色六月| 亚洲成人AV在线观看| www.激情五月天.com| 26uuu欧美| 亚洲成人在线播放| 丁香婷婷91在线观看视频| 五月四色婷婷| 人人操人人爱丁香五月| 亚洲五月色| 天天草天天日| 五月婷婷丁香狠狠撸久久| 激情婷婷另类| 狠狠狠五月婷婷六月丁香| 丁香色啪综合| 久色网五月| 无码婷婷五月天| 精品九九视频| 天天爽天天摸天天爱| 色狠狠色噜噜AV天堂五区消防| 天天天天色天天天天天干| 这里只有九九精品| 丁香六月亚洲| .精品久久久麻豆国产精品| 天天日,天天干,天天操| 99热精品在线在线| 丁香五月婷婷图片综合| 色婷婷亚洲综合av| 五月婷在线影院| 97热视频| 97丁香花五月天激情小说| 欧美婷婷六月丁香综合色连续高潮抽搐| 久久激情视频99| 做爱夜夜干天天操| 五月丁香六月香综合激情| 九九热这里只有精品在线观看| 天天天操天天天日| 超碰人人操人人干| 99视频只有精品| 大香蕉久久视频久久视频 | 69婷婷丁香午夜| 五月天婷婷导航| 亚洲色情网站| a网站免费观看| 久久九九99| 人五月天婷婷喷水| 综合99久久| 99极品视频| www.激情五月天com| 色婷婷色五月天| 99九九热在线观看| www.色五月| 亚洲天堂无码| 五月天开心婷婷久久| 天天综合网亚洲网站| 91超级碰在线| 免费观看全黄做爰的视频| 欧美日韩精品一区二区三区钱| 久草性爱| 五月丁香六月花| 99视频35精品视频在线观看| 丁香五月影| 久婷久婷| 日本激情五月天‘| 思思久久99| 99视频综合网| 色色综合成人网| 五月天综合婷婷| 久热伊人| 色婷婷情片| 久久久久久久久久久久久久人妻视频 | 人妻久久久| 香蕉色色网| 激情五月婷黄版| 五月天激情网开心网| 狠狠干无码| 一区操| 欧美狠狠草| www,天天干| 激情久久久| www.精品久9| 伊人日日干| 五月婷婷综合激情网| 99在线视频观看| 丁香六月婷婷激情综合| 五月综合激情| 丁香五月综合首页| 在线可以看的av网址| 天天干天天拍| 97人人超| PORNY九色9l自拍视频成人| 色婷婷av综合网| 狠狠va| 色婷婷久久| 久久图色4| 人人天堂操| 99热这里只有精品22| 婷色视频| 婷婷天天婷婷天天澡| 五月网站| 深爱开心五月天| 久热这里只有| 丁香婷婷六月婷婷六月婷婷六月婷婷| 亚洲乱码在线观看| 五月天天堂久久| 婷婷五月丁香六月| 婷婷综合偷拍| 思思热视频| 4399在线观看免费高清毛片| 色五月丁香六月婷婷| 婷婷五月天性色| 成人小说 五月天 婷婷| 天天干天天干天天| 操操操av| 欧美色男人网站| 欧美色播综合在线观看| 久久在线视频免费观看| 情情五月天色| 婷婷中文字幕网站| 99re最新地址| 月丁香久久久| 久久五月天网| 无码人妻电影| 欧美精品999| 丁香色五月直播| 极品人妻VideOssS人妻| 99re这里只有精品9| 夜夜爱网站| 欧美狠狠草| 婷婷在线视频| 性生活久久朋友人妻| 亚州成人综合在线| 天天操婷婷| 九九99香蕉在线视频播放| 久草热在线视频| 一级二级色大片| 色玖玖爱| 99热这里只有在线播放| 婷婷色综合网日韩国产| 日本欧美成人片AAAA| 婷婷操久久| 日本久久网| 天干干夜夜操| 成人在线高清| 久久九九色| 婷婷深爱五月天在线| 色色色com| 日婷婷久久开心| 9久热在线视频精品| 天天日,天天插| 国产26uuu视频| 日韩AV在线免费| 99九无网码| 26uuu视频欧美| 六月婷婷综合网2| 婷婷久久五月天| 色婷婷丁香网| 99熟女| 极品少妇XXXX精品少妇偷拍| 五月天激情小说欧美激情| 成人网在线视频| 五月综合激情| 丁香五月影院| 丁香五月第九色| 国产婷婷久久| 内射爽无广熟女亚洲| 深爱五月日韩| 亚洲精品色色| 色情五月天导航| 97人人干人人操| 亚洲99精品欧美一区| 丁香五月天堂网| 婷婷五月综合色小姐小说| 色色免费网站| 日夜夜久久| 超碰av在线| 99精品手机在线视频| 色情婷婷五月天| 五月天 无码| 同性gv国产精品一区二区| 色色五月综合| 成人超碰网| 亭亭色色五月天| 亚洲人成人五月天| ji'qing'luan'ren'lun| 色噜噜综合网| 五月婷婷色啪| 欧美日韩婷婷五月天| 九九热在线99| 五月婷婷激情日本| 丁香五月婷综合网| 五月天激情中文字幕| 成人 在线 日韩| 涩涩激情五月婷婷| 色吧婷婷五月亚洲| 在线只有精品| 第五色婷婷| 97干综合网| 99热这里只有精品最新地址获取| 美女亚洲五月丁香| 99视频在线| 婷婷五月综合色中文字幕| 日韩专区五月天婷婷丁香| 五月丁香婷婷基地| 激情av| 婷婷五月天亚洲综合| 婷婷日日夜夜| 天天操夜夜爽| 五月婷婷九| 五月激情综合激情五月| 精品国产人人爱人人| 亚洲色啪| 亚洲va在线∨a天堂va欧美va| 超碰AAAAAAV| 久久99热免费| 99久久国产宗和精品1上映| 久热9| 久久多色| 色婷婷视频| 激情婷婷丁香五月天| 玖玖爱导航| 丁香六月综合| 亚洲AVwwwwwww| 日本97在线观看| 丁香婷婷五月天成人| 97成人操| 久久婷婷电影| 亚洲色图在线视频| 婷婷色吧| 五月丁香婷婷综合久久| 337p大胆噜噜噜噜噜91Av| 中文无码婷婷| 夜夜骑日日操| 99热777| 婷婷五月天美女视频| 激情九九这里只有精品| 色婷婷色人人射| 国产精品久久7777777精品无码| 一区二区三区四区无码| www.久久av.com| 人妻久久人妻久久第一区| 婷婷五月天在线观看| 亚洲美女高潮久久久久久69| 色婷网| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 狠狠噪| www:99热视频| 久久九色| 五月婷婷六月爱| 色综合色色色色色| 婷婷色啪| 国产小精品| 日日操夜夜操中国无码| 激情婷婷在线中文字幕| 久久一热免费视频| 99精色| 啊v视频在线观看| 天天日天天舔| 色99无码| 五月婷婷开心亚洲无| 99色1| 色播播五月天| 福利视频在线播放| 欧美三级视频下载| 色五月激情视频在线综合| 色综合久久天天综合网| 夜夜撸日日操| 天天日天天插| 超碰网站在线观看| 色色色精品无码区| 狠狠五月天| 人操人| 九九综合久久| 天天色激情| 大香蕉综合网| 中文字幕+中文在线| 中文字幕婷婷五月天| 婷婷六月五月天综合| 九九Av| 色都都狠狠色都都色综合色| 天天爱天天做天天日| av性爱在线| 99re8这里只有精品99re8热视频| 婷婷六久久| 亚洲色色色色色| 五月天天天色| 噼里啪啦完整版中文在线观看| 4399伦理午夜| 亚洲免费99| 狠狠干,狠狠操| av在线免费网站| 亚洲性爱日韩无码| 亚洲综合激情五月久久| 五月婷婷导航| 我要看激情五月天| CHINESE熟女老女人HD视频| 99婷婷国产最新视频| 激情小说 五月天| 99久久婷婷国产综合精品草原| 六月丁香激情| 丁香五月精品| 香蕉久久国产AV一区二区| 超碰在线观看99| 亭亭玉月丁香| 在线不卡的视频| 色综合五月婷婷狠狠干| 五月天色综合| 五月婷婷色色| 一区二区三区视频| www.久久爱.com| 婷婷五月丁香综合激情| 激情五月婷婷色综合| 色五月婷婷五月久久| 五月天婷婷色| 成人精品在线| 伊人久久婷婷| 丁香五月性爱| 亚洲色综合| 色播婷婷大香蕉| 99啪啪网| 五月天三级久久| www激情| 亚洲av无码影院| 99热这里只有在线| 婷婷丁香五月天之开心少妇| 色综合久久久久久久久五月| 五月丁香六月激情网站| 97干婷婷五月天| 乱岳熟女50岁| 天天艹夜夜爽| 欧美亚洲色色色色| 99热精品9| 久久婷婷五月天丁香| 色婷婷五月亚洲| 久月久在线视频| 欧美激情2025| 在线不卡的视频| 久久这里有精品| 色婷婷69| 五月天婷婷激情小说电影| 亚洲综合激情五月久久| 日本三级日本三级99| 激情精品久久| 丁香伍月婷电影全集| 婷婷五月精品中文字幕| 丁香婷婷久久综合在线| 日韩精品电影| 看片视频在线免费日产在线看| 久久五月婷婷视频| 中文AV在线播放| 永久无码色| 国产古装妇女野外A片| 五月天激情无码高清| www.婷婷五月天,com| 天天日夜夜| 另类图片天天影视在线观看| 性一交一乱一交A片久| 婷婷五月天首页| 人人妻人人澡人人爽| 九九综合伊人| 天天做天天爱天天爽在| 欧美三级视频| 玖玖综合色| 狠色狠色狠色狠色狠色网| 色九四色| 91九色|疯狂|高潮|对白|| 亚洲99激情| 五月激情综合婷婷| 99色热视频| 深爱激情小说五月婷婷| 久久爱综合| 夜夜骑夜夜撸| 丁香五月精品| 色播婷婷五月天| 国产午夜成人免费看片无遮挡| 这里只有精品在线视频在线观看| 色综合色综合网| 狠狠婷婷色| 久久99大全| 激情五月综合色婷婷| 五月婷婷六月丁香玖玖玫瑰91| 丁香五月手机在线| 五月成人天| 99视频这里只有免费精品| 亚洲av另类在线观看| 色婷婷久久综合| 秋霞影音91人妻久久| 激情黄色小说色五月| 2018夜夜草| 性视频久久| 狠婷婷五月| 免费亚洲婷婷中文字幕| 高清a片基地| 综合激情视频| 涩涩五月天| 五月丁香综合久久| 激情婷婷五月| 男人的天堂99| 欧美人与性动交CCOO| 久超超碰| 终合激情网| 久久99热 这里有精品| 狠狠爱激情网| 丁香伊人五月色婷婷五十路| www.五月天| 超碰人人操人人干| 五月天成人小说| 五月亭亭六月激情| 激情五月综合网| 久久婷婷五月综合啪| 大香蕉220| 狠狠综合网| 国产乱人偷精品人妻A片| 丁香婷婷91在线观看视频| 天天肏天天爽夜夜爽| 激情深爱五月婷婷| 日本99在线| 婷婷性爱综合| 久久九九99视频| CHINESE熟女老女人HD视频| 亚洲网视屏| 婷婷久久免费| 噜噜视频| 国产视频婷婷| 五月婷婷开心综合| 丁香婷婷五月综合影院| 天天插天天很| 欧美丁香婷婷天天操| 99ri在线| 久久xxxx| 综合婷婷| 婷婷久久亚洲| 色久女| 婷婷色啪| 99热在线中文字幕| 色色色五月婷| 99热天堂| 91精品人妻少妇无码影院| 婷婷五月天你懂的| 综合激情在线观看| WWW·色色色·COM| 成人午夜免费电影| 大天天伊人| 久久99精品久久久久久三级| 亚洲无码你懂的| 伊人久久大香线蕉AV最新午夜| 91在线看片| www.9色色色| 丁香花五月天社区| 99视频在线啪| 久久久婷丁香五月天激情综合| 色人久夂| 婷婷五月天色色| 欧美色图45678| 激情五月黄色小说| 成人久久天天x资源站| 六月亚洲| 99热这里只有精品最新| 99热国产这里只有精品| 色五月成人| 色啪影院| 99色在线视频| 九九色网专区| 色情五月| www婷婷| 亚洲精品乱码久久久久久综合| 国产Va视频| 五月激情黄色小说| 狠狠色综合精品视频在线| www.9797国产| 思思热在线视频精品| 久久小说网| 日韩人妻在线播放| 狼人婷婷综合| 开心婷婷五月激情网小说| 五月丁香六月婷婷色| 操日挥操日日| 久久久WWW| 日日夜夜干| 亚洲成人在线观看网址| 九月影院義母在线播放| 中文久久久人妻| 在热视频精品| 9久精品视频| 久久精品一区二区三区四区| 夜夜AVV| 久久婷婷五月综合| 婷婷五月综合啪| 综合一区二区三区| 中文字幕人妻熟女在线| 色五月婷婷色五月| 99热亚洲| 亚洲日韩一页精品发布| 九九九九九九九九九九九九九国产精品| 亚洲成人无码网站| 狠狠色丁香婷婷基地| 色色亚洲视频| 欧美性猛交AAAA片黑人 | 丁香花操逼| 九九热在线亚洲免费视频| 色偷偷狠狠| 激情丁香社区| 久久久久9久无码视频| 99操中文视频| 开心五月色婷婷综合开心网| 婷婷五月情| 亚洲天堂色| 六月丁香婷| 这里只有精品视频99| 亚洲综合五月天| 久久天堂色| 久久综合热17c| 99超级碰碰| 超碰色碰碰| 99色精品视频| 九九精品热播| 在线五月婷| 五月丁香色婷婷婷基地| 综合婷婷五月天| 玖玖色综合色| 久久久妻人人人| 色欲午夜无码久久久久久张津瑜| 日本人人超碰| 丁香五月天欧洲在线| 婷婷色婷婷| www.91av.com| 26uuu四色| 色色色色色色色色五月先| 丁香婷婷老司机久操| 激情综合色五月六月婷婷| 欧美99热| 欧美人人超级碰| 视色综合| 乱精品一区字幕二区| 中文字幕在线免费观看视频| 五日激情综合| 色色热日| www激情网| 69精品人人人人| 9l视频自拍九色9l视频自拍九色9l社区 | 亚洲第二AV| 九九草热在线观看| 久久XX| 九九久久综合| 五月停停色色丁香| 无码橾| 丁香五月天资源网| 99在线小视频| 久久色五月天综合网| 婷婷五月激情黄色| 激情五月六月婷婷综合啪啪| 六月婷婷综合| 怡红院 久久| 色综合色综合网| 一级精品999WWW| 色五月综合资源推荐| 91久久国产综合久久| av网站中文| 97搞在线| 国产日韩亚洲欧美在线观看| 婷婷综合在线网| 婷婷五月天在线观看免费| 久久久久久久久久久久久久久久一道本| 婷婷丁香五月天综合网| 大地9中文在线观看免费高清| 激情深愛五月視頻| 中文字幕按摩做爰| 九九九成人在线视频| 无码成人AAAAA毛片AI换脸| 激情综合网激情五月网| 亚洲偷| 五月婷婷狠狠干| 男人的天堂99| 天天拍天天操| 国产色网站| 男女99免费视频| 人人干天天舔| 天天射网站| 久久九九在线视频| 操逼综合激情网| 99精品网| 久久综合中文| 色99视频| 亚洲经典小视频| 伊人大香蕉在线视频| 色婷婷88| 韩日在线熟女| 大香焦啪啪啪| 99精品色| 操人91| 国外亚洲成AV人片在线观看| 久久久人妻门| 任你日热视频| 婷婷六月激情| 五月天激情网页| 婷婷五月综合色中文字幕| 噜噜噜狠狠色综| 婷婷基地成人五月天| 亚洲无码影音| www久久艹| 色七色九九| 十二区无码| 久9久9久9久9久9久9| 99热精品在线播放观看| 婷婷碰碰| 五月婷婷啪啪啪| 五月天开心色情网| 综合九九中文字幕| 五月综合色| 男人的天堂五月丁香| 国产av基地| 国产69精品久久久久999小说| 婷婷五月天精品| 日韩啪啪网| 99热传媒| 色播综合| 亚洲人妻五月丁香婷婷| 五月丁香啪啪| 久99综合婷婷| 国产精品第一国产精品| 我去色色网五雨天| 国产成人AV人人爽人人澡Va| 丁香综合久久| 久久久久久久久99精品| 婷婷六月偷拍| 色色色综合色| 色 色 色综合com| 久久亚洲婷婷综合色五月| 96色婷婷| 国产毛多水多女人A片| 影音先锋天天日| 久久香蕉婷婷五月天| AA久久| 97久久精品视频| 久久五月综合| 九九精品亚洲| 亚洲小视频| 第四色色六月色综合| 六月丁香天堂| 色哟呦av| 九九这里只有精品| 色爱99| 天天综合网网欲色| 热99精品视频观看| 操碰99| 五月婷婷丁香网| 六月婷婷毛片| 激情综合五月| 婷婷永久在线| 五月综合在线| 成人性爱无码| 婷婷色日本| 五月婷婷在线短视频| 操碰久| 亚洲情欲久久| 色五月婷婷777| 五月丁香| 五月天精品视频| 波多野结衣AV无码Porn| 五月婷av| 丁香婷婷色五月天| 五月激情久久综合| 丁香五月婷婷啪| 开心五月婷婷婷美女| 婷婷六月久久| 中文字幕成人版| 国外亚洲成AV人片在线观看| 九九色逼| 婷婷激情五月综合| 色五月色图| 另类小说五月天| 婷婷开心五月| 亚洲日日操| 五月天色婷婷伊人网| 色五月婷婷激情五月| 99热 免费| 五月婷婷中字在线| 夜夜躁狠狠| 99re熱| 丁香五月香蕉在线| 五月丁婷香| 这里只有精品偷拍| 亚洲婷婷丁香五月在线| 婷婷丁香五月亚洲欧美| www激情| 蜜臀丁香黄色婷婷五月天| 黄网在线播放| 日本色色色| 伊人影音无码一区二区三区| 日本欧美国产| 亚州第一A片| 中文字幕高清av| 热久91| 91免费试看| 色97啪啪| 黑人无码一区| 婷婷九九| 99惹在线精品免费观看| 人人草成人视频| 亚洲开心激情网| 色色色色色色色色色999| 婷婷色情小说| 亚洲色视频| 另类精品视频在线观看| 五月香婷婷| 亚洲激情网| 欧美成人猛片AAAAAAA| 丁香五月婷婷社区| 99偷拍视频在线日本| 伊人网碰碰| 色婷婷丁香网| 久久99久久99精品免视看婷婷| 欧美激情综合色综合色| 婷婷成年人免费视频| 激情五月丁香六月综合AVXXXX| 强辱丰满人妻HD中文字幕| 大香蕉婷婷| yw国产AV| 中文字幕五月久久婷婷| 99这里有精品视频| 五月激情精品视频| 色丁香影院| 99在线观看视频| 精品夜夜澡人妻无码AV| 影音先锋男士资源网一区| 五月丁香久久呀| 五月天婷婷久久日| 激情小说 五月天| 久久免费操| 婷婷五月天福利| 综久久久| 色情五月天小说| 五月丁香婷婷啪啪综合网| 丁香在线视频| 99热免费| 亚洲啪啪精品| 色色99| 色综合射婷婷| 久久草大香蕉| a免费在线| 九月色婷婷| 色久五月天| 色综合色色| 亚州欧美黄色电影| 亚洲无码播放| 婷婷丁香激情| 伊人久久婷婷| 欧美高潮9| site:xiongshengzz.com| 26uuu亚洲精品国产| 天天色亚洲| AV免费在线网站| 最新激情五月天| 色婷婷综合亚洲| 爆乳熟妇一区二区三区四区| 一级性感黄色内射视频| 激情婷婷综合五月少妇| 五月丁香大香蕉| 精品动漫 无码av| 色婷婷丁香五月高清在线| 99爽视频| 9精品国产在热久久| 激情综合综合综合| 色五月色图| 大香蕉网 久久| 99热99热在线观看| 99热免费精品| 色婷婷第四色| 婷婷六月丁香1| 色啪网| 久操97| 五月天激情AV| 日日鲁鲁鲁夜夜爽爽狠狠视频97| www.久久久.com| 99色精品| 岛国AAAV| 五月综亚洲| 能看的av网站| 婷婷午夜精品久久久| 这里只有精品免费视频| av免费在线看不卡无毒| www.25五月婷婷| 亚洲综合色色| 五月天婷婷激情在线色图| 六月婷婷网站| 狠狠综合| 99热99网| 色婷婷丁香五月| 成人丁香色| 99无码精品| 超碰在线94| 五月丁香六月婷婷视频| wwwav大香蕉| 久久五月天激情视频| 99自拍视频| 九九人妻福利| 欧美日韩成人在线| 久久99久久99精品免观看粉| 婷婷五月天激情开心网| 91精品久| 五月丁香人妻| 亚洲啪| 26uuu亚洲精品国产| 67194线路二在线观看| 色情播放| 色网五月婷婷| 思思热99在线| 五月婷婷 婷婷五月 一区二区 久久久| 久久婷出差欧美色两性综合网| 色婷婷五月天| tingtingjiqingwuyue| 午夜色婷婷| 77799热| 白人荫道BBWBBB大荫道| 丁香六月亚洲| 激情内射人妻1区2区3区| 五月丁香网中文字幕| 国产,欧美,学生妹,视频| 久噜久噜| 色九九一二| 婷婷丁香亚洲色综合91| 久久激情综合|