日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满av-国产精品中文字幕免费观看-亚洲成人久久一区二区三区-国内少妇偷人精品视频无缓冲-一区二区国产精品日本一区二区三区在线网

ARTICLE DETAIL

資訊詳情

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

Pico串口通信實(shí)戰(zhàn):從接線(xiàn)到MicroPython調(diào)試全攻略

Pico串口通信實(shí)戰(zhàn):從接線(xiàn)到MicroPython調(diào)試全攻略 串口通信這四個(gè)字在嵌入式項(xiàng)目里幾乎天天被掛在嘴邊。Pico 作為一塊幾十塊錢(qián)的開(kāi)發(fā)板UART 資源雖然不算多但足夠應(yīng)付絕大多數(shù)傳感器、串口屏、舵機(jī)控制板和數(shù)據(jù)采集場(chǎng)景。我最早接觸 Pico 串口的時(shí)候以為只是發(fā)個(gè)字符串的事結(jié)果被電平轉(zhuǎn)換、波特率誤差、數(shù)據(jù)粘包挨個(gè)錘了一遍才把通信調(diào)穩(wěn)定。這篇文章不打算從零講晶體管電平而是把所有和 Pico 串口實(shí)戰(zhàn)相關(guān)的硬件細(xì)節(jié)、MicroPython 編程寫(xiě)法、調(diào)試工具用法直接擺出來(lái)幫你跳過(guò)我已經(jīng)走過(guò)的彎路。不管你是剛拿到板子的新手還是正在做項(xiàng)目的開(kāi)發(fā)老手這篇內(nèi)容應(yīng)該都能給你省下幾個(gè)調(diào)試的夜晚。我在寫(xiě)這篇內(nèi)容時(shí)參照了身邊好幾個(gè)真實(shí)項(xiàng)目的經(jīng)驗(yàn)也把社區(qū)里討論比較多的串口問(wèn)題整理了進(jìn)來(lái)。整體思路是先講硬件選型和接線(xiàn)再講 MicroPython 里怎么寫(xiě)代碼接著是調(diào)試工具怎么選怎么用最后是一份排查實(shí)錄。每部分盡量說(shuō)人話(huà)把“為什么這么做”也交代清楚。1. 串口通信在 Pico 項(xiàng)目里的定位1.1 為什么是串口而不是 I2C 或 SPI很多剛接觸 Pico 的朋友會(huì)問(wèn)我需要通信的時(shí)候到底選串口 UART、I2C 還是 SPI簡(jiǎn)單說(shuō)I2C 和 SPI 都是板級(jí)總線(xiàn)適合芯片與芯片之間短距離、高速率傳輸而 UART 是設(shè)備與設(shè)備之間最通用的通信方式不需要時(shí)鐘線(xiàn)兩根信號(hào)線(xiàn)就能跑大量外設(shè)模塊——GPS、指紋模塊、激光雷達(dá)、串口屏、舵機(jī)驅(qū)動(dòng)板——默認(rèn)都是 UART 接口。所以 Pico 上做項(xiàng)目往外接的第一種通信大概率就是串口。UART 通信的原理不復(fù)雜發(fā)送方把并行數(shù)據(jù)轉(zhuǎn)成串行位流按約定的波特率、數(shù)據(jù)位、校驗(yàn)位、停止位逐位發(fā)送接收方在正確的位時(shí)間上采樣把位流重新拼成字節(jié)。它沒(méi)有時(shí)鐘線(xiàn)所以收發(fā)雙方必須提前約定好“節(jié)奏”這也是為什么串口調(diào)試?yán)锊ㄌ芈室坏┏鲥e(cuò)就會(huì)完全收不到數(shù)據(jù)。1.2 適用場(chǎng)景與常見(jiàn)項(xiàng)目形態(tài)在我接觸到的實(shí)際項(xiàng)目里Pico 串口通信大概有這幾種典型形態(tài)傳感器數(shù)據(jù)采集上傳Pico 讀取溫濕度、氣壓、IMU 等數(shù)據(jù)通過(guò) UART 發(fā)給上位機(jī)顯示或存檔。設(shè)備控制上位機(jī)通過(guò)串口下發(fā)指令Pico 解析后控制舵機(jī)、電機(jī)、LED很多機(jī)器人項(xiàng)目就是這種架構(gòu)。模塊對(duì)接接串口屏、GPS、藍(lán)牙模塊、4G 模組這類(lèi)模塊本身只暴露 UART 接口。調(diào)試信息輸出把 Pico 運(yùn)行狀態(tài)打印到串口終端方便實(shí)時(shí)觀(guān)察變量和程序執(zhí)行流程。這些場(chǎng)景和我早期做 51 單片機(jī)串口通信、STM32 串口通信實(shí)驗(yàn)時(shí)用的思路是相通的但 Pico 的 MicroPython 環(huán)境讓原型開(kāi)發(fā)速度快不少不用管寄存器配置一行UART(0, baudrate115200)就把外設(shè)打開(kāi)了。對(duì)于需要快速驗(yàn)證方案的項(xiàng)目這種開(kāi)發(fā)效率優(yōu)勢(shì)非常明顯。2. Pico 的 UART 硬件特性與接線(xiàn)2.1 UART0、UART1 外設(shè)資源與引腳映射RP2040 芯片內(nèi)部只有兩個(gè) UART 外設(shè)UART0 和 UART1。每個(gè) UART 在物理上可以映射到多組引腳MicroPython 對(duì) Pico 官方保留了默認(rèn)映射UART0TX GP0RX GP1默認(rèn)UART1TX GP4RX GP5默認(rèn)這里要注意一點(diǎn)默認(rèn)映射只是 MicroPython 的約定你完全可以通過(guò)txPin(x), rxPin(y)指定其他引腳。但 UART0 和 UART1 在 RP2040 上掛了不同的引腳組具體哪些引腳能映射到哪個(gè) UART建議查官方 datasheet 的 GPIO 功能表。我在實(shí)際項(xiàng)目里習(xí)慣固定使用默認(rèn)引腳方便查閱和復(fù)用除非用到的別的引腳被其他外設(shè)占用才會(huì)重新映射。每個(gè) UART 還支持硬件流控 RTS/CTS在 Pico 上默認(rèn)沒(méi)暴露如果接的是帶流控的模塊比如某些藍(lán)牙模組需要確認(rèn)固件和引腳是否支持。大多數(shù)場(chǎng)景用不到流控把 TX、RX、GND 三根線(xiàn)接好就能跑。2.2 電氣特性3.3V 電平與魔改 5V 串口的風(fēng)險(xiǎn)這是 Pico 串口通信最容易出問(wèn)題的地方。Pico 的 GPIO 是 3.3V 電平忍耐輸入極限大約是 3.6V 左右。很多傳統(tǒng)串口設(shè)備是 5V TTL 電平比如老一點(diǎn)的 GPS 模塊、51 單片機(jī)擴(kuò)展板、某些 STM32 開(kāi)發(fā)板上的 5V 串口。如果你直接拿 5V 設(shè)備的 TX 接到 Pico 的 RX長(zhǎng)期使用有燒壞引腳的風(fēng)險(xiǎn)。我見(jiàn)過(guò)不少人圖省事直接接上去“能用”然后某天引腳就廢了。正確的做法是加電平轉(zhuǎn)換芯片比如 TXS0108E、BSS138 雙 MOS 方案或者用電阻分壓把 5V 降到 3.3V 再接 Pico。反過(guò)來(lái)Pico 的 TX 接 5V 設(shè)備的 RX 一般問(wèn)題不大因?yàn)楹芏?5V 設(shè)備把高電平閾值設(shè)在 2.0V 以上3.3V 也能識(shí)別但最好也做轉(zhuǎn)換保證電平標(biāo)準(zhǔn)一致。如果接的是 RS232 電平的 DB9 串口那就更危險(xiǎn)了。RS232 的空閑態(tài)是負(fù)電壓正負(fù)擺幅能達(dá)到 ±12V 左右直接接 Pico 基本必?zé)?。這時(shí)候必須用 MAX3232 這一類(lèi)的 RS232 轉(zhuǎn) TTL 芯片做轉(zhuǎn)換。我常跟身邊的人說(shuō)接串口先看對(duì)方是 TTL 還是 RS232 電平再看邏輯電平是 3.3V 還是 5V這兩個(gè)判斷能避開(kāi) 90% 的接線(xiàn)問(wèn)題。2.3 多串口擴(kuò)展與 USB 轉(zhuǎn)串口接線(xiàn)參考Pico 原生只有兩個(gè) UART如果項(xiàng)目里需要更多串口有幾條路可以走用 PIO 實(shí)現(xiàn)軟件串口。RP2040 的 PIO 非常靈活社區(qū)有人實(shí)現(xiàn)了 PIO UART可以擴(kuò)展出多個(gè)串口但 CPU 占用和穩(wěn)定性需要測(cè)試。用 I2C 轉(zhuǎn) UART 芯片比如 SC16IS752把額外串口掛到 I2C 總線(xiàn)上代碼里通過(guò)驅(qū)動(dòng)讀寫(xiě)。某些社區(qū)固件開(kāi)始支持 USB Host接上 USB 轉(zhuǎn)串口適配器就能多出串口。這個(gè)方案依賴(lài)固件成熟度穩(wěn)定性需要自己驗(yàn)證。在做 Pico 和電腦通信時(shí)常用 USB 轉(zhuǎn) TTL 模塊CH340、CP2102、FT232 等把 Pico 的 UART 接到電腦 USB 口。接線(xiàn)就三根線(xiàn)Pico 的 TX 接模塊的 RXPico 的 RX 接模塊的 TX兩邊 GND 共地。注意共地這件事特別重要不共地的話(huà)信號(hào)電平?jīng)]有參考點(diǎn)經(jīng)常出現(xiàn)時(shí)通時(shí)不通的問(wèn)題。3. MicroPython 串口編程實(shí)操3.1 固件準(zhǔn)備與開(kāi)發(fā)環(huán)境要在 Pico 上跑 MicroPython先得把固件刷進(jìn)去。去官方下載最新的 .uf2 固件按住 Pico 板子上的 BOOTSEL 鍵插入 USB會(huì)彈出一個(gè)名為 RPI-RP2 的 U 盤(pán)把 .uf2 文件拖進(jìn)去就自動(dòng)刷好了。之后用 Thonny 作為 IDE 比較省心它對(duì) Pico 的支持很完善可以直接在編輯區(qū)寫(xiě)代碼點(diǎn)運(yùn)行就能在板子上執(zhí)行還能在下方 Shell 里看 print 輸出。當(dāng)然如果你不喜歡 Thonny也可以用 VS Code 加 MicroPico 插件或者在命令行直接用 mpremote 連接設(shè)備執(zhí)行腳本。我個(gè)人調(diào)試串口時(shí)用 Thonny 比較多因?yàn)樗鼉?nèi)置的文件管理方便修改main.py后按 CtrlD 軟復(fù)位就能生效。3.2 UART 對(duì)象初始化參數(shù)到底怎么選MicroPython 里初始化 UART 的代碼很簡(jiǎn)單from machine import UART, Pin # UART0TXGP0, RXGP1默認(rèn)引腳 uart0 UART(0, baudrate115200, txPin(0), rxPin(1), bits8, parityNone, stop1)這幾個(gè)參數(shù)中baudrate 是最需要對(duì)齊的兩側(cè)必須一致。bits 一般選 8parity 為 Nonestop 為 1這也是絕大多數(shù)串口設(shè)備的默認(rèn)配置。如果連接的是老設(shè)備或者特殊模塊需要看對(duì)方手冊(cè)確認(rèn)是否用了 7 位數(shù)據(jù)位、偶校驗(yàn)或者 2 位停止位。如果兩側(cè)參數(shù)不一樣能收到數(shù)據(jù)但解出來(lái)的字節(jié)是錯(cuò)的。有一點(diǎn)要提醒UART(0, ...)這種寫(xiě)法在創(chuàng)建時(shí)就會(huì)初始化外設(shè)所以不需要再調(diào)用init()。如果你后面想改參數(shù)可以調(diào)用uart0.init(baudrate9600)重新配置外設(shè)不用重新創(chuàng)建。3.3 基本收發(fā)write/read/readline 的正確用法MicroPython 的 UART 對(duì)象主要有這幾個(gè)方法write(data)發(fā)送數(shù)據(jù)data可以是 bytes 或 str。read(n)讀取最多 n 個(gè)字節(jié)不加參數(shù)則讀取全部可讀數(shù)據(jù)。readline()讀取一行以換行符結(jié)束。any()返回接收緩沖區(qū)中的字節(jié)數(shù)可用來(lái)判斷是否有數(shù)據(jù)。一個(gè)輪詢(xún)收發(fā)的例子from machine import UART, Pin import time uart UART(0, baudrate115200, txPin(0), rxPin(1)) while True: if uart.any(): data uart.read() print(recv:, data) uart.write(becho: ) uart.write(data) time.sleep_ms(10)這里我習(xí)慣把a(bǔ)ny()放在主循環(huán)里輪詢(xún)最簡(jiǎn)單的場(chǎng)景夠用。但要注意read()讀取的內(nèi)容可能不是完整的一幀數(shù)據(jù)如果上位機(jī)一次發(fā)來(lái)多個(gè)字節(jié)可能被拆成兩次讀出所以最好按協(xié)議幀來(lái)解析而不是直接判斷“讀到了就是一條完整指令”。這個(gè)后面會(huì)展開(kāi)講。3.4 按行解析協(xié)議以串口控制舵機(jī)為例用 Pico 控制舵機(jī)是很常見(jiàn)的入門(mén)項(xiàng)目很多朋友做機(jī)械臂、云臺(tái)都會(huì)用到。串口控制舵機(jī)的思路是上位機(jī)通過(guò) UART 發(fā)來(lái)類(lèi)似#90\n的指令Pico 解析出角度值再通過(guò) PWM 輸出控制舵機(jī)轉(zhuǎn)到對(duì)應(yīng)角度。舵機(jī) PWM 信號(hào)周期一般用 20ms50Hz高電平脈沖寬度 0.5ms~2.5ms 對(duì)應(yīng) 0°~180°。Pico 的 PWM 模塊是 16 位的要算占空比。from machine import UART, Pin, PWM import time uart UART(0, baudrate115200, txPin(0), rxPin(1)) servo PWM(Pin(15)) servo.freq(50) def angle_to_duty(angle): # 0.5ms / 20ms 2.5% - 65535 * 0.025 1638 # 2.5ms / 20ms 12.5% - 65535 * 0.125 8192 return int(1638 (angle / 180.0) * (8192 - 1638)) while True: if uart.any(): line uart.readline() if line: line line.strip() print(cmd:, line) if line[:1] b#: try: angle int(line[1:]) angle max(0, min(180, angle)) servo.duty_u16(angle_to_duty(angle)) uart.write(OK angle%d\n % angle) except ValueError: uart.write(ERR bad number\n) else: uart.write(ERR unknown cmd\n) time.sleep_ms(10)這里有兩點(diǎn)經(jīng)驗(yàn)第一解析協(xié)議時(shí)一定要做異常處理。串口本質(zhì)上是不可靠信道什么亂七八糟的字節(jié)都可能收到如果int()轉(zhuǎn)換失敗沒(méi)有處理程序很容易崩在解析處。第二用readline()按行解析時(shí)協(xié)議里的換行符必須和發(fā)送方保持一致。如果上位機(jī)發(fā)的是\r\nPico 這邊可以先用line.replace(b\r, b)清理一下再做解析否則b90\r轉(zhuǎn) int 會(huì)報(bào)錯(cuò)。3.5 使用 IRQ 和 FIFO 處理不定長(zhǎng)數(shù)據(jù)在實(shí)時(shí)性要求高的項(xiàng)目里主循環(huán)輪詢(xún)any()可能不夠及時(shí)。Pico 的 MicroPython 固件支持 UART 的 IRQ 中斷可以用uart.irq(triggerUART.RX_ANY, handleron_rx)注冊(cè)回調(diào)函數(shù)數(shù)據(jù)到達(dá)時(shí)自動(dòng)觸發(fā)。from machine import UART, Pin import time uart UART(0, baudrate115200, txPin(0), rxPin(1)) rx_buf bytearray() def on_uart_rx(u): while u.any(): rx_buf.append(u.read(1)[0]) uart.irq(triggerUART.RX_ANY, handleron_uart_rx)使用中斷時(shí)要注意回調(diào)函數(shù)里不要做耗時(shí)操作比如打印、大量字符串拼接、網(wǎng)絡(luò)請(qǐng)求這些都應(yīng)該放到主循環(huán)處理。中斷里只負(fù)責(zé)把數(shù)據(jù)快速搬進(jìn)緩沖區(qū)然后在主循環(huán)里檢查緩沖區(qū)解析完整幀。如果數(shù)據(jù)量很大比如每秒幾千字節(jié)bytearray 的append效率也夠用但要注意緩沖區(qū)長(zhǎng)度。MicroPython 在 Pico 上給 UART 分配了 FIFO 和緩沖區(qū)空間處理不過(guò)來(lái)時(shí)數(shù)據(jù)會(huì)丟所以協(xié)議設(shè)計(jì)上最好有幀頭、幀長(zhǎng)、校驗(yàn)和解析失敗就丟棄重新同步。3.6 與宿主機(jī)聯(lián)動(dòng)Windows 下用串口連接 VMware 中的 Linux這個(gè)需求在調(diào)試場(chǎng)景里很常見(jiàn)。比如你的上位機(jī)跑在 Windows但編譯和測(cè)試程序在 Linux 虛擬機(jī)里想讓虛擬機(jī)里的 Python 直接訪(fǎng)問(wèn) Pico 串口。在 VMware 里可以給虛擬機(jī)添加一個(gè)串行端口選擇“使用命名管道”例如\\.\pipe\com_1然后在 Windows 宿主機(jī)上用一些工具把物理 COM 口轉(zhuǎn)發(fā)到這條命名管道這樣虛擬機(jī)里的 Linux 看到的/dev/ttyS0就對(duì)應(yīng)著 Pico。也可以在宿主機(jī)上用 Python 的 pyserial 寫(xiě)個(gè)十幾行的轉(zhuǎn)發(fā)腳本把串口字節(jié)流原樣搬到管道另一端。這種方式比每次都在 VMware 里單獨(dú)映射 USB 設(shè)備要靈活尤其當(dāng) Pico 不是 USB 直接連接而是通過(guò) USB 轉(zhuǎn) TTL 模塊接入時(shí)。如果不想用虛擬機(jī)直接在 Windows 上用 pyserial 讀取 Pico 串口數(shù)據(jù)也很方便。安裝好 pyserial 后一行代碼就能列出可用串口import serial.tools.list_ports for p in serial.tools.list_ports.comports(): print(p.device, p.description)Windows 下 Pico 的 USB 轉(zhuǎn)串口設(shè)備通常顯示為 COM3、COM5 之類(lèi)的編號(hào)具體是哪個(gè)可以用這個(gè)列表確認(rèn)。4. 調(diào)試工具選型與實(shí)戰(zhàn)技巧4.1 串口調(diào)試助手怎么選串口調(diào)試助手的工具很多我用過(guò)的場(chǎng)景里比較順手的有PuTTY老牌終端支持串口連接界面樸素但穩(wěn)定適合純文本收發(fā)。sscom經(jīng)典的串口調(diào)試助手界面友好支持定時(shí)發(fā)送、十六進(jìn)制顯示、文件發(fā)送。VOFA帶波形顯示看傳感器的連續(xù)數(shù)據(jù)流非常方便可以自定義協(xié)議。minicom/picocomLinux 終端下的串口工具適合在虛擬機(jī)或樹(shù)莓派上直接調(diào)試。選工具的標(biāo)準(zhǔn)在我看來(lái)有兩個(gè)一是能不能方便地切換十六進(jìn)制/ASCII 顯示二是能不能定時(shí)發(fā)送和保存日志。這兩點(diǎn)決定了你在解析復(fù)雜協(xié)議時(shí)能不能快速定位問(wèn)題。這里還要提一下 Unity 串口通信的場(chǎng)景。如果你用 Unity 做上位機(jī)讀取 Pico 數(shù)據(jù)不要在 Unity 的主線(xiàn)程里直接讀寫(xiě) SerialPort 的ReadLine()或者長(zhǎng)時(shí)間阻塞等待否則 Unity 的渲染線(xiàn)程會(huì)被卡住嚴(yán)重時(shí)會(huì)出現(xiàn)類(lèi)似渲染管線(xiàn)異常之類(lèi)的報(bào)錯(cuò)。正確做法是開(kāi)一個(gè)后臺(tái)線(xiàn)程讀串口把數(shù)據(jù)放入隊(duì)列或共享變量主線(xiàn)程在Update()里取數(shù)據(jù)這樣畫(huà)面才不卡串口讀寫(xiě)也更穩(wěn)定。4.2 邏輯分析儀是排查串口問(wèn)題的神器很多時(shí)候軟件看起來(lái)沒(méi)問(wèn)題但就是收不到數(shù)據(jù)。這時(shí)候我最推薦的調(diào)試工具是邏輯分析儀。我手里一直放著 Saleae 邏輯分析儀的 16 通道版本平時(shí)接上 TX、RX、GND 三根線(xiàn)在軟件里選擇 UART 解碼協(xié)議設(shè)置好波特率就能看到波形和解析出來(lái)的數(shù)據(jù)幀。邏輯分析儀能幫你確定三件事發(fā)送端到底有沒(méi)有在發(fā)數(shù)據(jù)波形上有沒(méi)有脈沖。數(shù)據(jù)的內(nèi)容是什么和發(fā)送的字節(jié)是否一致。實(shí)際波特率和設(shè)置的波特率有沒(méi)有偏差。解碼時(shí)要注意采樣率至少要高于波特率的 4 倍否則采樣點(diǎn)不夠容易解碼出錯(cuò)。我通常用 10M 采樣率去測(cè) 115200 的串口非常充裕。如果買(mǎi)的是其他品牌只要軟件支持 UART 協(xié)議解碼用法都差不多。4.3 虛擬串口與自動(dòng)化測(cè)試在調(diào)試上位機(jī)程序時(shí)把真實(shí)硬件和軟件耦合在一起有時(shí)候很痛苦。比如想測(cè)試協(xié)議解析邏輯但硬件還沒(méi)到位。這時(shí)可以用虛擬串口工具比如 com0com 在 Windows 上創(chuàng)建一對(duì)虛擬 COM 口把 COM5 和 COM6 連在一起一個(gè)程序往 COM5 寫(xiě)數(shù)據(jù)另一個(gè)程序就能從 COM6 讀到相同的數(shù)據(jù)。由此可以搭一套自動(dòng)化測(cè)試環(huán)境用 Python 腳本模擬設(shè)備端向虛擬串口發(fā)送預(yù)定好的測(cè)試幀同時(shí)校驗(yàn)上位機(jī)返回的應(yīng)答。跑回歸測(cè)試時(shí)不用真實(shí)硬件效率高很多。等到真實(shí)硬件到位后把串口名換掉就能跑同樣的測(cè)試用例。如果是在 Linux 下虛擬串口可以用socat -d -d pty,raw,echo0 pty,raw,echo0創(chuàng)建一對(duì)偽終端用法類(lèi)似。4.4 用 Modbus/Python 腳本擴(kuò)展調(diào)試能力串口調(diào)試不只限于收發(fā)數(shù)據(jù)。很多工業(yè)傳感器、電表、道閘控制器用的是 Modbus RTU 協(xié)議這時(shí)候用串口調(diào)試助手直接發(fā) Modbus 幀也能調(diào)但效率很低。我一般會(huì)用 Python 的minimalmodbus或pymodbus庫(kù)直接按寄存器地址讀寫(xiě)調(diào)試起來(lái)清晰很多。其實(shí)不只是 Modbus任何自定義協(xié)議都可以用 Python 腳本做上位機(jī)模擬。比如先用 pyserial 寫(xiě)好數(shù)據(jù)幀封裝、CRC 校驗(yàn)、發(fā)送重試邏輯再配合日志功能就能快速驗(yàn)證 Pico 端協(xié)議解析的邊界條件。這種腳本后期還能直接轉(zhuǎn)成正式的上位機(jī)程序雛形省不少開(kāi)發(fā)時(shí)間。5. 常見(jiàn)問(wèn)題與排查實(shí)錄5.1 波特率9600 能通、4800 不通是怎么回事有朋友遇到過(guò)串口波特率設(shè)置為 9600 能正常通信但改成 4800 就完全沒(méi)有數(shù)據(jù)的情況。這個(gè)現(xiàn)象往往不是“波特率越低越容易通”這個(gè)直覺(jué)能解釋的根源在于兩側(cè)的實(shí)際波特率誤差。UART 是異步通信接收端通過(guò)起始位同步后在每一個(gè)位時(shí)間的中心點(diǎn)采樣。如果實(shí)際波特率和設(shè)置值之間存在偏差累積到幀末的停止位時(shí)偏差會(huì)越來(lái)越大。絕大多數(shù) UART 外設(shè)能容忍大約 ±2%~3% 的波特率誤差。如果 A 設(shè)備實(shí)際波特率是 9615B 設(shè)備按 9600 收誤差只有 0.15%沒(méi)問(wèn)題但如果把 B 設(shè)備設(shè)成 4800A 設(shè)備仍按 9600 發(fā)位采樣點(diǎn)完全錯(cuò)位自然收不到。另一種常見(jiàn)情況是兩塊板子都聲稱(chēng)是 4800但其中一塊用了精度不高的時(shí)鐘源或者代碼里波特率計(jì)算有誤導(dǎo)致實(shí)際差距超過(guò)容差。Pico 的時(shí)鐘來(lái)自 USB PLL精度很高不大會(huì)出現(xiàn)這種問(wèn)題但如果你接的模塊內(nèi)部是 RC 振蕩器就有可能出現(xiàn)“9600 能通、4800 不能通”的反直覺(jué)現(xiàn)象。解決辦法是用邏輯分析儀實(shí)測(cè)一下發(fā)送端波形的實(shí)際波特率或者降低通信速率到一個(gè)雙方都真正支持且誤差足夠小的值。5.2 亂碼、丟字節(jié)與緩沖區(qū)溢出亂碼最常見(jiàn)的原因就是收發(fā)雙方波特率或數(shù)據(jù)格式不一致。先確認(rèn)兩側(cè)的波特率、數(shù)據(jù)位、停止位、校驗(yàn)位完全一致。其次檢查共地GND 不連時(shí)信號(hào)電平?jīng)]有參考點(diǎn)容易出現(xiàn)隨機(jī)亂碼和間歇性丟字節(jié)。丟字節(jié)則多半和接收端處理速度有關(guān)。如果上位機(jī) 600ms 才讀一次串口而 Pico 以高速率持續(xù)發(fā)送緩沖區(qū)一旦溢出新的數(shù)據(jù)就會(huì)覆蓋舊數(shù)據(jù)。MicroPython 的 UART 內(nèi)部有緩沖區(qū)在 Pico 上一般有 256 字節(jié)左右如果你用read()一次性讀完還好但若沒(méi)有及時(shí)讀取FIFO 滿(mǎn)了之后數(shù)據(jù)就丟了。我習(xí)慣的做法是協(xié)議幀盡量短或者發(fā)送端加適當(dāng)延時(shí)接收端用中斷或高頻輪詢(xún)盡快把數(shù)據(jù)搬到自己的解析緩沖區(qū)同時(shí)給每幀數(shù)據(jù)加上校驗(yàn)和或 CRC解析失敗就丟棄重發(fā)。工業(yè)上常用的做法是幀頭加長(zhǎng)度加數(shù)據(jù)加 CRC32雖然看起來(lái)有些冗余但在真實(shí)環(huán)境中非常有價(jià)值。5.3 收不到數(shù)據(jù)從硬件到軟件逐步排查收不到數(shù)據(jù)時(shí)別急著改代碼按下面這個(gè)順序排查最快用邏輯分析儀看 Pico 的 TX 引腳到底有沒(méi)有波形。如果沒(méi)有說(shuō)明代碼沒(méi)發(fā)出去或者引腳接錯(cuò)。檢查接線(xiàn)是否交叉。Pico 的 TX 要接對(duì)方設(shè)備的 RXPico 的 RX 要接對(duì)方設(shè)備的 TX。很多人把 TX-TX 直連自然收不到。確認(rèn)共地。GND 不接或者接觸不良信號(hào)電平?jīng)]有參考收不到是常見(jiàn)現(xiàn)象。用電腦的 USB 轉(zhuǎn) TTL 模塊直接測(cè) Pico排除對(duì)方設(shè)備的問(wèn)題。檢查代碼里 UART 的引腳參數(shù)是不是寫(xiě)錯(cuò)了比如把rxPin(1)寫(xiě)成了rxPin(0)和 TX 針腳沖突。用串口調(diào)試助手發(fā)數(shù)據(jù)給 Pico 時(shí)確認(rèn)助手打開(kāi)的端口沒(méi)錯(cuò)且 Pico 端程序確實(shí)在跑any()輪詢(xún)。這套排查順序我基本每次都能定位到問(wèn)題而且大概率是接線(xiàn)或者引腳配置錯(cuò)誤真正是芯片壞掉的情況極少。5.4 電平適配問(wèn)題與設(shè)備燒毀防范再?gòu)?qiáng)調(diào)一次電平問(wèn)題因?yàn)闊龎囊_是“不可逆”的。Pico 的 3.3V 引腳耐壓有限接 5V TTL 設(shè)備時(shí)必須做電平轉(zhuǎn)換。我用得最多的是 BSS138 雙 MOS 電平轉(zhuǎn)換模塊幾塊錢(qián)一個(gè)支持雙向傳輸I2C 和 UART 都能用。如果只是單向傳輸用電阻分壓也可以但分壓值要算好確保高電平不低于接收端的高電平閾值。RS232 設(shè)備則必須走 MAX3232 之類(lèi)的芯片。很多人把電腦背后的 9 針 DB9 串口當(dāng)成普通 TTL 串口用結(jié)果一接上 Pico 就燒了。DB9 使用的 RS232 電平是負(fù)邏輯完全不能直接對(duì)接 3.3V TTL。另外熱插拔也要小心。串口線(xiàn)最好在斷電狀態(tài)下接線(xiàn)尤其是和外部電源模塊相連時(shí)。我見(jiàn)過(guò)不少設(shè)備損壞案例是在設(shè)備帶電時(shí)插拔串口線(xiàn)瞬間的電壓尖峰把引腳打壞了。穩(wěn)妥的做法是先接 GND再接 TX、RX最后才上電。串口通信看起來(lái)只是兩根線(xiàn)的事但真正調(diào)穩(wěn)了你才會(huì)明白背后是波特率、電平標(biāo)準(zhǔn)、緩沖管理和協(xié)議設(shè)計(jì)的一整套配合。我在 Pico 上做串口項(xiàng)目的過(guò)程中最大的體會(huì)就是不要低估接口本身的坑寧可多花十分鐘接好電平轉(zhuǎn)換和共地也不要圖省事直接懟上去。最后再分享一個(gè)小技巧養(yǎng)成保存串口日志的習(xí)慣。無(wú)論是用串口助手的日志功能還是在 Python 腳本里把收發(fā)數(shù)據(jù)記錄到文件調(diào)試復(fù)雜協(xié)議時(shí)這些日志就是最寶貴的線(xiàn)索。很多看起來(lái)隨機(jī)出現(xiàn)的問(wèn)題翻日志時(shí)往往能發(fā)現(xiàn)固定的規(guī)律。這篇文章里寫(xiě)到的每個(gè)坑幾乎都是從日志里一點(diǎn)點(diǎn)扒出來(lái)的。希望這些經(jīng)驗(yàn)?zāi)軒湍闵僮邚澛吩琰c(diǎn)把串口通信跑通跑穩(wěn)。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
中国AAAAAA黄色片| 亚洲女人91| 午夜性| 激情五月天丁香社区| 精品91摸| 女性喷水高潮在线观看| 亚洲AV无码天美传媒一区| 97国产精选| 欧美78P| 久热免费视频| 亚洲丝袜二区在线| 久久精品国产97欧美精品亚洲| 久久香蕉国产线看观看亚洲女人 | 亚洲性综合| 日韩内射视频| 欧美日韩不卡a片| 国产剧情AV不卡在线观看| 国产区日韩区在线观看| 夜夜爽爽爽| 操人妻逼91| 中文字幕 码 自拍 视频 区| 一个人在线看的黄色电影网站| 高清肉丝中文无码| 熟女六十路| 天天综合亚洲综合| 5252色欧美在线男人的天堂| 久热99999| 夜夜操二区| 变态综合色| 天堂蜜桃无码视频一区二区| 91精品大奶人妻| 99精品网| 亚欧成人综合影院| 天天爽天天爽| 久久国产精品91| 在线播放成人高清免费视频| 女人久久久| 桃色人妻在线视频| 久久亚洲欧美中文字幕国语| 51一区二区三区| 91蜜臀熟女| 人人 操人人 操人人| 国产精品久久久久久亚洲色欲| 中文字幕亚洲永久精品| 久久精品一区二区| 一本久道久久综合狠狠爱一密臀精| 自怕偷自怕亚洲精品| 久九9精品| 秋霞视频一区二区| 熟女熟妇伦久久影院毛片一区二区| 久操视频在线观看| 人妻无码视频一区二区三区久久| 干婷婷综合网| 欧美精品久久久久久久丰满| 91国精产品| 丁香五月天视频| 99久久综合| 高清国产无码av| 亚洲精品美女操逼| 婷婷久久五月| 精品日韩人妻视频| 国产天天噜一噜久久久| 久久久久久久78| 国产精品自在线发布| 国产熟女无套内射| 欧美第一页| 成人日韩欧美| 午夜福利一区二区影院| 色官网在线| 黄色欧美性爱视频| 乳欲人妻办公室奶水| 九九九九九九九| 嫩草美女久久| 操屄日韩| 麻豆熟妇乱妇熟色A片在线看| 97露脸精品丝袜| 亚洲天堂久久| 欧美强奸一区二区诱惑| 成全动漫视频观看免费下载| 日天天九九天堂666| 偷拍亚洲高清图片| 97硬碰| 日本三级韩三级99久久| 在线观看高清AV| 国产美女精品| 成年男人的天堂| 久久久久成人亚洲国产| 国产一级内射无挡观看| av一区二区三区不卡| 精品夜夜澡人妻无码AV| 国产sv美女内射| 久久久久久9999| 国产精品91一样| 一块操欧美| 青娱乐国产精品| 正在播放国产精品一区| 在线午夜成人无码视频| 久久女人| 国产精品禁久久久精品| 嫩草 人人网精品| 超碰97日韩| 中文一区二区| 麻豆区久久久久亚| 亚洲全色网| 四虎免费在线播放| 91免费看中出视频| 超碰97人妻| 香蕉精品二区二区| 91n处女在线观看| 天天看高清麻豆| www久| 偷拍视频青青草在线视频| 天天综合网91| 97精品国产97久久久久久免费| 97青娱乐超碰久久| 欧美性爱系列| 国产兽交视频在线播放| 色情综合| 冬京热男人的天堂| 人妻人人做人人澡人人爽欧美一区| 日本不卡三级网在线播放| www.av在线观看| 一区不卡在线观看av| 日本操逼视频不卡直接放| 国产九九九九九九九九| 国产精品无码论坛| 亚洲高清在线| 女优视频第10页| 免费av在线播放二区| 91白嫩| 九九内射在线| 综合激情97 | 操老熟女AV| 男人天堂网手机版婷婷| 亚洲蜜臀视频精品久久| 精品二999| 久久久穴999| 国产青青美女玩逼视频| 五月天AV资源| 蜜臀99久久精品久久久懂爱| 色色色色网站| 日韩AV一区二区三区三州三州| 超碰99在线观看| 在线观看十八禁| 每日更新AV| 色欲天天综合网| 97超碰国产精品| 97亚洲性爱| 国产久久一区二区| 久久久久久人| 亚洲 小说 欧美 激情 另类| 国产专区第一页| 国产精品久久久久久久久AV大片| 国产精品香蕉热久久新品| 久久九色| 天天综合网~91入口| 日本性一区| 午夜精品久久一区二区| 国产传媒操逼视频| 一区二区久久天天干狠狠| 中文字幕加勒比海高清无码免费视频| 亚洲情色 自拍| 亚洲色人| 色色色综合网| 91日日夜夜| 97精品免费| 在线看的av| 日韩国产中文字幕| 亚洲日本男人天堂网| 日本国产二线女色| 激情五月综合开心五月| 久久秀这里有精品| 91痴汉| 天天躁日日躁AAAAXXXX国产 | 中文一区二区| 一级一性爱免费视频| 日本视频在线观看污污污| 亚洲人妻一区二区三区| 夜夜国自区| A片大香蕉在线| 国产欧美一区激情交| 激情图片伦理国产一区二区日韩| 亚洲一区二区AV| 手机在线播放国产福利| 热久久国产精品视频大陆精品| 亚洲九九视频| 欧美v亚洲v日韩v最新在线二区 | 色九月| 中文字幕第23区| av影片在线观看不卡| 美女黄频a美女大全免费皮| 夜夜操91744565| 超碰97人妻自拍| 亚洲中文字幕噜噜噜久久久| 日韩簧片免费看| 国内毛片欧美香蕉精品| 久草国产在线视频| 一区二区三区四区久久视1| 久久精品—区二区三区内射| 91美女在线精品视频| 九月丁香婷婷色| 精品久久久久久中文字幕三区| 欧美淫穴| 永久电影三级在线观看| 熟妇熟女亚洲天堂网| 台湾佬大香蕉| 色999五月色| 青青草密桃在线播放| 久久AV无码AV| 五月婷婷爱六月丁香色| 超碰这里有精品| 国产成人自拍视频视频| 欧美后入式| 韩国三级理论在线| 91精品丝袜久久久久久| 九九aV| 超碰吊日色| 久久老子无码午夜伦不卡| 青青草原成人| 色色婷婷五月天| 成人性生活高清视频在线播放| 探花激情视频| 久久国产乱子伦精品免费女,网站| 亚洲欧美国产va在线播放频| 夜夜高潮夜夜爽夜夜爱爱一区| 免费簧片在线观看| 96精品久久| 亚洲情色1区| 九月丁香婷婷色| 99国产精品免费| 国产白嫩漂亮KTV在线| 亚洲综合图片在线| 夂久色| 玖玖爱在线视频免费观看| 精品十三区| 国产成人91一区二区三区| 99热这里只有是精品10| 国产一区二区视频在线播放| 欧美色乱| 偷拍超碰| 日本岛国黄色网址| 国产av又色又爽又黄| 日本欧美m v精品网站加| 欧美日本中字另类在线| 91美女小视频| AV高清一区| 粉嫩av在线一区二区| 天堂无码精品国产久| 懂色av色欲av蜜臀av| 婷婷激情五月天小说网| www.AV有限公司一区| 久草视频在线视频在线视频在线观看| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 日本人妻伦在线中文字幕| 天天热精品| 97在线免费看视频| 探花视频免费观看国产专区| 91九九| 91老熟女| 久久无码电影| 天堂伊人久久| 操B视频日韩无码| 欧美97免费| 最新AVzaixian| 国产激情av女片自拍| 九九久久国产精品怡红院| 嗯嗯啊啊操死我| 欧美日韩性爱操大逼| 精品国产Av无码久久久亚洲| 亚洲蜜臀精品视频久久| oumeizonghese,www| 久操大香蕉手机视频在线看| 成人免费在线网站| 久久久一区二区三区三州| 久草电影网| 亚洲天堂自拍| 蜜桃久久久久久久| 亚洲天堂色图| 免费精品福利在线观看| 亚洲欧综合另类无码一区| 色牛aV| 九九九九精品视频| 密臀在线视频| 午夜亚洲| 激情四射熟女丝袜| 蘋果手機免費看成人Av| 天堂资源欧美| 97AV爱| 最近的最新的中文字幕视频| 3d成人精品一区二区| 强奸抽插av| 男人的天堂va在线| 99在线精品视频| 91处女在线视频| 蜜色网色哟哟| 亚洲二区精品在线观看| 久久九九视频九九视频| 国产av强奸美女| 97色伦97色伦国产欧美| 天天澡天天狠天天天做| 在线不欧美| 亚洲欧美碰碰| 蜜臀99久| 国产自制av蜜乳| 少妇久久久久| 国产精品999aaa| 日韩精品人妻中文字幕不卡乱码| 啊啊啊久久久视频| 懂色AV网| 青青草毛片| 亚州性9| 一本久道久久综合狠狠爱一密臀精| 中文字幕国产| 欧美色图91| 97在线视频观看| 97精品一区二区视频| 2017亚洲天堂| 91在线丝袜| 91处女在线视频| 亚洲少妇自拍中文字幕懂色| 欧美偷| 情色五月天就去干| 欧美性爱一区二区三区| 国产乱子伦一区二区三区在线观看| 五月天婷婷社区| 99无码狠狠久久| 中文字幕精品免费一区二区| 人妻乱仑一区二区三区| 五月婷网站| 欧美久热| 色婷婷婷五月天激情四射| 97日视频| 亚春色色| 2025年A片视频精品| 日韩亚洲中文字幕在线| 丁香五月影院| 91N欧美| 天天综合网在线| 美女干逼2| 97射欧美| 97国产|免费| 亚洲中文字幕在现观看| 毛片电影一区二区三区| 日本美女性生活久久久久久久| 自拍亚洲综合| 综合亚洲网| 不卡中文字幕aⅴ在线| 人人操人人操人人操人人操人人操人人人11.CM | 97视频www| A片 AV一级在线播放观看免费 | 亚洲高清少妇| 综合久久少妇中文字幕| 亚洲最大AV网| 在线观看A啊啊啊| 久久精品日韩专区免费观看| 国产v亚洲v日韩v欧美v片另类| 国产女乱淫真高清免费视频| 久草综合京东| 一二三区精品视频| 日本一级婬片试看三分钟| 极品色社| 日韩有码回春沙龙第一页| 日韩欧美大片免费高清啪啪| 五月丁香综合| 色偷偷综合91久久噜噜| www.av在线视频| 婷婷成人五月天| 精产国品一区二三产品| 色综合一本| 亚洲午夜AV| 亚州色图狠狠干| 嗯嗯不要视频| 国产免费永久精品无码| 五月天久久婷婷亚洲| 婷婷激情四射| 国产一区二区三区久久久精品| 97人人操人人干| 爱爱久久| 搡老女人老91二区| 日韩亚洲Av人人夜夜澡人人爽| 欧美 亚洲 制服 精品| 舔人妻中文免费视频| 日本高清视频xxxx| 好吊色一区| 丰满少妇一区二区三区免费看| 男人的天堂一区三区| 欧美色图中文字幕| 亚洲婷婷丁香在线| 大香蕉天天看妹子| 亚洲色天| 97香蕉人人乳| 精品免费囯产一区二区三区| 国产日比| 亚洲图片小说欧洲| 欧美激情五月天| 亚欧洲一区二区视频| 婷婷在线视频在线观看| 国产精品色哟哟| 水多多映视AV| 欧美色图偷拍另类| 成人无码在线视频网站| 久久亚洲不卡一区二区三区| 日韩激情无码影院| 亚洲天堂自拍| 久久精品日韩| 色偷偷人人玩人人舔人人操人人摸人人爽 | 欧美区亚洲区偷拍区| 欧美大码在线视频| 粉嫩av平台| 丝袜制服字幕在线| 強姦亂倫a| 骚熟女吞| 91人妻做a观看视频| 欧美999999| WWW黄片COM| 欧美人妻一区二区| 97九色人妻| 亚洲情色视频| 久久超碰、| 国产区91柔拿会所技师| 天堂精品在线| 中文字幕123| 九九超碰综合网| 免费看日本操逼视频| 久久老子无码午夜伦不卡| 久久中文字幕一区不卡| 人妻22p| 麻豆av一区二区| 伊人成人中文字幕久久网| 九热中文字幕| 日韩熟女视频二区| 95人妻爽爽人人做人人澡| 91性色| 一区,二区,三区视频| 无码国产Av| 嫩草 我啊~嗯~在线| 激情五月综合网| 日韩黄片影院| 91在线国产后入风骚翘臀美女素人| 午夜男人一级A片7777| 欧美99999| 久久伊人青青草| 秋霞视频一区二区| 亚欧高清| 激情欧美97| 色噜噜综合在线| 精品欧美А∨无码黑人大荫蒂| 男人 天堂 日 亚洲| 丁香九月激情| 免费一级性爱久久| 人妻丝袜二区| 亚洲人91| 天天影视综合网欧美精品| 精品偷拍13p欧美dodk视频| 东京男人天堂| 97爱啪| 91在线限制级| 欧美男人一区| 中文字幕AV乱伦| 婷婷激情四射| 97ai亚洲| 曰本特级特黄特色黄色A级网站高清在线免费看 | 日韩 人妻 精品| 精品v日韩欧美国产| 秋霞成人做爱| 日韩熟女视频二区| 久久久婷| 国产一级137片内射麻豆| 亚州欧美在线| 欧美色图片欧美色图| 日日夜夜骚| 熟女精品va中文字幕| a男人的天堂久久一级A毛片| 色情五月丁香| 97视频新免费| 亚洲第一页色| 女人被添高潮免费视频| 深夜国产一区二区三区在线看| 亚洲黑人在线| 91精品老女人| 9久热这里只有精品| 日韩97视频| 亚州色阁| 婷婷五月天久久精品视频一区二区三区| 色婷婷色99国产综合精品| 手机在线视频国内精品| 中文字幕精品一区欧美| 中文字幕一区二区日韩网| 国产精品九九九| 久久久久久人| 欧美春色| 综合另类| 亚洲欧美色图| 久久精品国产精品一区| 免费观看网黄| 日韩操p| 日韩综合成人免费视频| 91成人久久| 8050午夜少妇无码| 中文字幕jul-617人妻熟女| 亚欧成人中文字幕一区| 亚洲日韩精品在线播放| 免费看黄视频亚洲网站| 最新中文字幕精品在线| 97啪啪| 婷婷五月影院| 91丝袜美女| 大香蕉欧美伊| 日韩丝袜高跟制服在线观看| 久久久久久久久女黄| 91精品91久久久久77777| 抽插亚洲无码| 家庭乱伦麻豆| 精品久久久久久AV无码| 精品一区二区成人| 婷婷大香蕉| 国产自产91区13区| 日韩综合97P| 欧美少妇高潮视频| 69国产对白刺激| 亚洲无码成人精品| 欧美顶级黄片AAAAA在线免费看| 色五月综合网| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 亚洲棕合电彰| 77国产精品| 久久风骚城市| 97在线视频观看| 欧亚性爱在线视频| 久久久国产亚洲精品系列| 激情五月婷婷| 无码视频一区二区| av天堂加勒比| 综合伊人激情| 久久性爱大全| 黄色二级片网站| 男人的亚洲天堂| 婷婷丁香人妻 | 久久中文字幕人妻熟av女蜜柚| 日韩精品人妻一区二区| 国产无码精品高清| 一区二区三区 日韩欧美| 丁香六月啪啪| 青青伊人加勒比海| 欧美美女视频| 夜嗨影院| 性性欧美| 九九碰九九爱97超| 家庭乱伦网站国产| 人人澡人人爽人人精品| 97久久久久| 天堂无码精品国产久| 色婷婷亚洲婷婷| 91 亚洲情侣偷拍 久久| 久久神马| 99在线免费视频| 色悠久久久av| 无码高清操逼网址| 日韩国产品视频中文字| 激情文学小说一区二区| 日韩三级伊人| 六月丁香五月婷婷| 色偷偷2020免费视频播放| 欧美A片中文字幕| 久草久热| 伊人色综合欧美| 伊人网免费视频| 日韩人妻精品久久久久| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 高清无码一区二区三区| 伊人大香蕉在线| 97在线视频观看免费| 国产精品嫩草久久久久| 中文字幕在线观看第二页| 久久久性爱| 婷婷五月天av| 97久久久久久久久久| 插穴性爱视频在线观看| 素人美腿视频网站| 97se亚洲综合自| 深爱五月婷婷| 人妻丝袜二区| 久久五月天婷婷| 久久久亚洲精品中文字幕人妻| 激情另类激情| 国产成人免费观看在线视频| 亚洲国产一区二区入口| 欧亚日韩三区| 日本高清视频xxxx| 国产精品午夜成人福利| 国产精品4p在线观看| 厕所偷拍在线| 亚洲 无码 偷拍| 亚洲国产精品成人无码久久久 | 日本熟妇人妻中出视频| 97色涩| 亚洲国产成人福利在线观看| 大香网伊人久久综合网eew| 精品久久久久久无码| 五月婷婷激情综合| 神马麻豆福利院| 日本天堂网| 日韩精品中文字幕人妻| 91nbbbbbb| 国产精品熟女丝袜一区二区| 丰满熟妇大乳做爰| 日韩欧美女优电影| 青青在线视频免费| 亚洲 欧美都市激情| 亚洲国产成人精品999| 国产成人主播| 3p国产欧美99热| 欧美色宗合| 99天天超碰| 唐山老熟妇露脸啪啪叫| 国产99999| 东北女人被操| 亚洲精品乱码久久久久久蜜桃麻豆 | 操逼操操操91| 中出20p| 精品国产乱码久久久久久久久1| 国产无码精品成人| 欧美,亚洲,日韩,v,天堂,手机在线观看| 亚洲第一成人影院色播| 日夜伊人网| 免费人人搞97| 91精品91久久久中77777| 欧美精品三区| 91青青在线视频| 久久久九97| 亚洲天堂中文字| 九久精品| 欧美亚洲韩国视频十五区| 中亚精品极乱| 亚洲最新a在线观看| 97久久精品不卡| 超碰日本97美女人妻人人玩人人爱| 95自拍视频在线观看| 不卡一区视频| 97精彩视频网站| 中文字幕av乱伦| 日韩一区二区精彩视频| 中国少妇啪啪视频| 青青操视频在线| 超AV色女| α√在线| 影音资源男人日韩| 亚洲色综合| 67194无码不卡| 免费操逼视频下载| 国产日韩精品无码去免费专区国产| 91狠狠狠| 欧美综合网1| 激情文学 国产一二三aV| 亚洲各类熟们中文字幕| 在线一道啪| 人人人摸人人| 中文 人妻 制服| 日韩射图| AV天黑人| 老司机午夜精品福利视频一区二区| 久九干| 精品日韩人妻视频| 色色色日本| 亚洲精品久久久久久| 97在线精品| 日韩女模中文造逼| 久久久久久网址| 东京太热男人的天堂久久久| 久久久久96| 天天插天天操天天摸天天射天天看| 9 7超碰在线免费观看| 91色艳| 九九无码| 麻豆人妻精品一区二区| 另类图片五月天| 熟女六十路| 久久大黄片| 夜夜躁狠狠躁日日躁av| 日1区2区3区2020| 亚洲 欧美 综合 91| 亚洲精品一二三四区| 欧美美女自慰一区二区三区| 红杏大香蕉| 中文字幕jul-617人妻熟女| 久久久国产亚洲精品系列| www.91人妻.com| 福利视频香蕉免费一区二区在线| 婷婷午夜清品久久久久久久性色视频观| 九九九999久久久网站| 亚洲色天堂九9| 亚洲影视第一页| 日本道人妻久久久在线不卡色视频| 欧亚韩国999| 蜜臀在线看片| 91中出视频| 国产三级片在线观看| 果冻传媒A片麻豆熟妇人妻| 亚洲AV色图一区| 天堂av最新电影网| 国产美女高潮视频| 加勒比综合在线| 熟女人妻精品一区二区视频| 99国产精品| 国产捆绑一区| 精品无码不卡视频| 深夜激情无码| 天天色播| 艾草av| 操b网站亚洲无码| 亚洲欧美在线综合| 日韩本不卡视频在线观看 | 欧美一区二区观看在线| 五月婷婷丁香中文字幕| 激情深爱五月天| 日韩中文字幕熟妇人妻| 亚州 综合 色图| 中文字幕av片| 3PAV乱伦视频| 欧美一区二区三区入口| 操逼片中文| Julia在线播放亚洲久久| 大香蕉伊人色偷偷在线| 国产女人高潮视频| 国产91 丝袜在线播放00-百度| 五月天AV资源| 亚洲欧洲成人在线电影| 亚洲风情在线观看| 夜夜欢天天干| 激情文学小说一区二区| 8050无码八戒| 久伊人网78| 精品夜夜澡人妻无码| 中文字幕色AV| 蜜臀久久99精品久久久久久久久| 亚洲色性| 欧美色图私拍91| 久久精品国产96精品亚洲拳交| 欧美图片色综合| 网友自拍第一页| 欲香欲色天天天综合和网| 日韩不卡a级视频专区| 欧美日韩久久精品爱爱| 国产第11页| 97超久碰| 人人人人插| 四虎av在线| 欧美激情久| 99热这里只有精品99| 人人操,人人插| 欧美成97爱| 人妻素股| 青青青艹在线视频| 天堂av2019| 丁香九月激情啪| 不卡av在线中文字幕| 精品九九九九| 天美传媒AV在线播放| 欧洲自拍第一页| 9久久美女首页| 欧亚不卡| 亚洲成人一二三区| 日韩探花精品在线视频| 91视频伊人| 欧美黑人精品一区二区| 欧美高清第一页| 99re免费| 欧美激情一| 乱色老一区二区三区的观看方式| 欧美夜夜骑视频| 中文字幕精品乱码| 骚日日av| 精品久久久久综合无码| 啊视频在线| 韩国三级一线观看久| 屁屁影院一区二区三区国产| 韩国黄片aaaa| 男女啊啊啊啊啊| 激情在线青青操| 亚洲男人的天堂在线看| 亚洲综合贴图91| 97欧美资源| 亚洲无码精品AV久久久| 亚洲精品一区二区精品| 亚洲一本色道中文无码aV天美| 黄色一级视| 熟妇视频一区二区三区在线观看| 欧美熟妇人体| 欧美精品第四五页中文字幕在线观看| #NAME?| 国产精品久久久久久久久久久久久久| 91欧美网| 久久欲| 99无码视频| 成熟熟女国产精品一区二区| 91丝袜人妻| 欧美性生活男人的天堂| 色官网在线| 超碰久久网| 欧美日韩中文视频播放| 亚洲精品一区二区三区在线播放| 亚洲色天堂日韩中| 精品9999| 色色色色日本| 欧美97在线观看| 蜜臀视频网站| 乱色视频中文字幕| 金典av| 在线观看精品国产免费| 欧美影音在线| 97超碰日韩| 桃花色涩综合影院| 欧美影音在线| 亚洲AV秘 精品久久老牛影视| 国产日本熟女顶级一区二区三区视频| 伊人色综合欧美| 日韩激情啪啪啪| 中文字幕AV片| 凹凸视频在线观看伊人| av东京热男人的天堂| 理论久久婷婷网8| 26UUU欧美激情一区二区| 欧美午夜视频精品久久| 夜夜高潮夜夜爽| 午夜福利 成人 91| 欧美黄片免费在线观看视频| 成功精品影院| 久久香蕉国产传媒一区剧情天美| 久久婷婷五月天| 9久久精品| 综合欧美日韩在线观看| 性性欧美| 亚洲人妻在线一区| 丝袜高跟澳门91视频| www网站黄| 2019午夜福利视频| 涩五月婷婷| 天美传媒精品一区二区| 国产大片精久久久久久| 岛国激情视频在线观看| 久久综合中文国产| 特级毛片特黄久久免费看 | 久久9久9久99久9久9| 久操视频在线| 免费看黄片现成| 国产精品3| 亚洲 欧美 天天| 麻豆啪啪啪视频| 免费?级毛片无码?∨蜜芽试看| 亚洲夜色在线| 国产一区二区免费福利片| 神马久久久久久久久| 女人天堂AV五区在线| 久操com| 国产精品自拍视频| 丝袜狂射91| 久久亚洲熟妇在线视频| 日韩人妻大香蕉| 性爱综合一区二区| 久久78| 亚州性色| 男人的天堂va在线| 风骚少妇视频中文字幕| 一区 欧美 日韩 麻豆| 吻戏激情性巴克| 夜夜草网站| 一级特级aaaa毛片免费观看 | www.AV有限公司一区| 久久九九一区二区三区成人| 99只有精品| 日韩啪啪啪啪啪| 色综合久久久久| 99热9| 九九成人视频| 五月婷婷色| 四虎AV在线观看| 久久天堂婷婷网| 国产精品自拍欧美在线| 中日韩欧美精品无码AⅤ一区二区| 亚洲黄色视频在线观看视频| 欧美Ⅴ性爱| 黄片色区软件| 操屄不卡视频| 天天天天操| 高清无码网址| 欧洲免费一区二| 欧洲小说色图视频另类| 2017天天操天天日| 蜜臀视频网站| 亚洲天堂人妻熟妇视频| 操逼逼无码| 大香蕉伊人一区在线观看| 男人下部插入女人下部| 老鸭窝黄色视频网站| 熟妇一区二区| 成人三级片一区二区三区视频| 日韩精品人妻| 99热精品在线观看| 日本精品第一视频在'| 久草国产在线视频| 精品久久一区二区三区四区五区| 99自拍B亚洲| 少妇99| 婷婷丁香激情| 色九月婷婷| 久久精品视频一区三区小泽玛利亚| 亚洲色电影在线| 99精品视频在线观看免费| 99国产精品人妻人伦| 97天天插| 九久精品| 九九热最新| 亚洲精品一卡二卡三卡福利视频网站| 超碰97COm中文| 亚洲精品国产无码高清| av天天在线观看| 91女优在线观看| 国产女生在线| 亚洲在线a| 亚洲天堂一区| 亚欧成人中文字幕一区| 中文久久| 一级aaaaa欧美中文字幕录像片| 人妻激情另类| 91国模| 99无码精品| 超碰诱惑| 加勒比大香蕉视频在线| 97久久超碰国产精品| 丁香婷婷久久 | 天美麻花大全视频| 97草草| av资源在线观看少妇| 麻豆传媒一区二区在线观看| 交换娇妻呻吟声不停中文字幕| 精品久久久久黄少妇| 十八禁啪啪视频| 免费久久9999| 久草免费在线一区二区| 另类小说欧美激情校园春色| 欧美夜夜狠| 亚洲熟女乱色一区二区三区| 夜夜狼人妻| 成人aⅴ一区二区三区| 九九九九一区| 欧洲精品区| 国产精品农村妇女精品| 国产高潮AA片免费看| 97视频在线| 日本道日本道中文字幕日本道最新日本道在线观看 | 91少妇高潮| 婷婷三区| 91精品国产日韩欧美综合| 久久久久久久久久久精| 吖在线不卡一区二区国产剧情| 日日日日做夜夜夜夜做无码97| 日韩亚洲美女一区久久| 国产一区二区三区精品观看啪| 天天亚洲| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 亚洲激情AV| 色综合av男人天堂| 国产日韩欧美操逼视频| 欧美国产操逼| 碰超人人在线一区二区三区| 色乱二区| 欧美一区二区福利在线| 97亚洲在线| 天久久久噜噜噜久久国产精品爽爽| 色眯眯av| 久艹99| 亚洲人精品午夜不卡| 蜜桃狠狠色伊人亚洲综合| 麻豆一区二区三区精品| 日日黄色三级网站| 国产夜夜操| 一区二区三区网站日日骚| 中文字幕在线日亚州9| 婷婷色导航| 蜜臀久久久久久999| 蜜臀久久99精品久久久老,,| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 欧美日韩性爱精品| 另类一区| 久热九九| 亚洲AO在线| 中国熟女网站| 四虎在线视频| 久久一区二区三区四区五区| 国产尤物在线三区| 欧美亚洲韩国视频十五区| 欧美少妇熟女| 91丝袜美女| 亚热日本熟女| 亚州,欧美在线| 亚洲 在线| 97午夜剧场日韩| 五月丁香六月综合缴清无码| 欧美另类丝袜熟女| 国产精品久久久啊| 日韩欧美传媒一区国产| 一级片在线观看高清无码| 极品色www影院| 人人天天欧洲| 九九九九97| 人妻色偷色噜| 欧美刺激色黄片免费看| 免费看污网站| 日韩精品一二三| 国产精品视频一区二区三区八戒| 丁香五月激情综合国产| 日韩电影天堂视频一区二区| 国产白丝AV| 亚洲美女自拍偷拍视频| 欧洲射精91| 国内偷拍精品一区二区| 妺妺跟我一起洗澡没忍住| 国产欧美后入| 97干在线视频| 久久久9品一区二区三区| 午夜精品99久久久久传媒| 久久人体一区二区| 国产极品精品美女视频| 人妻天天爽夜夜爽精品2| 中文一区二区三区影院| 五月天激情网图片| 久久久久夜夜夜夜| 亚洲中文字幕网| 九九九九九九九九九国产精品 | 国产网站在线播放| 粉嫩少妇自慰在线| 欧 美 自 拍 偷 拍| oumeisetu综合| 天天综合网视频91| 色999五月色| 亚洲资源站| 精品射1999| 国语少妇精| 欧美日韩国产中文精品字幕自在自线, | 亚洲日韩国产欧美综合v| 亚洲黄色电影| 超碰91在线| 网友自拍第一页| 神马午夜久久久| 综合操逼| 2017亚洲天堂| 亚洲爱爱视频一区二区| av毛片aaaaa免费看| 91啪9色| www黄片免费看com| 东北熟女91| 欧天美中出| 天天摸,夜夜摸| 狼狼色丁香久久婷婷综合五月| 男人天堂无码| 亚洲人成网www| a一区二区三区乱码在线| 欧美性五月| 亚洲av总站| 国产精品熟女乱伦| se吧提供91精品国产91久久久久久| 美国三级日本三级久久99| 欧美有码亚洲中文字幕一区二区三区四区| 先锋激情∨在线视频播放| 精品人妻一区二区乱码一区二区 | 国产又黄又粗的视频| 精产品久久| 狠操91,com| 情色五月天网| 三级片大波波| 国产av高清版| 婷婷色一区| 精品国产网站| av天堂影视中文在字幕在线中文 | 色综合99999| 91人妻视频在线| a在线观看| 97天堂| 五月天婷婷综合| 中文啪啪视频| 国产精品一二三免费网站| 牛牛aV| 牛牛AV人人夜夜澡人人爽| 人人摸人人舔一区二区| 亚洲色香| 91精品久久久久久久久久| 超碰无码五月97| 91青青| 97精品国产| 欧美伦乱爱| 一区,二区,三区视频| 国产AV高清AV无码| 中文字幕黄色片| 花野真衣| 九一精品牛牛一区二区| 青青青草伊人精品| 国产97在线播放| 日产操逼| 午夜久久无码1000合集| 在线观看一卡二卡| 美女淫穴| 久久免费9| 熟女人妻精品一区二区视频| 乱论91| 爽爽歪在线视频| 亚欧美综合网。| 久久人妻无码毛片A片麻豆| 人人操人人精品影片| 亚洲另类在线观看| 少妇与黑人高潮在线| 香蕉大久久久| 精品国产AV一区天美传媒| TS人妖另类精品视频系列| 五十路熟女工口| 亚洲图片视频小说| 欧美精品精品一区二区| 天天干人妇| 欧美日韩青操| 91美女网站| 亚洲色五月| 欧美在线|亚洲| 精品人妻一区二区三区在线视频不卡| 少妇厨房愉情理伦片bd在线观看| 国产精品女生av| 99久re热视频精品98| 91视频成人福利网站在线一区| 欧美激情 亚洲色图| 天堂8在线新版官网| 欧美色图91p| av网页一区二区三区| 97在线资源| 熟妇操花| 久久亚洲日韩熟女精品| 亚洲欧美中文日韩视频中国语| 亚洲天堂另类小说男人| 插B在线观看| 天天操天天射青青草| 福利视频合集| 99操视频| 国产午夜精品理论片一二三区区| 欧美无圣光在线| 亚洲人妻爽爽爽| 久操操| 福利色色| 亚洲成人精品在线一区| 欧州激情视频在线一区二区| 尤物黄色在线观看网站| 99热这里只有精品1| www老逼91| 欧美一区二区三区另类精品| 96超碰网| 绑缚麻绳人妻寝取完整版| 亚洲黄网在哪免费看| 97亚洲精品| 久久妇| 日亚韩精品视频二区三| 97精品一区二区视频| 少妇激情AV| 殴美牲| 桃花色涩综合影院|