久久亚洲成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
返回資訊列表
男人的天堂2019AV| 亚洲欧美精品一区天堂久久 | 亚州,欧美在线| 三级色综合| 欧美香蕉视xxx| 综合色好色| 国产尹人在线视频免费| 日本不卡一二区| 日本岛国黄色网址| 色噜噜日韩精品| 96久久精品一二三区色欲| 欧美 亚洲 另类 综合| 亚洲无码成人精品| 歐美性天天| 国产精品美女在线一区| 久啪| 久久亚洲精品成人av| 老鸭窝日丰县女人| 91在线无码精品秘 软件| 色偷偷2020免费视频播放| 最新中文字幕在线亚洲| 午夜噜噜噜| a久久| 一本色道久久综合精品婷婷| 综合熟女| 亚洲伊人久久综合97| 久久久啊啊| 亚洲欧美高清无码| 男人天堂最新手机版在线青青草| 极品五月天噜噜| 一中国女人毛片水真多| 亚洲综合99999| 91 亚洲 欧美 日韩 国产 综合| 亚洲综合 欧美| www.夜夜| 操日韩第| 美女91在线| 国产不卡精品91| 欧州一区二区三区四区| 欧美日韩亚洲五月天婷婷| 黄色AAAAAAAAAAA大片| 精品久久久不卡一区二区| 在线A日本| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 色综合久| 日韩有码 一区二区三区| 性欧美天天| 国产亚洲精品激情| 亚洲丝袜二区在线| 久草婷婷| 久久婷婷五月天| 欧美性爱综合,免费| 成人五月天色网| 人妻在线视频| 无遮挡一级毛片视频免费的| 亚洲高清在线se| 99视频只有精品| 欧美一区二区一级岛国大片| 欧美高清色| 色综合加勒比四四季| A片 AV一级在线播放观看免费| 欧美日韩狠狠爱| 九九热五区| 在线看免费无码AV天堂的| 91综合中文字幕| 欧天美中出| 日本一级黄色电影| 丰满人妻av一区二区三区| 福利视频网站| 亚洲色图欧美色18直播在线| 国产一区二区久久| 91+欧美| www久| 操逼操逼逼操操逼91| 亚洲图片小说欧洲| 日韩78m视频| www.色婷婷| ..日韩av毛片精品久久久| 天天亚洲| 91模特在线观看| 97青娱乐超碰久久| 啊啊啊不要好疼视频| 欧美精品成人在线播放| a片久久久久久久久久久久 | 欧美亚洲第1页| 入口操逼网站| 国产麻豆一级精品视频| 先锋色眉乱伦资源| 久久丁香久草综合网| 亚洲人妻五月丁香婷婷| 国产乱码久久久| 超碰地址97| 精品国产乱码久久久久A| 国产乱码精品一区二区三区四川| 岛国片国产成人亚洲播放| 亚洲色图欧美色图另类图片| 欧美精品,四区。五区| 91欧美偷拍| 亚洲少妇色| 婷婷亚洲综合| 日本九九九九| 五月婷婷色| 亚洲中文字幕精品久久久久久直播| 人人做天天爱| 日韩强奸av| 97爱亚洲| 色综合加勒比| 日韩电影在线观看网址| 麻豆美女丝袜人妻中文| 久草在线| 又大又大又大又粗爽高潮观看| 操一对老熟妇爽上天视频| 少妇蹲下买菜露大唇0| 91超碰在线播放| 国产精品网站www| 精爱久久| 伊人一区二区三区| 亚洲色性情三级| 久久熟女人| 在线观看一卡二卡| 国产精品天美传媒| 精品久久在线区一区| 蜜臀久久99精品久久久久久久久| 久久久久久久久久久久久久久性生活视频 | 2018天天干在线视频| 手机午夜电影神马久久| 国产成人精品必看 | 婷色五月| 亚洲第一页色| 欧美在线色图| 久久久性爱视频| 国产亚洲色婷婷99精品91| 青青草视频导航官网| 99国产精品久久久久久久成人热| 日日日大屁股骚女人精品| 亚洲天堂电影网| 99re在线视频这里只有精品| 亚洲精品97p| 992大香蕉| 色噜噜国产精品视频一区二区| 欧美 亚洲| 欧在线一二区| 久操网无码在线| 国产精品熟女九色九色蜜臀| 国产精品自产拍在线观看社区| 亚洲av乱伦色图网站| 日韩啪啪视频| 日韩天堂av电影在线观看 | 日韩99神马视频片| 97欧美久久久久久久| 亚洲AV色图一区| 啪啪啪男女亚洲中文字幕99| 最新日本中文字幕| 一级啊性爱在线视频| a网站免费观看| 97网址www| 日本淫穴在线| 精品国产乱码久久久久久久| 肉动漫无遮挡h在线观看| 一级做a爰片性色毛片久久| 艹比视频国产精品| 国产欧美美女免费观看视频| 欧美日韩亚洲电影| 日韩精品人妻一区二区| 2017人人操,人人摸| 国产三级日产三级韩国三级 | 欧美精品亚洲精品日韩传电影| 欧美综合第一页| 欧美亚洲一级在线观看| 日韩成人电影AV| 欧美日韩人人精品| 超碰97首页| 欧美写真视频一区| 欧美日韩日产免费网站看| 九九aV| 亚洲熟女综合| 久久久新亚洲AV| 成人性爱美曰韩| 女人天堂AV五区在线| 国偷自 一区二区| 国产精品爱欲| 亚洲av总站| 久久在肏| 一级特级aaaa毛片免费观看| 麻豆成人av| 欧美日韩狠狠爱| 亚洲综合另类小说色区亚洲成av人片在www | 亚洲五月婷| 妇人噜噜| 亚洲欧美综合| 久青草影院| 青青草玖玖爱| 久久久久久99AV无码免费网站| 成人日本视频人妻在线| 殴洲老熟女| 亚洲国产成人精品女人久久久| 国产一区二区av综合| 欧美日韩资源在线| 男人的天堂一区| 国产精品国产拍高清AV| 日本大香蕉综合网红本杳社区| 99这里只有精品国产| 日产狠狠干| 欧美九一精品久久久熟妇| 免费久久一级毛片大黄| 青青11操操操操操操操操| 日韩无码服务区| 四虎影视永久在线免费| 97色视频在线| 极品综合| 激情露脸爱| 欧美色偷偷| 99久久婷婷| 亚州色阁| 成人激情无码在线视频| www.高清无码诱惑一区.com| 激情熟女12P| 亚洲天堂综合AV| 青青草原香蕉日本Ap| 久久久久亚洲Aⅴ无码| 啊啊啊不要好爽日韩无码一区| 91香蕉国产尤物视频| 久久五月份| julia国产在线 | 精品人妻15区| 黑丝内射一区二区三区| 白丝AV| 蜜桃视频精品一区二区| 亚洲综合影院| 伊人大香蕉在线| 91欧洲国产成人久久精品网站| 五月天婷婷成人网| 偷拍盗拍亚洲色图图片 | 久久久9999| 青青草视频这里只有精品| 欧洲精品二区| 91美女在线精品视频| 无码人妻精品酒店| 欧美一区二区情色| 欧美国产伊人久久久久| 亚洲天堂少妇| 国产亚洲在线观看| 欧美天天综合网版| 亚洲人精品久久久喷水| 九月丁香婷婷色| 亚洲综合九| 麻花豆传媒剧国产MV出差| 亚洲色资源| 91成人在线免费视频| 天天综合网亚洲综合网| 久久久久久亚洲精品不卡人乳| 成人怡红院| 亚欧美天堂在线| 人妻丰满熟妇一区二区三| 色天堂综合| 欧美性爱视频免费一区一A| 欧美色图自拍| 日本一本一区二区三区四区五区欧美日韩中文字幕 | 眼镜人妻101.com| 色情婷婷久久五月天| 韩国一级做A片免费的| 91女日逼| 91中文精品日韩欧美在线| 国产精品久久久久中文字幕| 国产suv一区二区三区6| 夜夜騷av、一區二區| 亚洲无码久久久久久久| 酒色综合网| 亚州精品丝袜-不卡成人免费| 脫衣舞一区二区三区| 五月天人妻综合| 天天流夜夜操| 国产日产精品久久快鸭的功能介绍| 午夜精品人妻二区三区| 欧美性特| 色伊人91| 清纯唯美亚洲| 亚洲综人网| 射丝袜高跟鞋99| 国产精品自在线发布| 婷婷激情丁香| 亚洲天堂情色| 亚州精人品大香蕉| 干婷婷综合网| 国内精品久久人妻性色av| 国产风韵犹存熟妇三区| 一区麻豆 高清中文字幕| 亚洲1区2区三区高清中文字幕| 91色插| 91久久久老司机| 国产欧美日韩在线观看麻豆传媒公司| 91丨豆花丨熟女| 亚洲中文字幕熟女少妇一区二区| 神马影院午夜福利久久久| 能看的av| 99久久婷婷国产综合精品草原| 日韩免费中文字幕视频| 青草精品视频一日本久久久久网站| 国产60区。| 日本综合色图| 在线人人人人人人精品超| 视频一区二区免费在线| 亚洲色图8| 精品久久九| 亚洲有薄码区日本系列中文字幕| 性色av婷婷久久一区二区点复制| 天天做日日做| 五月天婷婷在线看 | 超碰成人公开| 欧美不卡五十路| 欧美色九九| 亚洲自拍欧美色综合| 综精品久久久aaaa| 中文字幕啊啊啊在线观看视频| 亚洲乱码国产乱码精网站| 国内毛片欧美香蕉精品| 天天干18禁| 午夜福利一区二区三区四区五区色婷婷| 中文字幕丰满人妻日本| 久久久久久久久久久人妻| 99日韩| AV污污污污| 欧美五十路熟| 国产一进一出视频网站| 亚洲欧美国产中文视频| 免费AV中文网在线观看| 可免费观看的av毛片中日美韩| 91天天综合在线| 国产av色网| 骚逼自拍99| 亚av顶级裸体一区二区三区四区五区| 国产美女激情| 骚女高跟AV在线| 神马久久久久久久久久久久| 国产熟女精品区| 成人天天看站长推荐| 粘花网06av视频| 大香蕉伊人亚洲| 宅男91视频在线播放| 九色 人妻 大香蕉| 狠狠久久四虎| 欧亚乱色熟一区二区三四区| 91国产丝袜足交精品视频| 日本免费一区二| 麻豆亚洲Av成人无码一区精品| 吻戏激情性巴克| 操狠狠| 99久久无色码| 99热aaa| 97超碰资源网| 东京男人天堂| 97在线看| 国内精品a| 奇米四色影视777久久久| 欧美不卡二区| 国产精品99久久久www| a网站免费观看| 久久久精品国产亚洲伊人| 翘臀vidoes| 夜夜操天天肏| 一直超碰| 亚洲激情视频| 激情熟女12P| 在线国产福利网址导航| 欧美在线播放aaaa| 中文字幕二区日韩天堂| 中文字幕-区二区三区四区视频中国| 久久久18禁| 亚洲素人网| 成人草草视频| 97精品| 91精品久久久久五月天精品| 亚洲AV无码成人精品久久| 婷婷五月成人| 97亚洲欧美日韩| 日韩在线观看AV| 最近二区三区视频大全 | 91看黄片| 97人人模人人爽人人| 91狠| 九九自拍伦理| 男人的天堂视频精品乱在线| 日逼逼免费看| 99综合| 男人天堂日日夜夜| 东京热,男人的天堂| 亚洲av青草久久一区二区| 97在线观看播放视频| 免费精品福利在线观看| 麻豆性爱视频在线播放| 91制服丝袜| 99亚洲国产精品色一区二区三区| 午夜精品久久久久久久99蜜桃一| 大鸡吧尹人在线| 日韩一级二级三级免费看完整版国语版 | 探花一区在线| 九九英色视频| 久久国产精品一区二区| 成人性爱视频在线看| 九九综合久久| 台湾佬中文娱乐网久久久久久久久久com| 中文字幕制服诱惑| 男女真人网18| 久久久久9999妇女| 婷婷五月天激情四射| 国产无马视频| 国产精品九9| 性欧美| 99这里只有精品国产| 亚洲综合五月天| 亚州色图片在线色| а√天堂资源官网在线资源| 天天做天天爱天天爽| 精品一区二区三区四区外站 | 色噜噜狠狠色综无码久久| 国产在线综合福利网站| 色色色欧美| 亚洲网污污污污| 精品免费视频国产一区| 91爱综合| 久久欧美激情| 97人人干人人操| 免费啊啊啊| 100啪啪视频大全| 亚洲欧洲偷拍一区| 97中文综合| 综合操逼| 九九九九精品一区| 岛国1区2区3区在线观看| 日韩国语字幕| 中文字幕乱亚洲美女精品一区| 精品国产乱码久久久久久口爆网站| 天天综合香 ld视频| 国产9区| 五月天社区| 亚洲色棕合| 91操人| 黄久在线| 中文字幕精品日韩中文字幕| 91n免费处女| AV和黑人在线播放| 亚洲第91页| 国产第12页| 国产一区麻豆免费观看| 国产无吗在线播放| 97国伦国色| 欧美日韩大香蕉| 中文字幕在线观看网页| 一区二区三区免费视频入口| 色噜噜国产在线| 超碰97人妻| 久久发布国产伦子伦精品| 97干色| 超碰久久性爱| 国产91av在线播放| 日日黄色三级网站| 视频黄色国产一级| 美女网站黄页| 久久精品99| 超碰97COm中文| 丁香五月成人| 香蕉黄色一级视频| 精品中文日韩字幕视频| 操逼逼无码| 欧洲视频在线| 嗯嗯嗯嗯啊啊啊好紧好大| 大学生美女口爆| 素人美腿视频网站| 亚洲AV秘无码一区..| 色综合20p| 亚洲日韩国产欧美综合v| 久热网| 天天日少妇逼AV| aa片毛片| 91少妇通奸网站| 国产呦精品一区二区三区下载| 精品人妻久久久久一区二区三区| 亚洲色天堂日韩中| 亚洲国产精品无码AV久久久| 天天操天天看| 五月天啪啪| 男啪女色黄无遮挡免费观看| 美女黑人91神马| wwwcaobibi| 日韩有码中文字幕女同性恋| 欧美大香蕉97| 妺妺跟我一起洗澡没忍住| 国产97亚洲| 97国产天堂岛| 欧美成人性爱视频大全| 欧美色网| 999熟女精品| 久热无码| 成人一道本免费视频| 亚洲亚洲亚洲天堂天堂| 最新加勒比丝袜在线| 日本十八禁免费看污网站| 欧美天天在线| 超碰超碰欧美| 精品国产乱码久久久久久口爆网站| 猛猛干| 伊蕉97蜜桃97狠狠综合干| 欧美性爱另类综合| 国产福利电影| 无套后入双马尾| 成人A片男人的天堂| 欧美亚洲中文字幕| 襙一襙| 青草伊人网| wwe 天天干.com| 婷婷亚洲天堂| 亚洲色图欧美色图日韩色图| 九九九免费视频| 玖玖爱伊人玖玖爱| 日韩av色图综合| 丁香六月激情| 综合欧美日韩在线观看| 午夜福利一区二区影院| 久久啊啊| 97在线亚洲| 国产丰满少妇久久久精品影院| 国产 码在线成人网站| 精品国产91av一区二区三区| 久久精品| 亚洲天堂男人天堂网| 精品一区二区久久| 女生自91网站| 人妻一区二区三区| 97人妻色| 人妻久久久久久| 亚洲超碰AV| 变态乱伦伪娘灌肠一区二区| 久久超碰网| 激情综合 婷婷五月 红杏| 超碰69| 丝袜美腿校园春色| 色女综合| 亚洲中文字幕有码视频一区二区三区| 婷婷六月色| 中文字幕精品区先锋资源| 亚洲免费在线探花| 国内精品久久人妻性色av| 97日韩欧美| 91黄站| 国产白丝网站| 深夜激情| 天美传媒精品久久视频| 丁香7月婷婷| 啊啊啊好疼| 少妇色综合| 香港日本韩国人妇99www.wccm20| 国产婷婷一区| 青青草伊人久久| 亚洲国产综合久久久性感熟妇| 91亚洲人电影| 极品白嫩福利在线| 怡红院怡春院| 狠狠搞 亚洲91| 亚洲 欧美 另类 综合 偷拍| 欧美色图私拍91| 欧美一区二区日韩传媒搭讪精品| 亚洲一区二区三区麻豆传媒| 97 超碰 人人做 人人爱| 乱理日韩中文| 97日视频| 综合九九| 亚州,欧美在线| 日韩日韩日韩-国产乱码精品一区二区| 蜜桃网熟妇| 97色操| 蜜臀久久99精品久久久久久婷婷 | 日韩在线76| 欧美日韩国产传媒在线精品| 久久一区,青青青青草视频在线播放| 91黑丝少妇| 欧美久久久15P| 伊人991| 久久久噜噜噜久久人妻| 精品久操| 国产精品久久久| 天天射天天| 福利社区午夜一区二区| 国产中文字幕曰本毛片| www.zbzhongsen.com| 嗯啊不要啊在线| 97人人中文网| 中国黄色特级精品一区二区三区片| 欧美,亚洲,日韩,v,天堂,手机在线观看| 日韩专区久久久| 青青草公开在线免费不卡视频| 俞拍久久国应视频| 天堂69亚洲精品中文字| 3D污黄视频在线观看| 色婷网| av在线人气| 91少妇通奸网站| 91综合网在线| 中文字幕精品一区欧美| 色香色欲天天综合网天天来吧| 男人兔费天堂| 96国产污污污丝袜| 国产精品久久泡妞网站| 亚洲AV无码乱码| 欧美精品久久久久久久久88| 99国产精品人妻人伦| 亚州 综合 色图| 国产熟女一区二区| 少妇一区二区三区高速| 99热自拍| 亚洲第91页| 色妺妺AⅤ| 噜噜噜在线视频| 精品区9| 9长久久精品| 97欧美在线| 国产极品99热在线播放69| 欧美精品第3页| 嗯嗯啊好大| 91九色丨风韵犹存| 日本色色色视频| 有码免费观看| 亚洲丨在线| 免费无码国产精品v片在线观看| 久久婷婷视频| 色综合99999| 男女一进一出视频久久| 国产男女无套视频免费观看| 操操操操网黑人| 国产97色在线| 亚州操逼网| 欧美中字二区| 激情综合网激情综合| 91精品丝袜在线观看| 精品亚洲俞拍视频一区| 亚洲无 码A片在线观看麻豆| 人人看人人摸人人色| 日韩av色图综合| 爱爱动态60秒| 超碰国产在线| 激情婷婷丁香网| 亚洲第一精品在线视频| 少妇一区二区三区在线观看| 99av| 91啪啪| 丰满少妇精品一区二区| 欧美色视频在线| 色女综合| 一中国女人毛片水真多| 亚洲欧美精品91| 人妻喷水| 亚洲乱码国产乱码精网站| 精品国产一区二区三区久久久蜜臀 | 中文字幕91综合| 96精品久久| 婷婷五月天成人网| 极品少妇久久久久| 欧美成人黄网色网站| 是还免费视频1727我| 天天草夜夜草高潮片| 97色色色综合网站| 综合伊人激情| 久插综合| 欧美激情性久久久久久| 四季AV综合网址| 欧美一级黄色免费专区| 国产极品999| 日韩视频中文字幕| 有码免费观看| A级片日韩欧美国产欧美视频精选观看 | 色天天野狼综合社区| 黄色性爱网网| 后入式福利| 爱我干综合| 久久国产精品一区二区| 日本在线一二| 蜜桃狠狠色伊人亚洲综合网站| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 高清不卡国产| 成人性爱免费播放| 青青草精品| 一本大道不卡一二三区| 91黑丝操| 操一区| 酒色综合网| 啊a一区在线| yw尤物av无码点击进入麻豆| 少妇69中文| 思思热国产在线视频| 97视频在线视频| 一区在线国产播放| 密臀视频三区免费网站| 精品大久久| 操操逼视频| 91视频综合在线| 久久九九网| 啊啊啊想要| 69人妻精品丰满熟女区| 久热香蕉精品在线视频| 欧美91网| 九九九久千久久激情蜜桃在线看 | 久久久久久久久久久久97| 欧亚综合一卡二卡中文字幕| a片在线播放| 加勒比少妇AV婷婷六月天超碰超碰| 亚洲码专区| 欧美亚洲综合高清在线| SS久久| 国产精品岛国片在线观看| 网友自拍第1页| 久草色悠悠在线视频| 国产色呦呦| 精品人妻一区二区免费蜜桃视频| 亚洲视频,小说| 日韩不卡a级视频专区| 亚洲加勒比| 男人把坤坤插入女人的下体 | 97超级久久强资源| 乱伦一区二区三区‘| 青青久日| 人人摸人人干| 日本午夜久久电影| 久久这里只精品免费福利| 屁股久久久久久久久| 丰满欧美少妇| 三级三级三级a级全黄三| 亚洲天堂资源网| 亚洲综合九| 69精品少妇一区二区三区蜜桃| 国产亚洲精品无码三区| 9久热这里只有精品| 精品小视频在线| 婷婷成人五月天| 亚洲国产欧美另类自拍| 人妻少妇精品视频一区二区三区| 欧美中文狠| 色蜜AV| 久操视频资源站公开| 精品久久久久久中文字幕视频免费| 2017超碰| 婷婷激情啪啪| 亚洲无码久久久久久久| 不卡av免费在线网址| 人人操超碰在线| 天操老女人| 丰满人妻一区二区三区四| 操逼逼无码| 人妻一二三区| 亚洲视频中文一区| 韩日欧亚a级| 九九综合网| 人妻出轨一区二区三区| 99热这里只有精品99| 亚洲精品官网在线观看| 亚洲自拍偷拍视频在线| 国产91 丝袜在线播放| 人妻激情在线视频| 五月天久久婷婷亚洲 | 成人性生活高清视频在线播放| 久久人妻无码毛片A片麻豆| 艾草av| 猛交交| 亚洲av乱伦色图网站| 影音先锋视频在线| 91久久九九精品国产综合| 亚洲日韩美女丝袜美腿人妻视频| julia ann久久| 九九九九九九九九九九精品视频| 男人的天堂在线2| 人人色97| 久久性爱视频| 久久五月天婷婷| 日韩性爱高清免费视频| 333kkkk·亚洲com久久| 久久久久免费看少妇A片特黄| 天天看精品动漫视频一区| 男人天堂资源| 五十路三区在线| 不卡视频一区蜜桃视频| 99超碰碰| 亚洲黄色电影| 大粗鳼巴久久久久| 综合亚州欧美| 色亚洲欧美| 日韩欧美久久婷婷网站| 精品久久久久成人码免| 果冻传媒一区二区三区| 中文日韩欧美熟| 很狠操| 国产精品97超碰| 久草老司机| 热久久无毒不卡| 欧美综合在线第一页| 天天日骚逼熟女| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲AV秘 精品久久老牛影视| 久久国产乱子伦精品免费女人| 黄色电影在线播放综合网站| 操逼免费视频无码国产| 日韩欧美aⅴ综合网站发布| 亚洲国产成人福利在线观看| 日本欧美一区二区三区免费| 郑州宾馆老熟女露脸啪啪| 思思性爱| 99色在线观看| 小草三级久久观看| 欧美日韩人人早| 伊人aaa| 欧美另类天堂| 欧美性暴力猛交| 欧美综合天天| 亚洲性爱电影| aaaa黄片| 亚洲欧美大| 亚洲色图加勒比| 老司机午夜福利视频一区二区| 夜夜免费视频| 91精品导航| 2020久久免费视频| 四虎国产精品永久地址入口| 国产精品无码AV网站| 久热无码| 一区麻豆 高清中文字幕| 超碰这里只有精品| 久9久9久9久9久9久9| 干少妇视频| 伊人久久综合影院精品久久久| 亚洲精品国产熟女久久久久久| 极品白嫩美女白浆成人福利在线看| 日本综合久久| 欧美熟妇乱码在线一区| 亚洲综合69| 天天操妹子| 久久久一区二区三区三州| 国产午夜无码片在线观看影视 | 啪啪免费| 亚洲熟妇自偷自拍另欧美| 国产60区。| 天天碰久久入| 久久久久亚洲熟妇熟女| 亚洲天堂7777| 欧洲无码一区二区| 白丝在线一区| 91九九| 狠狠色噜噜狠狠狠狠狠色综合久久| 色婷婷激情| 欧美在线l亚洲| 欧美色另类| 三级色综合| 3571色综合一区二区二区| 试看福利| 久久久久久久97| 亚洲色图日韩精品| 暖暖精品二区三区观看| 福利大香蕉| 欧美日韩插逼视频| 五月天色图| 白 大 人妻 区 在线| 久久久久久久| 温婉少妇玩3p| av操操不卡| 91色亚洲| 丁香六月东京热| 91精品人妻一区二区三区蜜桃臀| 日韩BBN| 色在线亚洲视频www| 午夜精品久久久久久久男人的天堂| 美日韩一二三区| 天天色图| 五月天色综合| 神马九九九| 永久免费av无码网站国产app | 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 97久久久精品| 日韩欧美加勒比| 国产久久久久久久久一区二区| 亚洲自拍一区夜夜操| 久久一区二区三区四区五区| 伊人久久大香大香线蕉中文| 99热 按摩 日韩| 欧美色www亚洲国产阿娇要播| 婷婷久久五月| 蜜桃狠狠色伊人亚洲综合| 亚洲AV成人无码一二三久久| 精品一区二区三区蜜桃臀赵总| 久久噜噜噜精品国产亚洲综合| 天天色天天干天天爱| 99爱久久视频频| 视频不卡中文字幕| 91丨九色丨大屁股| 久久风骚城市| 久久久亚洲欧美综合| 青青草白白色| 亚洲一区中文精品| 久久手机好看网站| 久久久四区| 婷婷五月天伊人| 欧美人妖内射| 国产免费一区在线观看| 骚货 中文字幕 av| 久久精品国产亚洲AV无码电影| 最新av在线| 天天干天天燥| 国产成自自拍在线观看| 欧美操人视频| 日本不卡码黄色| 日本孕妇一区二区视频操逼免费看| 婷婷四五区| 97爱亚洲| 97免费在线视频在线观看| 女生91网站| 国产在线76页| 亚洲婷婷丁香在线| 91视频观看网站| 国产性爱强奸乱伦大全| 色哟哟国产精品免费网址| 久久精品熟妇丰满人妻99| 丰满人妻一区二区三区免费,| 色97干| oumeisetu综合| 91美女视频| 欧色综合| 日韩中文字幕国产| 少妇专区一二三四五| 芊芊操逼视频无码| 亚洲色图第四色| 丰满人妻大屁一区二区| 久久久久久久久9| 激情网五月天| 超碰欧美| 激情亚洲天堂| 中文字幕亚洲热播人妻| 欧美国产操逼| 综合网色| 亚洲综合九九| 欧美 传媒 麻豆 日韩 偷拍| 欧美综合娱乐久久| 免费99精品国产自在在线| 亚洲中文字幕精品久久久久久直播| 亚洲欧美骚| 蜜桃精品一区二区三区ww| 无码精品久久| 日本天天干天天日一区| 色香色欲天天综合网天天来吧| 久久久亚洲精品中文字幕人妻| 偷拍欧美综合| 久久精品国产99精品亚洲蜜...| 日韩中文字幕宗合在线| 超碰人人在线| 日韩日本欧美在线观看| 欧美日韩天堂| 天天干天天插| AV麻豆免费一区| 丰满人妻一区二区中文| 开心五月天激情网| se吧提供91精品国产91久久久久久| 欧美青青视频| 九九人人操| 91大神精品长腿在线观看网站| 久久宗合亚洲| 天天爱天天韩国日本牛牛牛牛| 麻豆国产精品午夜视频| 啊啊啊啊啊好舒服视频| 五月天综合在线| 精品人妻1区| 欧洲亚洲人妻无码高清久久三区四区| 美女黄页| 久久久久国产精品喷潮免费观看臀| 9久热这里只有精品| 亚洲限制级| 五月婷婷综合在线| 日本欧美韩国国产在线| 高精欧美色| 久久久久久波多野吉衣高潮| 综合网色| 国产精品亚洲无码| 欧洲人妻视频| 伊人网在线视频| 综合色图,成人综合网| 操逼操逼逼操操逼91 | 久久久九九| 亚洲成人一二三区| 日韩黄色成人性爱| 无码直播久久久| 伊人九九九| 色五月激情AV在线| 青青草原综合久久大伊人精品| 日韩一级片在线看| 国产精品探花色| 欧美AB在线| 夜夜嗨免费视频| 91夜夜蜜桃臀1区2区3区| 99久热| 久久99午夜精品一区人妻| 黄色成人网久久久久久| 91中出视频| 嫩草 我啊~嗯~在线| 美女的肌被草喷水视频| 长长久久免费视频| 日韩丝袜二区| 成人一级性爱| 高清国产精品福利网站| 女生看匆91网站| 亚洲图片在线| 97精品视频免费| 天综合中文| 91一起操| 国产99久久99热这里只有精品15 | 亚洲国产一级黄色视频| 久久久555| 国产又大又粗又长视频| 熟女网站最新| 青青草黑寡妇男人天堂| 中文字暮97| 超碰在线91| 久久精品性| 国产第25页在线观看| 97人人夜夜精品视频| 国产午夜精品理论片一二三区区| 少妇熟女一区二区三区| 天天操天天干美女网址导航| 日产123区精品免费观看| 亚洲限制级| 天天日天天射天天干| 三级片大波波| 国产四虎在线| 欧美熟爽综合| 久久久久精| 天美麻豆精品视频99| 开心激情站| 亚洲va综合va国产va中文| 9久久精品| 狠狠色色| 五月激情在线| 天天天天干| 色婷五月天| 天天流夜夜操| 素人播放一区| 大香蕉碰| 一区黄二区黄| 9久久9综合| 亚洲 se图 欧美电影| 超碰色中文| 啊啊啊啊啊好大好舒服想要| 亚洲综合影片| 欧美在线55555| 欧美久久人妻少妇一区二区| 97bbn| 毛片麻豆91糖心精品毛情片| 亚洲AV在线资源| 少妇熟女视频一区二区三区| 欧美三级偷拍| 久久97精品久久久久久久不卡| 97天天摸天天爽| 17c嫩草51久久91嫩草| 超碰97亚洲| 中日无幕一二三四区| AV无码久久久精品| 亚洲国产青青| 日韩精品人妻中文字幕久久久| 国产丰满熟夫69mpp| 夜夜综合| 欧美在线综合| 中文字幕一区二区无码成人| 美女91AV| 亚洲一区二区三区在线激情| 三级精品三级在线观看| 久草国产在线视频| 国产 三级自拍| 亚洲 日本 一 二 三| 色婷婷aV一区二区三区麻豆综合| 青青草精品| 国产精品3| 九九操久久国产免费视频| 97干97色| 欧美日韩色综合网| 精品人妻美妇91job| 一二三四免费视频| 青春草A| 大香交| 精品91日日夜夜超清资源| 欧美精品23| 两性综合网| 95精品在线| 校园春色中文字幕AV| 欧美黑人与女人91| 亚洲中文字幕精品一区| 国产精品久久久久亚洲av| 狠狠综合网| 蜜桃久久久久久久| 十八禁电影伊人网| 日韩一级二级三级免费看完整版 | 欧美黄页在线| av72网| 久久αⅴ| 成人av影院在线观看| 色啪网| 高跟伊人julia ann| 97色欧洲| 丰满美女一级毛片在线播放| 激情接吻视频久久久久久| 天堂九九九九九九九九九| #NAME?| 欧美综合网| 91在线精品| 殴美日韩m| 婷婷10月天青娱乐| heyZO天然素人无码AⅤ专区| 国产热RE99久久6国产精品首| 日本一二区免费 | 亚欧美综合网| 草草影院最新网址| 亚洲色偷偷色噜噜狠狠99网| 一区二区三区色综合| 极品国产内射| 日韩AV一起草| 日韩99神马视频播放| 少妇熟女一区二区三区| 超碰在线香蕉| 97亚洲一区| 青青草色AV| 91艹B视频| 四虎AV无码| 992视频一区| 男女激情黄色网址| 免费看污网站| 欧美激情精品| 人妻中文字幕日韩电影| 大吊色| 91亚州| 日韩成人免费电影| 黄色十八禁| 国产强奸91| 最新一二三区视频| 国产精品成人午夜福利| 把腿张开老子CAO烂你| 五十路熟女工口| 一区二区乱码福利| 97人妻碰碰中文无码久热丝袜| 九九av| 欧美偷拍区| 操穴国产| 超碰色老头| 超碰人人在线| 免看60秒涩涩视频| 岛国大片在线观看网站入口| 日韩人妻无码专区| 日韩素人无码一区二区三区三州| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 免费簧片在线观看| 北京美女一区二区| 国产主播福利| 久久精彩视频9| 四虎免费在线观看| 99re视频在线观看这里只有精品| 精品少妇一区二区三区| 久久肏大逼| 中文字幕精品亚洲熟女| 日韩欧美中文| 色妇91|