久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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
返回資訊列表
欧美gv在线观看| 天天操夜夜操| 碰碰97| 一区中文字幕二区日韩| 人人人人插| 久久99干一本高清| 18精品一区| 久久成人国产| 亚洲精品久久久久久久蜜桃臀| 婷婷激情一区二区三区俺也去| 在线无码视频| 九九九免费视频| 操死我了嗯嗯嗯| 激情久久久| 女性喷水高潮在线观看| 一区二区视频在看| 天天看高清麻豆| 国产免费永久精品无码| 免费av高清无码| 色综九九九一区| 伊人精品视频| 久久香蕉网| 色狠狠综合| 日韩欧美操逼xxx| 国产精品欧美在线观看 | 久久久精品| 欧美日韩精品青青| 人妻少妇三级| 一区二区三区蜜桃成人撸久久东京热 | 欧美疯狂做爰xxxx| 久久无码一区二区二三区性色| 国产吹潮女在线观看| 久久精品三级影视| 国产www色在线观看| 一区二区影视| 亚洲中字慕不卡| 丰满少妇高潮无码| 色悠久久久av| 丰满丝袜少妇AV| 99爱久久视频频| 综合色色网| 亚洲第一精品在线视频| 色综合天天| 国产高清视频无码在线| av网站国产主播在线| juliaann丝袜| 婷婷国产精品一区二区| 怡春院久久| 躁躁日曰躁2020| 久热69九色熟妇97| 98一区二区精品| 91操人| 中文自拍欧美影视| 女同性恋久久| 亚洲高清无码在线桃色| 美女国产一区二区久久| 理论久久婷婷网 8| 欧美天天谢综合网| 大吊色| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 九九内射在线| 亚洲欧洲小说图片视频| 国产精品对白内射| 99在线视频播放| 国产农村妇女精品一二区| 大香蕉亚洲中文| 操久久久久久| 麻豆福利视频导航| 色在线69堂| 夜夜国自区| 欧美天天综合在线| 免费AV中文网在线观看| 一起草欧美| 国产精品人妻熟女aⅴ| 中文字幕一区电影在线观看| 亚洲色图尤物视频| 333kkkk·亚洲com久久| 五月天综合网| 天天日天天操VV| 一二视频神马久久传媒| 精品夜夜澡人妻无码AV| 亚洲色图超碰在线| 亚洲最大黄网| 综合网少妇| 男女性无套 免费九一| 国产最火爆久久国产网站网站| 伊人久久大香线蕉无码| 青青草天天亲夜夜操网| 九七毛片九九毛片| 97欧美在线| A一区片| 国产一区二区欧美日本| renqi久久久久久久久久久久| 久久久久13| 欧亚第一综合网| 一本久久精品中文字| 骚货操死你| 91黑人狂躁丰满熟妇| 一本大道不卡一二三区| 久啪| 九九九九免费| 超碰成人国产| 欧美在线|亚洲| 2019男人的天堂| 亚州综合色| 久久‘黄片视频| 亚洲天堂色图| 亚洲毛片久久| 人人妻人人狠人人| 91艹逼精品| 91殴美| 尤物一级在线免费观看| 破处bbq| 欧洲特黄毛片免费看欧洲毛片| 麻豆啪啪啪视频| 抽插爽| 精品国产Av无码久久久伦古装| 黑人操一区二区| 中文字幕精品资源在线| 最新9久久久9免费视频| 婷婷干黄色| 日本特黄f c2| 999国产精品999久久久久久| 婷婷亚洲综合| 九热中文字幕| 98一区二区精品| 色综合大香蕉| 天堂精品在线| 国产精品乱码久久久久久久久| 精品亚洲国产成人精品| 五十路人妻在线| 12一15性XXXX粉嫩国产| 一本色道久久综合亚洲二区三区| 欧美人妻久久精品二区三区| 亚洲熟女偷拍在线观看| 國產尤物AV尤物在線觀看| 久久99999| 欧美丰满少妇xx高潮| 伊人伊人LD| 超碰国产精品无码| 啊啊啊不要嗯嗯在线观看| 国产又粗又大硬免费色网视频| 人人摸人人干| 欧色网址| 日韩一级二级在线| 视频黄色国产一级| 97精品97| 日韩精品在线观看观看| 999九九精品| 波多野结衣被操50分钟免费视频| 亚州高清色综合| 久草国产在线视频| 18精品一二区| 日韩天堂av电影在线观看| 欧美91在线| 国产欧美一区二区| 亚洲一区二区三区播放在线| 色妇91| 无码 有码 国产18p| 日韩中文字幕宗合在线| 午夜丁香| 性爱Av免费| 嗯嗯啊啊的视频| 婬女免费一二三区A片| 亚洲 欧美 日韩另类 麻豆| 国产亚洲99久久精品| 精品91| 国产熟女精品区| 口爆吞精在线观看| 中文字幕后石码四区五区| 欧美97日韩| 久久夜黄色无码A级大片| 安微少妇操BBB| 激情四射婷婷四五月天| 自拍偷拍亚洲熟女妇人精品| 密臀成人视频久久久| 禁止观看美女黄| 天堂无码精品国产久| 国产精品高朝久久久久久久| 亚洲国产精品久久久久久久久久| 日韩精品熟妇| 综合网色| 亚洲小电影免费涩涩成人在线高清| 大香蕉青青9| 青草视频在线看看看看看看看看看| 少妇被c 黄 免费观看| 91久久久久久久| 国产一区麻豆免费观看| 91操人| 狼狼色丁香久久婷婷综合五月| 午夜操一视频一区| 啊啊啊啊啊啊啊啊啊啊在线观看| 中文字暮97| 日韩熟女乱伦中出| 中文字幕乱亚洲美女精品一区| 强奸少妇AV导航网| 综合色99| 约操熟妇| 97欧美性爱| 日韩在线一区高清在线| 久久久999| 欧美一区二区三熟女剧情| 超硑97精品| 欧美性天天影视| 观看免费区二区三区二| 国产在线强奸视频| 蜜桃午夜视频一区二区 | 欧美一级美片在线观看免费| 少妇综合| 99re视频在线播放青草| 91激情国产| 亚洲91少妇| 午夜丁香| 九九碰九九爱97超碰| 日日操丁香五月天| 日韩Va亚洲va欧美Ⅴa久久| 亚洲综合第一页| 久久婷婷成人综合色怡春院| 欧美亚洲系列| 黄页av| 99精品无码| 黄站在线免费观看| 伊人久大| 午夜美女诱惑电源网| 91网站18+| 精品无码一区二区人妻久久蜜桃| 亚州色站 日韩电影| 国产精品视频电影| 色娱乐色呦呦夜夜夜夜av| 99国产精品免费| 韩国轻伦国内自拍一区| 禁十八久久| 亚洲欧美大香蕉| 偷拍 精品另类 凸凹了四区| 中文字幕 一区二区 亚洲无码| 玖玖视频在线资源一区二区三区| 91久久久久免| 亚洲大胆人体av| 乱子伦一区二区三区国产精品| 久久亚洲人妻| 青青草一区二区三区四| 美女国产一区二区久久| 无码精品一区二区三区潘金莲| 亚洲AV噜噜狠狠网址蜜桃动漫| 成人免费福利在线观看| 影音综合网| 久久久性爱视频| 色眯眯av| 超碰到97情色| 日韩无限资源| 日逼逼免费看| 大香蕉九九| 91蜜臀熟女| 色九九九九| 日本一卡二区在线| 另类图片五月天| 亚洲丝袜少妇在线| 东京热男人的天堂精品| 韩国一级婬片A片AAAAA| 大香蕉97久久| 青青草中日韩在线| 免费岛国一级片| 久久久久亚洲AV无码专区少妇| 无码自拍SM| 九九九九日本| 熟妇人妻精品一区二区| 操比国产| 中文字幕55555| 老色鬼成人精品视频下载大在线观看| 深夜视频| 国产一区二区a毛片| 99精品在线| 97爱欧美| 91美| 69精品人人人人| 久久超碰免费的| 嗯嗯不要视频| 亚洲 国产 精品一区| 美女黄色一级A视频| 九九九九九九视频| 中文字幕视频在线观看| www.91理论| 91在线免费观看处女| 嫩草 我啊~嗯~在线| 欧美18 在线观看| 这里只有精品久久| 欧美色图99| 欧美91视频| 天美传媒国产原创中文字幕亚洲欧美另类 | 亚洲一区二区三区AV无码| 99久久这里只有精品| 尤物视频网 刘玥| 国产强奸AV在线| A久久| 日本高清一本二本免费不卡| 免费无码国产精品v片在线观看| 青娱乐国产盛宴视频| 韩国轻伦国内自拍一区| 欧美不在线| 国产亚洲99久久精品| 久湿久久 | 91狠婷| 国产超碰欧美| 亚洲操逼视频网站| 九九九九九九免费视频| 首页中文字幕中文字幕免费| 加勒比人妻综合| 色综合国产在线观看| 国产欧美精品日韩区二区麻豆天美| 欧美日韩222| 中文久久久| 国产精品自产拍在线观看社区| 最新av在线| 麻豆视频国产一区二区| 九九九精品| 99在线精品观看99| 好属操| 欧州色图区| 日本性爱欧美性爱| 人妻少妇精品久久久| 亚洲精品一二区| 试看60秒| 风流老熟女一区二区三区l| 美女网站黄页| 九九色影院| 激情文学88| 欧美亚洲丝袜美女电影| 欧美日韩日产免费网站看| 台湾大香蕉99热| 看大黄色大片原件| 久久中文字幕女同性恋一区| 欧插网站| 啪一啪免费视频| 香蕉免费一区二区三区不读| www…国产操逼| 校园春色 亚洲| 国产在线76页| 都市久久精品激情亚洲| 大香蕉日亚洲日本亚大 | 久久超碰国产一区二区三区| 997色在线| 天天爽天天干| 免费成人在线观看91| 青青草玖玖爱| 情侣开房子拍 日韩无码 女的很漂亮| 天天激情干| 伊人宅男大香蕉| 国产有码一区| 婷婷伊人网| 20cm女自慰在线日韩欧美| 久久久九九九九| 人妻啊啊人妻啊啊| 日韩精品免费高清视频在线| 中文字幕丰满人妻日本| 超碰视97中文| 综合网欧美在线| 欧美的性爱网站免费| 精品国产乱码久久久影院| 1024亚洲中文字幕久在线看片你懂的 | 婷婷月色| 男人高清无码一区二区| 久久久新亚洲AV| 黑人干亚洲| 偷拍网站久久男女男| 日韩精品视频在线观看一卡二卡| 女人天堂av在线播放| 青草影院内射高潮| 六月丁操逼| 五月天丁香网| 黄色小视频日本txt| 色综合加勒比| 这里都是精品| 国产精品久久久久婷婷二区次| 超碰人妻中文在线| 按摩中文字幕| 亚洲日韩AV视色| 激情五月天插| 99精品国产户外露出| 97鸡把在线视频| 天天色怡春院| 精品九九九九九九九九九| 国产一区二区三区中文字幕| www.色综合| 欧美另类综合久久| 九九九精品| 日日躁夜夜躁狠狠躁超爽| 91 国产丝袜在线播放-百度| 熟女AV一区| 亚洲91少妇| AAA久久| 丁香五月激情综合国产| 激情五月天丁香社区| 日本黄色大片一级视频免费麻豆| 91啦人妻| 99e久久国产精品| 婷婷人妻激情| 欧美精品欧美精品系列| 人妻丰满熟妇av无码区蜜桃| 尤物AV免费网站| 97欧美色综合| 激情文学小说一区二区| 啪啪啪男女亚洲中文字幕99| 欧美一级在线观看成人| 国产操逼视频在线观看| 伊人影院综合是一个与深夜成人在线| 一区二区三区激情在线观看| 亚欧精品久久久久久久久久久| 久久午夜伦| 欧美另类色| 五月婷婷hd| 97色97好| 久久久91福利姬| 好爽免费视频,| 久久久久密臀视频| 啊啊啊啊好疼| 欧美另类精品xxxx| 99色色网| 久久久∴| 久热最新在线杭州| 亚洲无吗在线视频| 五月婷丁香| 97久久精品国产| 国产尤物在线三区| 四虎国产精品永久入口| 免费人成?大片在线播放| 亚洲一区二区麻豆影院| 久久一本大香蕉 | 影音先锋中文字幕日本好一区二区| 六月丁香啪啪啪| 天天操天天射青青草| 美女爽爽爽刺痛洞洞| 欧美色偷偷| 欧美国产伊人久久久久| 亚洲国产一区二区三区在线| 亚洲熟女少妇免费视频| 精品无码一区二区三区| 97在线视频观看| 久久久专区| 超碰2017| 九九性爱网| 欧亚日韩三区| 亚洲色狠| 91色艳| 超碰偷拍| 欧美探花网| 天天日老熟妇| 亚洲欧美91| 操逼逼福利视频| 四季AV综合网址| 久久有码视频| aaaa少妇高潮大片| 色 亚洲 91| 一区二区三区免费视频入口| 激情文学网伊人| 人妻喷水| 福利伊人玖玖国产| 久久久久密臀视频| A 在线网址| 国产高清不卡视频| 九九九精品成人免费视频小说| 色99视频| 骚女天天综合网| 日本大片日本一区二区免费高清 | 天天色播亚洲综合网站| 日韩精品三级片长长久久| 大屁股人妻女教师撅着屁股| 97WW精品| 亚洲无码电影久久久| 97资源制服丝袜| 99re视频在线播放青草| www.99热| 清纯唯美亚洲综合| 久久黄黄| 另类图片综合| 97操97色| 亚洲男人久久综合天堂| 99热aaa| 日韩操逼性鲍| 人妻爽爽啪视频| αⅴ天堂| 91女优在线观看| 色乱二区| 欧美色图另类图片| 日本久操视频| {男男暴菊gay无套网站| 99xav| 久操网无码在线| 60秒免费小视频| 丝袜剧情| 天堂亚洲精品| 亚洲日韩肥臀视频在线观看| 97无码视频在线播放| 日韩在线女优天天干| 91丨国产丨白浆秘 洗澡动漫| 一牛影视久久久一区二区三区| 在线视频免费观看午夜| 少妇专区一二三四五| 日韩在线观看字幕精品| 高清孕妇孕交 交| 插入综合网| 亚洲图片激情综合另类| 97中文字幕一区| 午夜精品一区二区三区三上悠亚| 蜜乳中文字幕a在线| 精品久久久不卡一区二区| 国产成人无码高清| 中文字幕三四区| 日韩精品第3页| 操99| 国产大陆天天艹| 久久风骚城市| 婷婷综合在线观看| 日韩一级片在线看| 凹凸视频在线一区二区| 蜜臀aV午夜一区二区三区| 加勒比无码一区二区三区| 精品国产91内射久久| 国产精品日日摸天天碰| 精品97久久综合| 无码国产精品午夜不卡(| 成年人黄色视频免费| 超碰社区97| 少妇国产不卡| 五月丁香六月婷综合成人综合| 熟女激情综合网| 热热色综合网| 丰满少妇高潮无码| 2011国产精品| 久久久久亚洲Aⅴ无码| 啊啊啊好想要| 人妻夜爽夜夜爽| 嗯嗯啊啊视频一区二区三区| 色哟哟国产精品免费网址| 操逼片中文| 情趣丝袜无码操逼视频| 国产老女人久久毛| 婷婷激情四射| 韩日欧亚a级| 97精品国产精品免费观看| 毛片视频白嫩| 日韩在线视频1234| 91丨九色丨大屁股| 日韩人妻无码专区| 国产精品久久久久久久久AV大片| 亚洲精品一二区| 2017av无码免费无线播| 大香蕉伊人75| 日韩日韩日韩-国产乱码精品一区二区| 久久无码一区二区二三区性色| 欧美亚洲丝袜人妻制服中文99| 婷婷九月国产| 日本黄页视频在线观看| 亚州高清色综合| 久久久久久波多野吉衣高潮| 亚州成人A√| 好湿好紧好爽 视频| 九九九九久久久| A久久| 中文字幕在线高清男人的天堂 | 蜜臀中文无码午夜| 亚欧美无遮挡| 校园春色美腿丝袜 | 国产久久久久久| 亚洲精品人体| 欧美亚洲高清| 久久在线观看免费视频| 一级一性爱免费视频| 精品人妻一区二区三区在| 好吊色综合| 不卡av免费在线网址| 中文久久| 99re免费视频精品全部| 国产亚洲精品美女久久久| 精品中文字幕第一页| 国产成年精品高清在线观看91| 国产精品露脸在线观看| 中文字幕日韩人妻视频一区二区三区 | 日韩av不卡在线观看| 亚洲熟女中文字幕在线| 亚洲综合五月天婷婷丁香| 密桃99999| 性感女人网页在线观看视频| 你草精品在线视频| 亚洲日本天堂| 少妇无码999| 久久永久无码人妻视频| 日韩欧美成人性爱在线| 天天天天天干夜夜夜夜夜操| 中文字幕精品一区二区精品| 在线天堂999| 欧美人妻中出| 日韩15p| 熟妇xxxxx性春色| 岛国视频免费在线观看| 97人人模人人爽人人| 熟女人妻av在线资源,黄色的资源 粉嫩国产精品久久粉嫩 | 欧美美女在线高潮999| 91欧美性| 欧美色视| 午夜福利免费福利视频| 亚洲 日韩 欧美 国产综合体| 国产白领连续中出在线观看| 日本黄页视频在线观看| 人妻少妇久久中文字幕一区二区 麻豆| 日本韩国国产精品一区| 中文字幕 国产区| 日韩一级二级在线| 大香蕉懂9| 国产成人精品必看| 婷婷五月丁香五月| 亚洲高清少妇| 日韩av无码网站| 日韩av影片在线观看| 美女的肌被草喷水视频| 精品国产乱码久久久久久久久久毛片| 国产精品不卡一区二区电影| 97干在线| 91成人久久| 精品国产Av无码久久久亚洲| 99色综合| 夜夜做夜夜爽精品视频| 久久精品国产亚洲妲己影视| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 3D污黄视频在线观看| 91美腿丝袜在线观看| 超碰在线成人电影| 国产成人午夜视频网址| 97色冈| 99久草| 天天做日日爱夜夜爽| 久久中日麻豆| 四虎国产精品永久入口| 熟女人妻av在线资源,黄色的资源| 国桃视频产巨乳精品一区二区在线| 91色综合| 日韩亚洲美女一区久久| 久久久一区二区三区麻豆| 欧美日韩香蕉| 久久久久久久久久久久九| 日韩精品色呦呦| 台湾肥佬网一区二区三区| 欧美一级在线观看成人| 色九九九九久| 亚洲色人妻综合| 久久久性| 一级做a爰片性色毛片久久| 強姦亂倫a| 99在线免费公开视频| 99中文字幕| 成人黄页| 欧美性爱网97| 色综合潮| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 最新av中文字幕高清| 久9综合在线| 91精品无码人妻系列| 北野未奈加勒比av| 国产麻豆福利av在线播放| 情色五月天网| 国产精品人妻熟女aⅴ| 大香蕉宅男伊人| 日本黄色大片一级视频免费麻豆| 久久久穴999| 亚洲,日韩,欧美,成人播放| 亚洲少妇在线影音| 93人人操人人| 2017天天操天天日| 天综合网| 内射夫妻三片| A男人的天堂| 亚洲乱码尤物193YW| 青青草原伊人网| 亚州伊人色综台| 国产亚洲色停停久久99精品91| 日逼五月天| 国产精品极品美女视频| 亚洲有薄码区久久在线一区| 激情婷婷五月天| 免费观看日本操逼视频| 都市激情人妻一区二区青青操视频| 亚洲一级性爱视频免费看| 97人妻人人躁人人玩人人| 六月丁香啪啪| 日韩免费三级黄片电影| 精品人妻伦一区二区三区久久| 婷婷久久综合久| 毛片久久| 亚洲交换| 97人人爱人人做人人乐| 人人摸人人叼| 91色色网站| 蜜臀久久99'精品久久久| 蜜桃久久一区二区三区| 密乳无码| 啪啪自拍九九综合| 欧美亚洲涩涩| 男人兔费天堂| 免费一级特黄特色大片在线观看看| 蜜臀99久久国产| 日本东京热大香蕉a片| 丁香五月激情综合国产| 亚洲激情在线观看一区| 久久99久久99精品天美传媒棢·纸:. | 日本天天人人狠狠在线日美女| 成人麻豆av电影网站| 午夜爽爽爽| 久久高清无码夜夜操| 好吊色在线观看| 欧日a| 少妇厨房愉情理伦片bd在线观看| 久久大香蕉97| 大香蕉之青青草原| 情色av电影| 久久伊人大香蕉| 一区二区三区黄片免费观看| 翔田千里A片一区二区| 亚洲色图 91| 98超碰日本| 精品十三区| 成人综合色网| 97色干| 一区在线国产播放| 丝袜剧情| 亚洲中文字幕久久人妻| 亚洲熟伦熟妇AV无码春色| 人妻熟女一区二区三区视频| 久久精品中文字幕女同| 91强在线播放| 欧美白嫩女HD| 好吊色一区| 日日干日日操五月天伦理视频| 91美女丝袜诱惑视频| 国产综合操逼高清| 亚洲黄网在哪免费看| 免费看黄视频亚洲网站| 人妻无一区二区三区| 国产精品久久久啊| 91老熟女| 青娱乐休闲视频在线观看| 国产精品成人午夜福利| 美女诱惑久久| 九九九九久久久久| 校园春色五月天| 人人妻人人爱人人玩| 91精品国产91熟女| 男人的天堂2019| 免费岛国一级片| 色综合av综合久久| 大二网站亚洲| 久久综合国产精品国产| 18禁免费视频| 97摸视频| 大香蕉九九| 婷婷五月天av| 老熟女91av| 亚洲日韩青青草色月| 亚洲 欧美 另类 日韩 人妻一区| 激情四射五月天| 青青草日韩免费观看高清在线| 超碰97久久国| 老鸭窝在线视频播放| 亚洲无码日韩电影| 精品九九九九| 女人被男人桶爽视频网站| 岛国黄色短视频| 熟女视频久久| 高潮内射在线| 伦在线97| 亚洲高潮影院| 欧美精品精品一区二区| 国产精品人妻熟女aⅴ| 黄色网址在线免费观看| 91无码中出人妻视频| 成年女人一区| 亚洲老司机123专区| 日日摸日日弄日日拍| 欧美激情综合网| 欧美A片中文字幕| 国产一级αv免费看片| 久久久一级| 97久久久精品| 熟女少妇视频| 精品日韩中文在线| 97碰在线视频| 色偷偷色偷偷欧美日韩| 九九九不卡| 日本高清免费一本视频在线观看| 天天干天天狼在线视频| 夜夜嗨AV蜜臀av| 久肏视频字幕| 中文字幕一区二区日韩网| 2024人人操人人摸| 99操| 欧美亚洲手机在线| 国产三级多多影院2022国产AA一级毛片无码| 干婷婷综合网| www.99热在线只有精品| 清纯唯美激情| 日韩一性一交一A片俄罗斯| 亚洲91极品| 91n.欧美| 精品成人动漫一区二区| 吻戏激情性巴克| 屁股久久久久久久久| 亚洲在线网站| 香蕉久久国产AV一区二区| 亚州综合AⅤ| 天天躁日日躁狠狠躁| 最新国产亚洲精品精品国产亚洲综合| 亚洲不卡av在线| 熟妇一区二区| 综合啪啪| 91精品操美女| 久久黄色性爱视频| 美女久久久久久久| 欧美性xxxxx狂欢| 可以免费观看的AV| 日本 情色 1区2区3区| 日韩欧美成人性爱在线| 亚洲欧美爆| 丁香色狠狠色综合久久小说| www.狠狠操| 偷拍亚洲视频一区二区三区四区| www亚洲免费| 超碰色中文| 国产粉嫩蜜臀av一区二区三区 | 免费视频97| 操操碰| 麻豆一区二区AV天美| 欧美日韩国产中文精品字幕自在自线| 一区二区三区 丝袜高跟| 日韩欧美性爱电影在线观看| 中文字幕五区| 96久久久久| 国产在线76页| 综合97| 91色碰| 日本精品五区| 久久久9品一区二区三区| 97日韩| 欧美性特| 免费AV中文网在线观看| 青青草视频爽一爽| 91性高朝久久久久久久久| 久久这里精品国产99丫e6| 肏逼视频日本| 国产精品。| 欧亚成人| 无卡一区=区| 97干天天| 欧美不卡二区| 亚洲操操操无码| 综合网色| 白嫩少妇| 日韩欧美偷拍美女视频| 婷婷丁香五月天综合东京热| 久超碰这里只有精品| 中文字幕在线日亚州9| 国产熟女无套内射| 99re不伦| 日韩无码a片| 日韩专区久久久| 男人兔费天堂| 超碰免费人妻人人| 中文字幕乱偷人妻久久艾草网| 91精品啪在线观看国产城中村| 亚州欧美在线| 久久伊人网视频一区二区三区| 欧美一二三级精品在线| 色香综合天天影视综合 | 日韩中文字幕2020| 日本一级性爱| 99人妻| 好舒服视频| 五月丁香| 伊人丁香五月婷婷| 好湿好紧视频| 久久综合精品一区二区三区| 日韩一级成人毛片免费观看| 97亚洲精品超碰| 欧美精品久久96人妻无码| 欧美亚洲中文字幕| 夜草网站| 尤物视频新赏网鲜网色诱网| 久久国产精品91| 男女激情黄色网址| 26uuu最新| 成人精品水蜜桃久久久久久久| 无码91| 性爱1区| 岛国免费视频在线| 99999亚洲另类| 91久久堂| 亚洲熟妇乱女区二区三区| 蜜乳AV一区二区三区四| 欧美激情激情xxxx欧美专区| 亚洲怡春院| 欧美日韩黄色片一区二区三区四区人与兽做爱 | 日日夜夜狠狠| 久久无码成人| 黑人猛交| 肥佬影院91| 骚女高跟AV在线| 久久久久9久久久久| 婷婷五月天色色| 日本不卡高清视频| 强奸乱伦AV一天堂网| 91欧| www久久精品| 国产AV人人 夜夜人人澡| 日本三级黄页| 精品人人插人人操| 强奸乱伦中文字幕AV| 亚洲乱色熟女一区| 永久免费观看的毛片的网站| 91热热色| #NAME?| 九九九草| 色偷综合| 久草男人天堂| 欧美日韩亚洲天堂网| 欧美熟妇乱码在线一区| 人妻少妇精品一区二区三区| 国产高清无码一区二区三区四区皇冠| 国产日韩区| 中文字幕,人妻,日韩| 凹凸视频在线一区二区| 亚洲欧美首页| 夜夜精品视频| 亚洲在线a| 久久二| 天天射日日干| 亚洲加勒比久久日本道| 日韩小电影| 久久粉色| 日韩9区| 国产精品熟女一区二区三区| 亚洲综合伊人无码久久| 男人的天堂一区三区| 欧美人与性动交a美精品| 人妻中文字幕精品无码| 亚洲精品国产熟女久久久久久| 中文字幕,人妻,日韩| 九九精品99| 高潮的A片激情扒开一区| 无码区蜜乳| 欧美经典一区二区三区| 亚洲欧洲日韩国产自在线| 国产三级日产三级韩国三级| 8050无码八戒| 亚洲精品成人| 9久综合网| 亚洲精品丝袜| 欧美熟妇操操视频| 福利天堂| 国产AV天美传媒一区二区三区 | 伊人久久综合精品欧美| 国产熟女乱论| 九九久久综合| 欧美激情亚洲色图| 美女啪欧美一区| 超碰在线1234区| 成人小电影网站tex| 大香蕉一级黄色片久久| 亚洲精品乱码线路中文字幕| 国产精品自拍xxxx| 激情色播| 91色综合激情| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 韩日精品福利视频一区不卡在线免| 国产精品九九| 少妇精品久久| 8x福利精品第一福利视频导航| 日本色色色视频| 可以看的av| 99热精品国产| 91天天综合在线| 国产自制av蜜乳| 日本三级网页| 国产av白丝| 亚洲日韩久久精品一区| 一卡二卡在线播放| 欧美激情久操网| 亚洲中文国际强奸字幕| 五月天婷婷激情| 99青青草国产视频| 欧美综合自拍亚洲综合图| 少妇综合网| 久久久无码av精| 99久久com免费视频′| 加勒比五月天| 久久一区二区三区四区五区| 美女写真| 国产视频一区二区在线观看| 亚洲第一男人天堂| 另类亚洲一区二区三区| 五月天综合在线| 欧美韩国你懂得在线| 97免费视频在线| 亚洲精品官网在线观看| 91丨国产丨白浆| 桑老女人九区| 乱伦一区二区三区‘| 久久国产视频性吧 | 国产女同视频在线播放| 亚洲 日本 一 二 三| 99精品久久久久久| 岛国黄片网站| 色婷婷影视| 久操影视| 久久五十路熟女人妻| 嗯嗯嗯啊啊啊在线免费观看| 少妇人妻在线| 午夜一区二区三区国产| 欧美内射少妇| 欧美91在线| 大香蕉手机视频| 亚洲天天精品| 美女极品一区二区三区| 亚洲色图加勒比| 99国产精品| 久久99综合| 精品二区久久| 色婷婷九月天天综合 | 欧美性爱伊人| 免费超碰97久久| a一区二区三区乱码在线| 精品久久久久瑟瑟| 久久97超碰| 麻豆天美国美国产AV| 欧美一区二区| 天天爽天天干| 国产精品伦理| 精品久热| 极品出轨视频网站| 岛国片在线观看视频亚洲| 美女91色黄18| 白嫩国模丰满一二三区| 热热色色综合| 日韩一区二区三区四区五区| 天天激色| 日本精品不卡一二三区| 精品人妻伦一区二区三区久久| 欧美极品性爱天天射| 日韩 成人 有码| 欧美综合娱乐久久| 97精品久久久久中文字幕| 日韩欧美中文| 久久精品99| 超碰人人干| juliaann欧美丝袜办公室| 免费观看欧美日韩操逼视频| 色97干| av操操不卡| 九九热久久99精品re| 久草男人天堂| 黄色性爱网网| 中文三一区| 欧美精品另类人妖xxxx| 日韩精品中文字幕人妻| 一级黄碟在线观看| 操逼不卡中文字幕| 一卡二卡在线播放| 成人资源中文字幕在线观看天天| 国产99热| 亚洲91网。| 久久久久久久国产视频| 蜜桃久久一区| 精品四五区| 国产黄色影片在线观看| 日婷婷| 欧美91久久久久| 九月丁香婷婷| 中国农村熟妇毛片视频| av 模特一区了| 五月婷婷综合在线| 国产日韩手机视频在线| 五十路人妻在线| 免费观看欧美日韩操逼视频| 自拍偷拍 日韩欧美| 欧美性Fer办公室秘书| 色综合五月天| 人人贴人人摸| 日天天九九天堂666| 国产人伦精品一区二区三区| 女人 A一级| 1240青青草一区二区三区视频天爱| 狠综合网| 99热久| 国产日韩区| 东京太热男人的天堂久久久| 香蕉久久精品| 色区久久| 久久一区二区高清免费| 超碰97综合| 欧美第二页午夜| 中文字幕一区 二 区 三 四 五 区日 日 骚| 久思思热视频在线观看| 久久啊啊| 青草影院内射高潮| 欧美中文字幕男人天堂久久精品| av在线一区二区三区| 91肉片| 人妻丰满熟妇av无码区蜜桃| 综合网亚| 激情丁香五月| blacked精品一区国产| 少妇综合| 黑白配性爱AV成| 69久久久久久久久久久久久| 91狠| 亚洲图片欧美在线视频| 国产中文大片资源中文字幕| 懂色Av| 美女91网| 亚洲九九视频在线观看| 欧美老妇女内射网址| av天天在线观看| 激情AV| 日本三级R| 一牛影视成人片免费| 99精品国产户外露出| 屁股久久久久久| 青青草一区二区高清无码视频| 97超碰免费生活| 玖玖资源中文字幕制服丝袜| www四虎| 色妺妺在线视频| 丁香婷婷大香蕉| 大地资源在线观看中文第二页| 久久久久久亚洲中文| ,成人免费啪啪视频| 一级做a爰片性色毛片久久| 日韩大香蕉| 青青草中文字幕| 丰满人妻一区二区三区免费| 首页亚洲国产高跟丝袜诱惑视频| 欧美亚洲高清不卡| 国模不卡一本二本三电影| 中文一区二区婷婷视频| 国产黄a三级三级三级av在线看 | 久久久穴999| 开心六月色| 91亚州欧美| 黑丝日韩av丝袜av| 九九九九九九成人| 久久有码| 欧美日韩亚洲五月天婷婷| 国产精品视频| 97精品97久久| 玖玖大干人妻| 欧洲色综合| 国产伦精品| 日韩肏逼视频| 日韩有码 一区二区三区| 亚欧毛片基地国产毛片基地| 亚洲国产精品无码AV久久久| 人人操人人色人人摸| 大香蕉www.超碰| 狠狠色噜噜狠狠狠狠狠色综合久久|