色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合av,久久激情五月丁香伊人

ARTICLE DETAIL

資訊詳情

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

UART回環(huán)測(cè)試:從原理到實(shí)戰(zhàn),嵌入式通信調(diào)試的基石

UART回環(huán)測(cè)試:從原理到實(shí)戰(zhàn),嵌入式通信調(diào)試的基石 1. 項(xiàng)目概述從“回環(huán)測(cè)試”理解UART通信的本質(zhì)搞嵌入式開發(fā)或者玩單片機(jī)的朋友對(duì)“串口”這個(gè)詞一定不陌生。它就像設(shè)備之間最基礎(chǔ)的“對(duì)話”通道調(diào)試信息輸出、固件升級(jí)、模塊間數(shù)據(jù)交換都離不開它。而“回環(huán)測(cè)試”則是檢驗(yàn)這條通道是否暢通、協(xié)議理解是否正確的黃金標(biāo)準(zhǔn)。簡單說就是自己發(fā)送數(shù)據(jù)給自己接收看看數(shù)據(jù)是否“原封不動(dòng)”地回來。這聽起來簡單但背后涉及硬件連接、電平匹配、波特率設(shè)置、數(shù)據(jù)幀解析等一系列關(guān)鍵點(diǎn)。一個(gè)穩(wěn)定的回環(huán)測(cè)試是后續(xù)所有復(fù)雜串口應(yīng)用如與傳感器、藍(lán)牙/Wi-Fi模塊、上位機(jī)軟件通信的基石。無論你是剛接觸STM32、ESP32的新手還是在調(diào)試FPGA邏輯或Linux驅(qū)動(dòng)掌握UART回環(huán)測(cè)試就等于握住了打開串口世界大門的鑰匙。2. UART通信核心原理與回環(huán)測(cè)試設(shè)計(jì)思路2.1 UART協(xié)議幀結(jié)構(gòu)拆解不止是0和1很多人以為串口通信就是簡單地發(fā)0和1其實(shí)不然。UART通用異步收發(fā)傳輸器協(xié)議定義了一個(gè)完整的、自包含的數(shù)據(jù)幀結(jié)構(gòu)確保在沒有時(shí)鐘線的情況下收發(fā)雙方也能正確同步并識(shí)別數(shù)據(jù)。一個(gè)典型的UART數(shù)據(jù)幀包含以下部分起始位一個(gè)邏輯低電平通常為0標(biāo)志著數(shù)據(jù)幀的開始。這是同步的關(guān)鍵接收端檢測(cè)到這個(gè)下降沿就開始準(zhǔn)備采樣后續(xù)的數(shù)據(jù)位。數(shù)據(jù)位緊接著起始位通常是5到9位常見為8位代表實(shí)際傳輸?shù)臄?shù)據(jù)一個(gè)字節(jié)。數(shù)據(jù)位是從最低有效位LSB開始發(fā)送的。校驗(yàn)位可選位用于簡單的錯(cuò)誤檢測(cè)。可以是奇校驗(yàn)、偶校驗(yàn)或無校驗(yàn)。發(fā)送方會(huì)根據(jù)數(shù)據(jù)位計(jì)算并附加這一位接收方進(jìn)行校驗(yàn)以判斷傳輸過程中是否可能發(fā)生了單比特錯(cuò)誤。停止位1位、1.5位或2位的高電平標(biāo)志著一幀數(shù)據(jù)的結(jié)束。它為接收端提供緩沖時(shí)間以準(zhǔn)備接收下一幀的起始位。理解這個(gè)幀結(jié)構(gòu)至關(guān)重要。在進(jìn)行回環(huán)測(cè)試時(shí)你發(fā)送的每一個(gè)字節(jié)都會(huì)被封裝成這樣的幀。如果收發(fā)雙方的幀格式配置不一致比如一個(gè)設(shè)了8位數(shù)據(jù)位無校驗(yàn)另一個(gè)設(shè)了9位數(shù)據(jù)位偶校驗(yàn)?zāi)敲醇词刮锢砭€路連通接收到的也只會(huì)是亂碼。這常常是新手最容易踩的坑。2.2 波特率通信的“節(jié)奏大師”波特率Baud Rate指的是每秒傳輸?shù)姆?hào)數(shù)在UART中一個(gè)符號(hào)就是一個(gè)比特位。因此常見的9600、115200等波特率直接決定了數(shù)據(jù)傳輸?shù)乃俣?。收發(fā)雙方的波特率必須嚴(yán)格一致誤差需要控制在極小的范圍內(nèi)通常要求誤差小于2%否則采樣點(diǎn)會(huì)逐漸漂移導(dǎo)致數(shù)據(jù)錯(cuò)位。為什么是115200這么奇怪的數(shù)字這和歷史與時(shí)鐘分頻有關(guān)。很多微控制器的系統(tǒng)時(shí)鐘如8MHz、72MHz經(jīng)過分頻后可以較精確地產(chǎn)生115200的波特率。在進(jìn)行回環(huán)測(cè)試時(shí)我強(qiáng)烈建議從較低的波特率如9600開始測(cè)試因?yàn)榈筒ㄌ芈蕦?duì)時(shí)鐘精度要求低更穩(wěn)定。確認(rèn)通信正常后再逐步提高波特率進(jìn)行壓力測(cè)試觀察在高速率下是否會(huì)出現(xiàn)丟數(shù)據(jù)或誤碼的情況。這是一個(gè)非常實(shí)用的排查順序。2.3 回環(huán)測(cè)試的兩種經(jīng)典模式回環(huán)測(cè)試的設(shè)計(jì)思路主要分為兩種對(duì)應(yīng)不同的測(cè)試目的硬件回環(huán)這是最直接的方式。將設(shè)備UART模塊的發(fā)送引腳TX和接收引腳RX用杜邦線直接短接。這樣單片機(jī)程序發(fā)送的任何數(shù)據(jù)都會(huì)立刻從TX引腳發(fā)出經(jīng)由短線進(jìn)入RX引腳被自己接收。這種模式純粹測(cè)試UART控制器本身和驅(qū)動(dòng)程序是否工作正常完全排除了外部設(shè)備的影響。在STM32CubeMX或ESP-IDF中初始化好UART后寫一個(gè)發(fā)送字符串并等待接收的程序如果能在接收緩沖區(qū)里看到自己發(fā)出的字符串就證明芯片的UART外設(shè)和你的底層配置是OK的。軟件回環(huán)這種方式不依賴物理短接而是在驅(qū)動(dòng)層或應(yīng)用層實(shí)現(xiàn)。當(dāng)發(fā)送函數(shù)被調(diào)用時(shí)數(shù)據(jù)并不真正從TX引腳發(fā)出而是被直接“繞”到接收緩沖區(qū)或一個(gè)特定的回調(diào)函數(shù)。很多操作系統(tǒng)的串口驅(qū)動(dòng)或高級(jí)框架如Linux的tty層、某些MCU的HAL庫調(diào)試模式都支持軟件回環(huán)。這種模式主要用于測(cè)試應(yīng)用程序的數(shù)據(jù)處理邏輯、協(xié)議解析代碼是否正確而無需關(guān)心物理電平轉(zhuǎn)換。例如在編寫一個(gè)復(fù)雜的Modbus RTU協(xié)議棧時(shí)可以先在軟件回環(huán)模式下測(cè)試所有功能再接入實(shí)際的RS485硬件電路。注意硬件回環(huán)時(shí)務(wù)必不要在短接TX和RX的同時(shí)還將它們連接到其他有源設(shè)備如USB轉(zhuǎn)串口模塊。這可能會(huì)因?yàn)殡娖經(jīng)_突損壞IO口。最安全的做法是在測(cè)試時(shí)僅連接TX和RX并將其他所有連線斷開。3. 實(shí)戰(zhàn)在不同平臺(tái)實(shí)現(xiàn)UART回環(huán)測(cè)試3.1 基于STM32與HAL庫的硬件回環(huán)我們以常見的STM32F103C8T6藍(lán)橋杯單片機(jī)和STM32CubeMX工具為例。步驟一CubeMX工程配置新建工程選擇你的芯片型號(hào)。在Pinout Configuration標(biāo)簽頁找到你需要使用的USART例如USART1。將模式Mode設(shè)置為“Asynchronous”異步通信。在參數(shù)設(shè)置Parameter Settings中配置波特率Baud Rate為115200字長Word Length為8位停止位Stop Bits為1校驗(yàn)位Parity為None硬件流控制Hardware Flow Control為Disable。使能全局中斷NVIC Settings中勾選USART1全局中斷這樣我們可以用中斷方式接收數(shù)據(jù)提高效率。生成代碼。步驟二編寫回環(huán)測(cè)試代碼在生成的工程中我們主要修改main.c。/* 在私有變量定義區(qū)域 */ uint8_t tx_buffer[] Hello UART Loopback!\r\n; // 要發(fā)送的數(shù)據(jù)加回車換行便于觀察 uint8_t rx_buffer[64]; // 接收緩沖區(qū) uint16_t rx_index 0; // 接收緩沖區(qū)的寫入索引 /* 在main函數(shù)初始化部分后 */ HAL_UART_Receive_IT(huart1, rx_buffer, 1); // 啟動(dòng)中斷接收每次接收1個(gè)字節(jié) /* 主循環(huán)中 */ while (1) { // 每隔1秒發(fā)送一次數(shù)據(jù) HAL_UART_Transmit(huart1, tx_buffer, sizeof(tx_buffer)-1, 1000); HAL_Delay(1000); // 接收到的數(shù)據(jù)處理可以放在中斷回調(diào)函數(shù)中 } /* 重寫中斷接收完成回調(diào)函數(shù) */ void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if(huart-Instance USART1) { // 將接收到的字節(jié)回顯通過串口助手查看或進(jìn)行比對(duì) // 這里簡單地將接收到的字符再發(fā)送出去形成“軟件硬件”雙重回環(huán)效果 HAL_UART_Transmit(huart1, rx_buffer[rx_index], 1, 50); // 處理接收到的數(shù)據(jù)例如判斷是否是回車符等此處簡化 rx_index (rx_index 1) % sizeof(rx_buffer); // 重新啟動(dòng)中斷接收等待下一個(gè)字節(jié) HAL_UART_Receive_IT(huart1, rx_buffer[rx_index], 1); } }步驟三硬件連接與測(cè)試用一根杜邦線將芯片USART1的TX引腳PA9和RX引腳PA10短接。通過ST-Link或其他調(diào)試器將程序下載到單片機(jī)并供電。為了觀察效果我們還可以將單片機(jī)通過USB轉(zhuǎn)TTL模塊如CH340、CP2102連接到電腦。但此時(shí)必須斷開PA9和PA10的短接線并將PA9接模塊的RXPA10接模塊的TX。打開串口助手如XCOM、Putty設(shè)置相同的波特率參數(shù)你將會(huì)看到單片機(jī)不斷發(fā)送“Hello UART Loopback!”并且每收到一個(gè)字符來自串口助手就立即回顯一個(gè)字符。實(shí)操心得使用HAL庫的中斷接收時(shí)一定要在回調(diào)函數(shù)末尾重新調(diào)用HAL_UART_Receive_IT來開啟下一次接收否則只會(huì)接收一次。這是新手常忘的一步。另外對(duì)于高速或大數(shù)據(jù)量通信建議使用DMA模式可以極大減輕CPU負(fù)擔(dān)。STM32CubeMX也能很方便地配置UART DMA。3.2 在Linux環(huán)境下使用C語言進(jìn)行串口回環(huán)在Linux中串口設(shè)備被抽象為/dev/ttyUSB0USB轉(zhuǎn)串口或/dev/ttyS0硬件串口等文件。我們可以用標(biāo)準(zhǔn)的文件IO操作來讀寫它。步驟一打開并配置串口關(guān)鍵點(diǎn)在于使用termios結(jié)構(gòu)體進(jìn)行復(fù)雜的參數(shù)配置。#include stdio.h #include string.h #include unistd.h #include fcntl.h #include termios.h int serial_fd; int uart_init(const char *device, int baudrate) { serial_fd open(device, O_RDWR | O_NOCTTY | O_NDELAY); if (serial_fd 0) { perror(Unable to open serial port); return -1; } struct termios options; tcgetattr(serial_fd, options); // 設(shè)置波特率 cfsetispeed(options, baudrate); cfsetospeed(options, baudrate); // 8位數(shù)據(jù)位無校驗(yàn)1位停止位 options.c_cflag ~PARENB; options.c_cflag ~CSTOPB; options.c_cflag ~CSIZE; options.c_cflag | CS8; // 關(guān)閉硬件流控 options.c_cflag ~CRTSCTS; // 啟用接收忽略調(diào)制解調(diào)器狀態(tài)線 options.c_cflag | CREAD | CLOCAL; // 關(guān)閉規(guī)范輸入和回顯原始模式 options.c_lflag ~(ICANON | ECHO | ECHOE | ISIG); // 關(guān)閉軟件流控 options.c_iflag ~(IXON | IXOFF | IXANY); // 原始輸出 options.c_oflag ~OPOST; // 設(shè)置最小字符數(shù)和等待時(shí)間 options.c_cc[VMIN] 1; // 阻塞直到讀取到1個(gè)字符 options.c_cc[VTIME] 10; // 超時(shí)時(shí)間1秒單位是0.1秒 // 立即應(yīng)用配置 if (tcsetattr(serial_fd, TCSANOW, options) ! 0) { perror(Error setting serial attributes); return -1; } tcflush(serial_fd, TCIOFLUSH); // 清空輸入輸出緩沖區(qū) return 0; }步驟二實(shí)現(xiàn)回環(huán)邏輯我們可以用一個(gè)簡單的循環(huán)讀取串口數(shù)據(jù)并立即寫回。void loopback_test() { char buffer[256]; ssize_t bytes_read; printf(Starting UART loopback test. Press CtrlC to exit.\n); while (1) { bytes_read read(serial_fd, buffer, sizeof(buffer) - 1); if (bytes_read 0) { buffer[bytes_read] \0; // 添加字符串結(jié)束符 printf(Received %zd bytes: %s\n, bytes_read, buffer); // 打印到控制臺(tái) // 關(guān)鍵的回環(huán)操作將收到的數(shù)據(jù)原樣寫回 write(serial_fd, buffer, bytes_read); } else if (bytes_read 0) { // 非阻塞模式下可能返回EAGAIN這里簡單處理 usleep(10000); // 睡眠10ms避免忙等待 } } } int main() { if (uart_init(/dev/ttyUSB0, B115200) 0) { loopback_test(); close(serial_fd); } return 0; }步驟三測(cè)試方法編譯上述代碼gcc -o uart_loopback uart_loopback.c。將兩個(gè)USB轉(zhuǎn)TTL模塊的TX和RX交叉相連即A的TX接B的RXA的RX接B的TXGND相接。兩個(gè)模塊分別插入電腦的兩個(gè)USB口假設(shè)生成/dev/ttyUSB0和/dev/ttyUSB1。在一個(gè)終端運(yùn)行本回環(huán)程序指定設(shè)備為/dev/ttyUSB0sudo ./uart_loopback可能需要root權(quán)限操作串口。在另一個(gè)終端使用screen或minicom等工具打開另一個(gè)串口sudo screen /dev/ttyUSB1 115200。在screen會(huì)話中鍵入字符你會(huì)看到字符被回顯回來。同時(shí)第一個(gè)終端的程序也會(huì)打印出接收到的內(nèi)容。注意事項(xiàng)Linux下串口設(shè)備的權(quán)限問題很常見??梢耘R時(shí)用sudo或者將用戶加入dialout組sudo usermod -a -G dialout $USER然后注銷重新登錄。termios配置復(fù)雜務(wù)必仔細(xì)檢查每個(gè)標(biāo)志位特別是VMIN和VTIME的組合它們決定了read函數(shù)的阻塞行為。3.3 使用Python與pyserial進(jìn)行快速驗(yàn)證對(duì)于快速原型驗(yàn)證或自動(dòng)化測(cè)試Python是絕佳選擇。pyserial庫讓串口操作變得極其簡單。安裝與基礎(chǔ)回環(huán)腳本pip install pyserialimport serial import time import threading def serial_loopback(port, baudrate): try: # 打開串口設(shè)置超時(shí)時(shí)間 with serial.Serial(port, baudrate, timeout1) as ser: print(fLoopback test started on {port} at {baudrate} baud.) print(Type exit to quit.) # 啟動(dòng)一個(gè)線程來持續(xù)讀取串口數(shù)據(jù)并打印 def read_from_serial(): while True: if ser.in_waiting: received_data ser.read(ser.in_waiting) try: text received_data.decode(utf-8, errorsignore) print(fReceived: {text}, end) # 關(guān)鍵回環(huán)操作將收到的數(shù)據(jù)原樣寫回 ser.write(received_data) except Exception as e: print(fDecode error: {e}) reader_thread threading.Thread(targetread_from_serial, daemonTrue) reader_thread.start() # 主線程可以用于從控制臺(tái)發(fā)送數(shù)據(jù)可選 while True: user_input input() if user_input.lower() exit: break ser.write((user_input \n).encode()) except serial.SerialException as e: print(fError opening serial port: {e}) except KeyboardInterrupt: print(\nExiting...) if __name__ __main__: # 修改為你的串口設(shè)備名和波特率 serial_loopback(/dev/ttyUSB0, 115200)更高級(jí)的自動(dòng)化測(cè)試腳本我們可以編寫一個(gè)腳本自動(dòng)發(fā)送一系列測(cè)試數(shù)據(jù)包并驗(yàn)證接收到的數(shù)據(jù)是否一致。import serial import time import random import string def automated_loopback_test(port, baudrate, test_iterations100): ser serial.Serial(port, baudrate, timeout2) passed 0 failed 0 for i in range(test_iterations): # 生成隨機(jī)長度的測(cè)試數(shù)據(jù) length random.randint(1, 100) test_data .join(random.choices(string.ascii_letters string.digits, klength)).encode() ser.write(test_data) time.sleep(0.05) # 給回環(huán)一點(diǎn)時(shí)間 received ser.read_all() if test_data received: passed 1 print(fIteration {i1}: PASSED (Length: {length})) else: failed 1 print(fIteration {i1}: FAILED! Sent: {test_data}, Received: {received}) ser.close() print(f\nTest Complete. Passed: {passed}, Failed: {failed}, Success Rate: {(passed/test_iterations)*100:.2f}%) # 運(yùn)行測(cè)試 automated_loopback_test(COM3, 115200, 50)實(shí)操心得Python腳本非常適合進(jìn)行壓力測(cè)試和邊界測(cè)試。比如你可以測(cè)試發(fā)送大量數(shù)據(jù)、發(fā)送包含特殊字符如0x00, 0xFF的數(shù)據(jù)、快速連續(xù)發(fā)送數(shù)據(jù)等場(chǎng)景觀察回環(huán)是否穩(wěn)定。pyserial的read_all()會(huì)讀取緩沖區(qū)中的所有數(shù)據(jù)在回環(huán)測(cè)試中很好用但在實(shí)際與外部設(shè)備通信時(shí)通常需要根據(jù)協(xié)議定義的消息頭尾或長度來解析數(shù)據(jù)幀。4. 回環(huán)測(cè)試中的深度問題排查與性能優(yōu)化4.1 常見故障現(xiàn)象與診斷清單即使是最簡單的回環(huán)也可能遇到各種問題。下面是一個(gè)快速診斷表現(xiàn)象可能原因排查步驟完全無數(shù)據(jù)收發(fā)1. 物理連接錯(cuò)誤TX/RX接反或未接。2. 串口設(shè)備未正確識(shí)別或驅(qū)動(dòng)未安裝。3. 代碼中串口未使能或初始化失敗。4. 波特率等參數(shù)設(shè)置錯(cuò)誤。1. 用萬用表通斷檔檢查TX-RX是否短接良好。2. 檢查設(shè)備管理器Windows或ls /dev/tty*Linux確認(rèn)設(shè)備存在。3. 在MCU代碼中檢查初始化函數(shù)的返回值添加調(diào)試打印。4. 使用邏輯分析儀或示波器測(cè)量TX引腳波形核對(duì)波特率。收到亂碼1.波特率不匹配最常見。2. 數(shù)據(jù)位、停止位、校驗(yàn)位設(shè)置不一致。3. 電平不匹配如3.3V與5V系統(tǒng)直接相連。4. 外部干擾嚴(yán)重。1. 雙方嚴(yán)格核對(duì)波特率嘗試更換為標(biāo)準(zhǔn)波特率如9600。2. 雙方嚴(yán)格核對(duì)幀格式。3. 確認(rèn)雙方邏輯電平標(biāo)準(zhǔn)必要時(shí)使用電平轉(zhuǎn)換芯片如TXB0108。4. 縮短連線使用雙絞線遠(yuǎn)離強(qiáng)干擾源。數(shù)據(jù)丟失或截?cái)?. 接收緩沖區(qū)溢出。2. 發(fā)送速度過快接收方處理不過來。3. 使用了阻塞式發(fā)送且超時(shí)時(shí)間太短。4. 硬件流控啟用但未連接。1. 增大接收緩沖區(qū)大小。2. 在發(fā)送間增加延時(shí)或改用中斷/DMA接收。3. 檢查發(fā)送函數(shù)的超時(shí)參數(shù)設(shè)為HAL_MAX_DELAY或合理值。4. 確認(rèn)是否需禁用硬件流控RTS/CTS。只能收到部分字符或第一個(gè)字符1. 中斷或DMA接收未正確重新使能STM32 HAL庫常見。2. 接收回調(diào)函數(shù)處理時(shí)間過長錯(cuò)過了后續(xù)數(shù)據(jù)。1. 確保在接收完成回調(diào)函數(shù)末尾重新調(diào)用接收函數(shù)如HAL_UART_Receive_IT。2. 優(yōu)化回調(diào)函數(shù)僅做最必要的操作如置標(biāo)志、拷貝數(shù)據(jù)主循環(huán)處理業(yè)務(wù)邏輯?;丨h(huán)數(shù)據(jù)有重復(fù)或錯(cuò)位1. 軟件回環(huán)邏輯錯(cuò)誤導(dǎo)致數(shù)據(jù)被多次寫入發(fā)送隊(duì)列。2. 硬件上有干擾產(chǎn)生錯(cuò)誤起始位導(dǎo)致誤觸發(fā)接收。1. 仔細(xì)檢查代碼邏輯確保一次接收只觸發(fā)一次發(fā)送。2. 在TX/RX線上串聯(lián)一個(gè)小電阻如22-100歐姆或在引腳加對(duì)地小電容10-100pF濾除毛刺。4.2 使用邏輯分析儀進(jìn)行底層信號(hào)分析當(dāng)軟件排查無法解決問題時(shí)硬件工具是終極手段。一個(gè)幾十塊錢的USB邏輯分析儀配合PulseView或Saleae Logic軟件可以讓你直觀地看到TX/RX線上的每一位數(shù)據(jù)。連接將邏輯分析儀的通道0和通道1分別連接到被測(cè)設(shè)備的TX和RX引腳并共地。設(shè)置打開軟件設(shè)置合適的采樣率對(duì)于115200波特率設(shè)置2M以上采樣率足夠添加異步串口解碼器。觸發(fā)與解碼設(shè)置解碼器參數(shù)波特率、數(shù)據(jù)位等然后開始采集。你發(fā)送數(shù)據(jù)后可以在波形上看到清晰的起始位、數(shù)據(jù)位和停止位。解碼器會(huì)直接將二進(jìn)制數(shù)據(jù)翻譯成十六進(jìn)制或ASCII字符顯示出來。分析看波形是否干凈上升/下降沿是否陡峭有無明顯毛刺或振鈴測(cè)量波特率軟件可以測(cè)量兩個(gè)下降沿起始位之間的時(shí)間換算成實(shí)際波特率看是否與設(shè)定值相符。核對(duì)數(shù)據(jù)直接對(duì)比發(fā)送的數(shù)據(jù)和解碼出的數(shù)據(jù)是否一致。通過邏輯分析儀你可以確認(rèn)信號(hào)是否真的發(fā)出去了波形質(zhì)量如何實(shí)際波特率是多少數(shù)據(jù)內(nèi)容是否正確這能從根本上區(qū)分是軟件配置問題還是硬件信號(hào)完整性問題。4.3 從回環(huán)到實(shí)戰(zhàn)流控與錯(cuò)誤處理回環(huán)測(cè)試環(huán)境理想但真實(shí)世界充滿挑戰(zhàn)。兩個(gè)重要的進(jìn)階概念是流控和錯(cuò)誤處理。硬件流控RTS/CTS當(dāng)接收方緩沖區(qū)快滿時(shí)通過拉低CTS信號(hào)告訴發(fā)送方“暫停發(fā)送”當(dāng)緩沖區(qū)有空閑時(shí)再拉高CTS告知“可以繼續(xù)”。發(fā)送方則用RTS信號(hào)來指示自己是否準(zhǔn)備好接收。在高速或大數(shù)據(jù)量傳輸如通過串口傳輸文件時(shí)啟用硬件流控能有效防止數(shù)據(jù)丟失。在回環(huán)測(cè)試中你可以嘗試短接RTS和CTS來模擬流控過程測(cè)試驅(qū)動(dòng)是否支持。軟件流控XON/XOFF通過發(fā)送特殊的控制字符XON0x11, XOFF0x13來實(shí)現(xiàn)流量控制。現(xiàn)在較少使用。錯(cuò)誤處理成熟的串口通信程序必須考慮錯(cuò)誤。UART硬件通常能檢測(cè)到以下錯(cuò)誤幀錯(cuò)誤未檢測(cè)到有效的停止位。可能是波特率嚴(yán)重失配或噪聲干擾。溢出錯(cuò)誤接收緩沖區(qū)已滿新數(shù)據(jù)到來導(dǎo)致舊數(shù)據(jù)被覆蓋。說明接收處理太慢。噪聲錯(cuò)誤某些MCU在采樣點(diǎn)檢測(cè)到意外的電平變化。校驗(yàn)錯(cuò)誤如果使能了奇偶校驗(yàn)計(jì)算結(jié)果不匹配。在STM32的HAL庫中你可以通過HAL_UART_GetError()函數(shù)獲取錯(cuò)誤標(biāo)志并在錯(cuò)誤回調(diào)函數(shù)HAL_UART_ErrorCallback()中進(jìn)行處理比如清空緩沖區(qū)、重新初始化串口等。在回環(huán)測(cè)試代碼中可以故意設(shè)置錯(cuò)誤的波特率或幀格式來觸發(fā)這些錯(cuò)誤并測(cè)試你的錯(cuò)誤處理機(jī)制是否健壯。5. 超越基礎(chǔ)回環(huán)測(cè)試在復(fù)雜系統(tǒng)中的應(yīng)用掌握了基本的回環(huán)我們可以將其思想應(yīng)用到更復(fù)雜的場(chǎng)景中。5.1 多路UART并發(fā)通信的測(cè)試像STM32F407這類擁有多個(gè)UART接口的MCU可能同時(shí)需要與GPS模塊、4G模塊、調(diào)試終端通信。如何測(cè)試它們的并發(fā)性能你可以設(shè)計(jì)一個(gè)“交叉回環(huán)”測(cè)試將UART1的TX接到UART2的RXUART2的TX接到UART1的RX。然后編寫程序讓兩個(gè)串口同時(shí)以高波特率如921600互相發(fā)送和接收大數(shù)據(jù)塊。通過檢查接收數(shù)據(jù)的完整性和正確性可以壓力測(cè)試DMA控制器、總線帶寬以及你的多任務(wù)調(diào)度程序如果使用了RTOS的穩(wěn)定性。這能暴露出在單一串口測(cè)試中無法發(fā)現(xiàn)的問題比如總線仲裁延遲、DMA通道沖突等。5.2 驅(qū)動(dòng)與固件開發(fā)的調(diào)試?yán)髟陂_發(fā)USB轉(zhuǎn)串口芯片如FT232R, CP2102的驅(qū)動(dòng)或者編寫虛擬串口如STM32的USB CDC固件時(shí)回環(huán)測(cè)試是核心驗(yàn)證手段。驅(qū)動(dòng)安裝驗(yàn)證安裝完FT232R或CP2102N的驅(qū)動(dòng)后最簡單的驗(yàn)證方法就是短接其TX和RX引腳然后用串口助手發(fā)送數(shù)據(jù)。如果能收到相同的數(shù)據(jù)證明驅(qū)動(dòng)安裝成功設(shè)備工作正常。這也是為什么這些驅(qū)動(dòng)安裝教程常以回環(huán)測(cè)試作為最后一步。虛擬串口固件測(cè)試在STM32上實(shí)現(xiàn)USB CDC通信設(shè)備類功能讓電腦將其識(shí)別為一個(gè)虛擬COM口。在固件中你可以將USB接收到的數(shù)據(jù)通過UART轉(zhuǎn)發(fā)給另一個(gè)硬件串口同時(shí)又將該硬件串口接收的數(shù)據(jù)通過USB發(fā)回電腦。這就構(gòu)成了一個(gè)“USB-UART橋”的回環(huán)測(cè)試能同時(shí)驗(yàn)證USB棧和UART驅(qū)動(dòng)是否協(xié)同工作正常。5.3 協(xié)議棧開發(fā)的基石幾乎所有基于串口的應(yīng)用層協(xié)議如Modbus RTU、GPS NMEA-0183、AT命令集其開發(fā)的第一步都是在回環(huán)環(huán)境下搭建測(cè)試框架。以開發(fā)一個(gè)Modbus RTU從站為例搭建回環(huán)環(huán)境將設(shè)備的RS485接口的A和B-短接注意這是RS485的差分線回環(huán)不同于TTL的TX/RX短接。務(wù)必確認(rèn)你的設(shè)備支持內(nèi)部回環(huán)或這種接法安全更穩(wěn)妥的方式是使用兩個(gè)USB轉(zhuǎn)485模塊互連。實(shí)現(xiàn)數(shù)據(jù)鏈路層先不管協(xié)議內(nèi)容確保設(shè)備能正確收發(fā)原始字節(jié)。使用回環(huán)測(cè)試驗(yàn)證底層收發(fā)函數(shù)包括超時(shí)、CRC校驗(yàn)前的數(shù)據(jù)緩沖是否正確。逐步實(shí)現(xiàn)協(xié)議先實(shí)現(xiàn)最簡單的功能碼如讀保持寄存器在回環(huán)環(huán)境下自己構(gòu)造請(qǐng)求幀發(fā)送給自己驗(yàn)證解析和響應(yīng)幀生成是否正確。注入錯(cuò)誤測(cè)試故意發(fā)送錯(cuò)誤的CRC、非法的功能碼測(cè)試協(xié)議的魯棒性。這種從底層到上層、在受控的回環(huán)環(huán)境中逐步構(gòu)建和測(cè)試的方法能極大提高開發(fā)效率和代碼質(zhì)量。回環(huán)測(cè)試提供了一個(gè)純凈、確定性的環(huán)境讓你可以專注于邏輯正確性而不必受制于外部設(shè)備的不穩(wěn)定性。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
无码久| 亚洲最大网站av| 欧美91网站| 国产又大又硬又长又粗| 亚洲一欧洲中文字幕在线| 97超碰影音| 夜夜高潮夜夜爽高清视频一| 伊人久久88国产女| 3P乱轮视频| 日韩有码专区| 91色人| 人妻大相焦在线| 五月天久久久| 欧美激情五月天| 日韩欧美午夜一区二区| 欧美gv在线观看| 美女爽到高潮91| 欧美在线55555| 亚洲91亚洲| 久久性爱视频| 九九色逼| 国产在线精品偷| 91在线页| 色色色色色色色色色色色色色色综合| 91free福利| 女人 A一级| 人人模人人看| 国产精品盗摄 偷窥盗摄| 亚洲女优有码无码高清| 天堂精品一区| 青青草大香蕉视频| 熟女久久| 99在线观看视频在线高清| 国产诱惑| 亚洲第一页综合在线| 大香蕉琪琪日本女优不卡| 国产乱婷婷精品二区三区| 极品色社| 日本天天吊| 99国产人成精品| 天天干天天插| 九久久九精品视频| 日韩ab网| 性交一区二区在线播放| 伊人久日| 亚洲?V高清一区二区三区尤物| 亚91网| 欧美 亚洲精品首页| 日本欧美成人片AAAA| 国产麻豆福利av在线播放| 一个色导综合| 日本污ww视频网站| 精品v1区| 亚洲性感丝袜诱惑在线观看| 欧美亚洲今日在线| 超碰97人妻| 亚洲天天操| 91 丝袜在线播放| 国产在线能看的你懂的| se吧提供国产乱老熟视频胖女人 | 女人18精品一区二区三区| 插插综合网天天影视网| 国产日本一区二区三区蜜臀在线观看| 91欧洲国产成人久久精品网站| 凹凸视频在线一区二区| 亚洲精品影视老司机| 国内精品伊人久久久久影院会| 自拍鲍鱼一区在线高清观看免费| 国语人妻精彩刺激| 一区二区三区成人| 国产精品日日摸天天碰| 午夜国产成人精品视频| 曰韩无码777| 久久婷婷国产一区二区色| 97精品视频免费| 男人精品天堂一区| 亚洲人妻av| 天天操夜夜操| 久久精品99久久久久久| 亚洲综合第一页| 在线无码视频| 欧美九9 9 9| 欧美香蕉视xxx| 蜜桃狠狠色伊人亚洲综合 | 黄色AAAAA欧美| 国模精品一区二区三区苹果色戒| 色呦呦、国产精品| 春色91| 免费αV在线视频| 去干网最新版| 天天超级碰碰碰| 大香蕉综合网| 国产一区二区三区中文字幕| 亚欧操逼片在线观看| 大屁股人妻女教师撅着屁股| 日韩久久三区| 国产一二三福利视频网| 黄色av一区二区在线| 欧美欲色| www.av家庭乱伦| 亚洲Av无码成人精品国产| 日日日啊啊啊| 自拍偷拍草一草| 国产激情久久| 婷婷超| 精品超碰国产| 日本狠狠干| 国产精品国产| 久久综合资源一区二区| 亚洲天堂人人妻| 少妇久久久久久| 日本在线视频导航| 久9综合在线| 懂色中文一区二区三区| 熟妇亚洲一区二区三区| 中文字幕乱码人妻二区三区| 欧美综合网1| 国产日韩欧美操逼视频| 麻豆性爱视频在线播放| 成 人 A V免费视频在线观看| 五月丁香网站| 99国产女人| 午夜一区| 欧美色交| 无码91| 十八禁啪啪视频| 91neishe| www.91人妻.com| 国产AV人人 夜夜人人澡| 日本一级特级毛片视频| 超碰在线人妻不卡| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 人妻啊啊人妻啊| 青青草在线视频播放器| 欧美精品成人亚洲| 操逼视频国产无套| 9999九九九久久久| 综合五月婷婷| 永久电影三级在线观看| 玖玖资源中文字幕制服丝袜| xxxx网站亚洲精品| 后入式五六区| 涩五月婷婷| 国产精品熟女一区二区三区| 欧美91网站| 成人性爱全视频观看| 亚洲天堂久久| 婷婷四五区| 乱性AV| 骚女高跟AV在线| 亚洲啪啪视频一区二区| 日日躁夜夜躁狠狠躁超爽| 91丨九色丨国产打屁股| 无码精品久久| 超碰天天去日穴| 亚洲人精品久久久喷水| 免费黄色A片| 蜜色网色哟哟| 强奸乱伦大香蕉网| 国产久久久| 久久日本熟女精品一区| 人妻在线臀日韩| 成人午夜小视频手机在线看| 国产中文精品一区二区在线观看| 麻豆色99999| 人妻天天爽夜夜爽爽| 人人操人人操人人人操| 精品国产乱码久久久久久免费| 久久熟女人| h无码动漫在线观看| 色综合天天爱去电影网| 日本亚欧爱爱| 另类av天堂| 五月天婷婷色色| 一起草欧美| 78精品| 欧美在线 亚洲| 91色噜噜狠狠| 五月天激情综合网| 久久精品国产亚洲AV高级北京| 大香蕉伊人网| 超碰人妻久久| 性欧美| 人妻人妻天天碰| 91人人看| 亚码激情| 少妇的嫩逼图片| 伦在线97| 日日夜夜模| 加勒比日本在线| 欧美亚涩| 麻豆视频test| 欧洲综合视频| 激情一区二区三区在线观看| 国产馆极品诱惑| 色婷视频| 十八禁视频网站| 亚洲成熟国产精品美女| 欧美色图天堂在线| 色婷婷电影网| 天天日天天舔天天喷天天射| 殴美,日韩国产伦精品| 欧美日韩性爱精品| 强免费黄色网址| 欧美强奸乱能| 一区二区娱乐网站| 国产999精品久久久久久| 日本99视频| 久久久久久欧美精品se一二三四| 国产综合操逼高清| 91丨九色丨国产打屁股| 一区二区三区蜜桃成人撸久久东京热| 激情文学 国产一二三aV| 殴美性色a级欧美| 啊啊啊啊嗯嗯嗯用力好爽 | 日韩久草| 男人天堂毛片| 免费试看60秒| 最新av网站在线观看| 激情熟女12P| 中文字幕一区二区免费在线| 色婷婷六月| A V少妇特黄三级| 久久久久9久久久久| 久久久久国产亚洲一区欧美色图日韩 | 久久理论字幕视频| 91挑色欧美| k频道色撸撸| 日本久久久精品电影| 久肏视频字幕| 东北少妇高潮zzzz| 欧美操逼熟女| 长长久久免费视频| 黄网站黄视频网站进入口 | 亚洲蜜乳av| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 色色婷婷五月| 欧美韩日精品资源| 蜜区区视频79 | 欧美午夜一区二区三区| 人妻嗯啊啊在线播放| 亚洲熟女乱色| 中国91AV| 亚洲字幕一区二区| 亚洲日本成人动漫| 91麻豆天美国产欧美高潮| 色九久| 秋霞成人一级在线观看| 亚洲精品丝袜-不卡成人免费……| 中文字幕在线观看网页| 青青草好吊| 亚洲一二三四区| 色操逼网| 91麻豆天美国产欧美日| 肉丝无码中文高清| 波多野结衣之双飞调教在线播放| 秋霞曰韩R级| 偷拍网站久久男女男| 高清不卡 中文 人妻| 日日夜夜精品视频| 日本三级中国三级99人妇网站| 日本蜜桃| 久久精品国内Av熟女高清| 色狠狠综合| ai欧美亚洲小说| 青草精品视频-日本久久久久网站| 26uuu国产亚洲综合| 国产福利精品最新在线| 久久精品99久久久久久| 久久久久久久九九九九九九| 欧美日日网| 色网亚洲人| 手机在线播放国产福利| 国产地址二三| 伊人一级免费黄片| 91久青| 欧美热图99| 操逼片中文| 91骚妇| 国产亚洲精品一区二区三区| 人妻夜夜爽天天爽麻豆三区网站| 久久久久久精| 国产一区麻豆免费观看| 秋霞网无码| 素人播放一区| 国产精品片| 99热色精品| 免费视频观看60秒| 五月丁香综合激情| 色九九久九九| 九色97| 91网站18| 欧美嗯啊……在线观看视频免费| 五十路一区无码| 日本一区二区三区欧美日韩中文字幕| 日韩欧美日韩| 少妇毛片久久| 成人精品一区二区91毛片不卡| 宗合情欲网| 精品人妻一二三| 国产嫩草精品A88AV在线| 日本一级真人黄色性爱视频| 日韩欧美日韩| 欧美色就是色| 中文字幕精品区先锋资源| 青青欧美| 午夜男人一级A片7777| 日日日日做夜夜夜夜做无码97| 97精品熟女少妇一区| 粉嫩小泬久久久一区二区| 欧美少妇性爱网站| 亚洲欧美天| 激情自拍 校园春色| 啊啊啊啊啊啊在线观看| 草伊人高潮喷水超碰| 人人操人人插人人摸人人干| 东北老熟女| 亚洲 欧美 中文 日韩超碰| 超碰78| 美国久久一二三四| 久久久久久精品免费看A级| 欧美97se| 中文字幕亚洲欧美在线不卡| 人妻精品视频一区二区| 起碰97| 99re热| 色婷婷99| 久久欲| 不卡六六在线91| 无码99| 777AV电影| 人人操人人精品影片| 鲁鲁色综合网| 天天干夜夜一操| 美女网站91| 久久久久久中文版| 久久熟女人| av天堂手机版追回| 不卡中文字幕aⅴ在线| 中文字幕乱偷人妻久久艾草网| 婷婷九月色| 国产精品视频自拍在线| 三四中文字幕| 91欧美性| 青苹果影院男人的天堂| 日本日逼视频网| 中文字幕,人妻,日韩| 亚洲 日本 不卡| 久操网在线| 伊人综合色网| 超碰人人干| 狠日操| 亚洲欧美高清无码| 无码78| 超碰在线1234区| 亚洲美欧999| 狠狠干狠狠色| av资源在线观看少妇| 欧美Aⅴ| 亚洲无线观看久久| 中文不卡视频| BBBBB97COM| 操淫穴亚洲五月丁香| 97色论| 少妇 综合| 91精品国产麻豆国产自产在| 亚洲色 国产 欧美 日韩| 老子午夜伦不卡影院| 91人人| 国产精品久久久久婷婷二区次| 精彩久久中文| 亚洲日韩欧美一区二区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 艳美熟妇先锋一二三区| 久久免费中文字幕在线观看| 久久精品视频久久久| 亚洲综合激情五月久久| 九九热精品| 超碰在线人妻| 欧美色图片色哟哟| 美女91| 婷婷五月天激情四射| 94色色电影网| 淫荡网址| 久艾草在线精品视频在线观看| 91亚州| 黄色免费一级在线毛片| 精品日韩人妻视频| 天天摸夜夜添无码小视频| 99这里只有精品国产| 国产精品久久久久久久久久久久| 亚洲丝袜诱惑| 久久透逼视频| 国产97视频免费观看| 91小视频| 人妻少妇视频在线播放| 日韩在线76| 亚洲熟女国产综合另类| 精品无人区麻豆乱码久久久| 91在线色| 另类图片五月天| 这里只有精品97| 97这里有精品| 日本欧美一区二区三区免费| 亚洲最大无码中文字幕网站| 亚洲国产一级黄色视频| 亚川综合视频| 婷婷香蕉| 久久久婷| 96麻豆精品一区二区三区| 日本久久女同性恋视频| 亚洲第一狼人丝袜美女另类| 婷色五月| 最新av在线| 欧美另类丝袜熟女| 国产精品永久免费10000| 温婉少妇玩3p| www.婷婷五月天| AND人妻系列| 亚洲熟女乱色一区二区三区久久久 | 亚洲综合情色| 欧美天堂在线| 国产野战露脸在线播放| 欧美一级色| 夜夜操91744565| 嗯嗯啊啊的视频| 白丝AV| 风流老熟女一区二区三区l| 五月婷婷六月激情| 超碰久在线天天做| 女色综合| 国产无套粉嫩白浆在| 日本一二区免费| 日本不卡一区二区三区| 久久亚洲国产成人| 六月丁丁香| 久噜噜| 久久这里只有精品9| 色综合av男人天堂| 91欧美成人色站| a啊啊啊啊啊啊啊啊一区二区| 不卡av免费在线网址| 国产亚洲国产超碰| 好屌色综合| 粉嫩av在线| 大香蕉五月天| 99re在线视频国产| 伦伦成年午夜免费视频| jazzjazz国产精品麻豆| 欧美日韩成人在线| 国产风韵犹存熟妇三区| 欧美老妇曰批的视频| 宅男91视频在线播放| 秘书高跟黑色丝袜国产91在线| AV和黑人在线播放| 97人人爱人人做人人乐| 在线视频免费观看午夜| 欧美性天天影视| K8久久久久| 天天做日日爱夜夜爽| 农村妇女精品一区二区| 久久av无码| 蜜臀在线免费观看在线免费观看| 日本色日夜干| 99.色网| 看日韩黄片| 美女人妻色网站| 丝袜美腿亚洲| 超碰性爱97| a片偷拍视频| 亚洲国产剧情少妇激情| 国产丝袜欧美在线视频| 91l欧美在线| 在线播放免费av福利片| 伊人玖玖网| 亚洲精品xxx| 亚洲日韩乱码中文无码蜜桃臀网站 | 色噜噜人妻丝袜a∨先锋影| 欧美影音在线| 天天肏夜夜肏| 97免费在线观看| 日本三级久| 国产精品高潮久久久无码| 国精品一区二区三| 天天摸夜夜添无码小视频| 麻豆 亚洲 97| 国内自拍 日韩激情 99| 色综91| 亚91亚洲网| 色黄色美女大长腿午夜视频| 亚洲大色鬼| 欧美丰满熟妇XXXX性ppX人交| 美女爽到高潮91| 日韩欧美女优电影| 色欲三区| 91天堂丝袜美腿| 久久九九99| 麻豆国产精品午夜视频| 天天综合网AV91| 国模吧 一区二区三区| 哈哈操电影| 殴美日韩m| 口爆吞精在线观看| 欧美亚洲中文| 激情视频一二三| 狼人久草| 亚洲1区2区三区高清中文字幕| 欧美日韩国产色五月综合在线| 99久久综合| 亚洲欧洲中文日韩女优乱码| 久操视频在线| 九九热视频这里只有精品| 成年人一级黄色毛片大全在线观看| 精产品久久| 18岁禁 茉莉成人久久| 性爱av在线免费观看| 人人操人人色网| 亚洲色图第一页| 欧美中文字幕男人天堂久久精品| 岛国视频免费在线观看| 秋霞色色影院| 亚洲91射| 国产五码丝袜屁眼| 欧美黄页在线| 色五月激情综合网| 亚洲第一黄色av网站| 99在线精品视频| 男人的天堂久久狠| 亚洲国产精品久久久男人的天堂| 99re这里只有| 久9爱经典视频| 亚洲不卡av在线| 丁香五月天激情| 乱论91| 99re免费视频精品全部| 亚洲精品人体| 97爱爱官网| 91 亚洲情侣偷拍 久久| 久久久国产精品人妻丝袜| 啊啊啊啊一区| www色色com| 久久精品国产免费观看99| 91搞逼视频| 天天色图| 男人天堂网站| 精品一级毛片在线观看| 神马九九| 欧美色女人| 色香欲影| 国产97亚洲| 丝袜美腿丝袜| 欧美日韩国产精品久久色婷婷| 黑人精品久久97| 日本精品性生活久久久| 樱花草社区www中国| 婷婷三区| 欧美少妇第一页| 熟妇亚洲一区二区三区| 天天综合网91入口| 国产a级精品| 区一二区日韩亚洲乱码av电影| 色呦呦、国产精品| 91色综合激情| 狠狠躁天天躁日日躁| 熟女网站最新| 日本久久久精品电影| 亚洲在线观看| 五月天伊人网| 91精品国产91久久青草 | 99re6久热只有精品6在线直播| 91 刺激在线| 亚洲熟妇图片| 99蜜桃臀亚洲成人在线观看| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV| 台湾佬中文娱乐自偷自拍| 久久111| 男人把坤坤插入女人的下体 | 日韩操逼HD| 亚洲欧美在线观看2021 | 欧美一区二区| 国产无码成人无码| 欧美性爱日韩性爱| 国产激情片在线观看| 久久99操天天日| 91色爽欧美| 亚洲有码第一页| 欧美同性恋 的搜索结果 - 91n| 91中文字幕在线观看| 野狼福利社区| 欧美αv.com| 操婷婷逼| 一区二区精品更新提醒| 国产97在线播放| 精品九九九| www.99中文字幕| 丁香五月性爱| 牛牛久久国产精品视频一二三| 五月天欧美色图| 操碰97| 久久久久国产精品片区无码直播| 中文字幕精品一区二区精品| 东京热av男人的天堂| 日韩精品资源| 午夜男人av| 天天干天天拍| 狠操91,com| 九九九热| 亚洲va综合va国产va中文| 青青草日本中文字幕| 欧美亚洲韩国视频十五区| 亚洲高清视频在线免费观看| 久久久成人国产精品无码| 亚洲AV资源| 亚州黄站| 精品中文字幕一区二区l - 百度| 大香蕉伊人亚洲| 国产2.3.4区| 大香蕉一区二区在线观看.| 亚洲色吧网| 五十路成人在线视频二区三区| 午夜舔阴达高潮视频免费看| 久久98| 在线五区| 欧美另类精品xxxx| 超碰97资源大奶| 精品人妻av区天天看片| 国产成人无码久久精品| 精品一国2| www.亚洲黄色| 嫩草 人人网精品| 中文字幕制服诱惑| 久热大香蕉| 啊啊啊操死我了| 干干干天天| 青娱乐大香蕉| AV天堂国产| 在线 亚洲 网爆 自拍| 天天综合中文字幕 91| 97啪啪| 97超碰影音| 免费人成?大片在线播放| 丝袜美女诱惑 91 视频| 天天摸夜夜添无码小视频| 青青草伊人久久| 欧美成年人性爱视频免费观看| 精品精品精品| 亚洲有码视频二区| caopeng97| 亚洲欧美成人网站AAA| 后X久久| 无遮挡男女激烈动态图| 欧美黑人猛交春色影视大全| 超碰色综合| 亚洲国产一区二区三区在线| 999久久久免费精品国产牛牛| 97精品国产97久久久久久免费| 五月亭亭六月丁香| 欧美日韩少妇色情| 午夜男人av| 免费草草草草草视频| 亚洲码专区| 久久久性爱| 亚洲天堂色图| 99老司机精品视频在线观看| 九七毛片九九毛片 | 天美久久久久| 蜜臀少妇一区二区| 热思思免费视频| 久久香蕉超碰97国产精品| 高清无码 国产精品| 后入式999| 日日干夜夜干| 国内偷自视频区视频综合| 亚洲熟女偷拍在线观看| 九月婷婷久久| 精品日韩人妻视频| 97视频在线观看网站| 久9视频| 男女日B国产| 男人的天堂日韩| 婷婷五月在线视频| se吧提供91精品国产91久久久久久 | 超碰97久久国| 欧美日不卡| 在线播放免费av福利片| 97久操| 久久男人网| 日韩乱插| 免费日韩黄片| 久久久啊啊啊| 男人的天堂VA在线| 人妻啊啊人妻啊| 韩国一级婬片A片无码天美| 欧美美逼| 日韩精品9999| 大香蕉操久久| 殴美大黄片| 日韩一级久久毛片| 国产久久天堂资源| 亚洲综合性网址| 中文字幕日韩综合| 性爱乱伦一区| 欧美日韩色综合网| 综合第一页| 激情内射| 超碰97久久观看| 啊啊啊啊啊在线观看网址 | 精品白丝一区| A啊啊在线观看| 婷婷精品| 一级免费啪啪片| 欧美日韩黄片精品在线| 国产精品一区二区三区免费视频| 亚洲十八禁止| wwe 天天干.com| 嗯嗯啊中文字幕| 激情五月天色色网| 国产精品久久久久久片| 久久这里只精品免费福利| 亚洲 在线| 啊啊啊轻点在线观看| 亚洲淫色网中文| 中文字幕少妇色 | 四虎精品永久在线播放| 校园春色 亚洲| 超碰这里有精品| 91性高| 精品小视频在线| www老逼91| 精品一区二区三区蜜桃臀赵总| 日本福利二区视频| 麻豆国产96在线| 日本操逼二区| 欧美日韩操逼动图| 午夜男人av| 国产精品网址| 成全在线观看免费观看| 中文字幕乱码人妻二区三区| 在线观看亚洲成人精品| 成人小说视频在线精品欧美| 亚欧色图在线激情| 国产福利一区二| 无遮挡又黄又刺激的视频| 天天影视色香欲综合网小说| 国产福利精品98视频| 久久专区| 岛国在线国产| 日韩综合无码色欲vv| 欧美αv.com| 久久av成人无码免费| 黑人嘿嘿嘿超爽免费视频| 在线观看中文av字幕| 在线人人人人人人精品超 | 国产极品久久久| 国产精品久久久999| 国产情色第一第二页在线观看| 97超碰中文| 狠狠躁久久躁| 老熟女网站| 国产无码精品无码| 很黄很色的视频在线观看| 亚乱色| 91日韩在线| 1024亚洲中文字幕久在线看片你懂的| 嗯嗯啊啊操死我| 小草av不卡亚洲二区| 久久久久幕乱码| 91国模| 岛国片在线播放| 午夜高清成人在线视频| 五月丁香啪啪啪| 综合干干干av久久久综合网| 亚洲综合图片在线| 97人人夜| 青娱乐999| 老熟妇一区二区三区…| 三级三级三级日本99| 玖玖综合色| 色哟哟AV| 久久久久久99AV无码免费网站| 中日亚韩免费视频| www.夜夜操| 自拍视频大全亚洲专媒视频/一区二区三区 | 欧美|91色综合| 操死我了嗯嗯嗯| 97美日韩视频| 密乳AV免费观看| 丁香五月av| 91n免费处女| 中文字幕后石码四区五区| 视频国产精品未满十八禁止在线观看| 五月天婷婷久久| 久久久久9999妇女| 精品视频一二三中文| 99热99在线播放激情| 91麻豆天美国产欧美日| 色哟哟AV| 国产av激情无码久久天堂| 久草视频分类在线| 天堂伊人久久| 永久免费观看的毛片的网站| 日本色色色色色视频| 中文字幕视频2区| 国产999精品久久久| 91成人久久| 97超碰天天| 亚洲天堂资源网| 立川理惠加勒比无码| 午夜精品久久久久| 射 色综合| 色淫网站优优视频| 中国人高清www色视频免费| 久日91在线| 色婷婷综合久久中文字幕雪峰| 久久久久成人蜜桃精品| 国产免费操逼| 高清国产精品福利网站| 婷婷五月天色网| 色女综合| 色综合98| 人妻喷水| 91精品丝袜久久久久久无码人妻| 亚洲欧美在线观看2021 | 日婷婷| 淫妻综合网| 久久亚州大香蕉| 国产小黄片在线免费观看| 啊操爽品善一区二区三区| a'v在线资源| 翘臀vidoes| 熟妇熟女一区二区三区| 99在线精品观看99| 欧美自拍网| 国产农村一一级特黄毛片| 91激情国产| 黄色性爱网网| asc国产精品| 免费综合亚洲中文| 色99久草| 国产精品免费视频人成| 亚洲日韩资源| 亚洲欧美中文日韩视频中国语| 限制级中的三级片中的黑粗大屌屌日人妻熟女| 超97在线精品视频| 亚洲涩图欧美| 超碰人人干| 少妇淫妇久久久久久久| 成人情色一区二区| 97在线观| 91久久国产综合久久| 欧美日韩97| 人人操天天爽| 在线一道啪| 密臀成人视频久久久| 国产亚洲精品自在线亚洲情侣| 国产精品丝袜在线| 大奶啊啊好爽| 涩综合导航| 久久99草| 久久九九网| 人妻夜夜爽天天爽三区麻豆AV网站| 国产欧美日韩女同性恋ww喷水精品| 亚洲欧美日韩偷拍色图| 欧美综合加勒比在线| 亚洲国产一区二区日韩专区| 午夜综合在线| 婷婷91| 秋霞怕怕片| 青青草玖玖爱| 久久婷婷伊人| 国产精品久久久久久亚洲色欲| 中国小夫妻勾搭露脸淫荡对白| av无码精品久久久久| 日韩欧美中文字幕搭讪巨乳美人妻视频| 亚洲激情AV| 74成人在线| 亚欧美色图| 欧美 亚洲 综合 制服| 国产精品露脸在线观看| 夜夜国自区| 一区二区三区四区五区高清无码永久视频 | 亚洲网自拍| 久久‘黄片视频| 凹凸视频在线一区二区| 91影视亚洲| 欧美亚洲国内自拍| 亚洲一本色道中文无码aV天美| 91色香| 九9热伊人| 亚洲天天艹| 亚洲精品一区二区三区在线播放| 91亚洲情色| 亚洲天堂美臀在线| 97国产超湿| www.人人cao| 内射夫妻三片| 精品久久久久综合无码| 亚州日韩97| 99热97| 巨爆乳肉感一区二区三区竹菊影视| 亚洲国产精品99久久久| 精品久久97观看在线视频| 2017大香蕉国产精品久久| 色欧美天天| 手机在线观看不卡无码av| 日韩精品一区二区高清| 天天日夜干| 欧美性Fer办公室秘书| 97色欧州| 久久女人视频| 91粉芽高清在线一区二区| 免费观看的黄色的网站| 91精品亚洲内射孕妇| 超碰在线一区二区三区| 色欧美在线| 精品人妻视频一区二区在线播放 | 神马久久久久久伦理片| 97精品一区二区视频| 青草一区二区| 天干天干天干天天做| 一区超碰一区| 中文字幕伊人| 伊人伊人LD| 九九九九九九九九九五码| 99999无码| 99青草| 性欧美另类高清| 一本久道久久综合狠狠爱| 色色色欧美| 国产精品三级视频网站| 手机看片1024你懂的国产| 人人潮人人摸| 欧美日本中字另类在线| 老熟女搡BBBB搡BBBB视频| 日韩精品资源专区二区| 日本一区二区不卡| 国产亚洲99久久精品熟| 水多多映视AV| 精品国产Av无码久久久亚洲| 午夜小电影在线插入淫高潮| 一区二区三| 欧美97| PMv在线观看| 伊人黄色片| 亚洲无码国产精品久久| 精品人妻中文字幕4399| 日韩在线一区高清在线| 亚洲一区二区三区中文字幕| 老熟女乱子伦中文字幕一区二区| 国产精品毛片?v一区二区三区 | 丝袜狠狠草尤物 91| 国产精品国产| 五月天AV资源| 9久热这里只有精品| 久久久久久久久久9| 国产v亚洲v日韩v欧美v片另类| 国产老太乱伦一区| 乱伦熟妇一区二区| 久久黄色视频一区二区三区| 在线观看AV片| 婷婷综合激情| 久jiu久神马影院| 久久久久久久国产| 龙兴卡官方查询| 亚洲情色 自拍| 欧美裸体美女日麻屄| 超碰免费人妻人人| 亚洲午夜福利在线影院| 欧美一级色| 97色爱| 日韩人人精品| 国产精品96| 无码区蜜乳| 亚洲AV永久无码一区仙野| 午夜天堂精品久久久久91| 97这里都是精品| 嫩草黄页| 久久精品一区二区三区四区五区| 一二三四视频中文字幕在线看| 女人双腿搬开让男人桶| 人妻久热在线| 亚洲97网站| 超碰97人妻在线| 麻花传媒免费网站在线观看| 久久婷婷五月综合| 青娱乐蜜桃臀AV色婷| 桑老女人九区| 欧美精品久久久久久久丰满| 综合久久欧美| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 俞拍久久国应视频| 亚洲图片色图欧美另类| 中文字幕在线观看视频www| 亚洲色图欧美色图制服丝袜| 国产精品粉嫩福利在线| 亚洲国产精品无码AV久久| 国产精品久久久久久片| 人妻精品4K4K4K4K4| 欧美色97| 强奸乱伦亚洲第一页| 成人综合色网| 人人澡人人澡人人| 国产美女裸体秘 永久无遮挡| 丁香六月啪啪| 91熟女少妇| 思思视频免费看网站| 97天堂| daxiangjiao你懂的| 欧美福利视频啊啊啊啊| 天天日少妇逼AV| 国产精品夜夜夜| 午夜一区二区三区国产| 嗯嗯啊啊用力视频免费| 后入国产| 无套内射性感少妇视频| 欧美中文狠| 亚洲男人综合| 精品国产乱码久久久久久久久1| 99热国产精品| 国模不卡| 91成人在线| J?P?NESEHD熟女熟妇伦| 日本福利社| 夜夜夜爽www精品视频| 91精品人妻电影| 亚洲九九爱| 色天使亚洲综合在线观看| 九九久久国产精品| 中日韩免费看男女操逼大全| 亚洲精品丝袜-不卡成人免费…… 久久久久成人蜜桃精品 | 超碰社区97| 欧美人妻一区| 国产久久久久影院老熟女| 26uuu性| 国产熟妇一区二区| 黄色片A级一区二区三区| 麻豆区99999| 男女啪啪网站免费视频| 日本精品人妻少妇一区二区| 日本一区二区中文字幕久久| 极品色社| 精品无码久久久久久久杏吧| 嗯嗯嗯啊啊啊在线免费观看| 97干97色| 台湾佬中文娱乐自偷自拍| 精品久久久av无码免费| 99青草| 欧美爱三级日韩久久| 草伊人高潮喷水超碰| 收看日本人日bb| 青青草啪啪网| 久干9操| 国模久久在线| 爱射综合| 超碰免费人妻在线| 熟妇一区二区三区| 国产精品原创巨作?v网站| 天天看高清麻豆| 操逼视频亚洲| 中国熟妇| www.97在线| 成人性爱av| 骚逼自拍99| 开心激情站| 亚洲无992tv| 久久久久亚洲精品| 温婉少妇玩3p| 亚洲Av诱惑| 黄色小说亚洲| 国产精品蜜乳AV| 久久香蕉国产线看观看亚洲女人 | 强奸熟女一区二区三区| 亚洲天堂 视频你懂的| 久久久一区二区三区四区五区| 久久国色天香香蕉| 国产Aα| 久久久久久十| 激情文学欧美| 国产女人成人精品视频| 亚洲欧美另类激情小说| 少妇内射www在线观看视频| 欧美顶级黄片AAAAA在线免费看| 91丝袜| 色色色色色色色色综合| 丁香五月色| 91精品微拍福利| 91无码精品| 操操操操网黑人| 日韩中文欧美| 日韩无码三级影院| 夜夜欢天天干| 狠狠躁天天躁日日躁97| 欧美淫穴| 人人操人人大香蕉| 中文久久| 日韩精品资源| 精品免费国产二区三区| 激情婷婷| 乱欲一区二区| 自拍偷拍 日韩欧美| 欧美性高潮| 久久久九九九九| 91男女啊啊啊| 国产激情av女片自拍| 中文字幕日韩专区精品系列| 67914在线兔费成人视频| 久久做97| 人妻啊啊人妻啊啊| 亚洲欧美经典一区二区| 婷婷丁香九月| 亚洲学生妹高清av| 久久久涩| 久久视频,这里只有精品 | 国产久久久久久| 色偷偷人人玩人人舔人人操人人摸人人爽| 中文字幕一区 二区三四五 区日 日骚 | caorenqi shipin| 一区三区啪啪| 中国一级操逼视频| 成人性爱免费播放| 嗯嗯不要视频| 超碰久久.com| 天操天操夜操夜月月年年操操| 啊啊啊好舒服好爽啊啊啊视频| 久久日韩毛| 人妻少妇久久久| 97人人超| 亚洲强奸乱伦影视网| 少妇一区二区三区高速| 日本黄色精品专区网站| 亚洲图片欧美色| 天堂性色| 色约约一区=区三区| 97伊人超碰| 色欲久久99精品久久| 久久华人网| 日本天堂在线播放| 啊啊啊啊好疼视频| 免费亚洲国产精品久久一区| 日韩精品9999| 试看福利| 久操在97| 日韩精品影视| 亚洲少妇免费视频\| 国模91| 妇女乱色二区| 天天性射网| 黄色成年| 亚洲天堂男| 欧美综合91| 狠狠操狠狠操操| 亚洲人成在线放东京热| 四虎国产精品永久在线囯在线| 香蕉欧美| 久综合国内精品自在自线| 欧美成人四级在线播放| 国产精品 久久久精品一牛| 欧美激情另类一区二区| 久久精品国产亚洲AV无码做| 在线人人人人人人精品超|