亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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
返回資訊列表
一级A片女人高潮叫床| 深夜激情| 色区久久| 少妇xx精品| 成人性爱免费播放| 青青草依人大香蕉| 伦理弟一页| 中文字幕日韩国产传媒欧美精品| 日韩精品视频在线观看一卡二卡| 色欲Av人妻精品一区二| 天天搞欧美| 久久久久精| 全球成人中文在线| 综合影视国产无码| 国产欧美精选激情视频| 亚洲欧洲中文日韩女优乱码| 日韩福利综合一区| 一本久道久久综合狠狠爱一密臀精| 校园春色欧美色图| 伊人国产av| 欧美激情黑人| 日韩在线97| 又黄又爽在线观看视频| 久操热线| 国产AV高清AV无码| 国产精品久久99日日| 嗯嗯不要 视频| 日本丝袜美腿人妻九九| 欧美熟女少妇| 亚州再线| 少妇与黑人高潮在线| 99色在线| 成人黑料社久久| 天天操天天射天天日| 国产又猛又粗又爽又黄| 亚洲AV无码乱码| 91高清欧美| 国产精品天干天干综合网麻豆| 久都青青视频| 色五月天AV| 啊啊啊好爽快点啊啊啊嗯嗯| 午夜福利免费精品视频| 亚洲欧美不卡线| 伊人久久综合影院| 亚洲欧美电影| 青青伊人久久| 综合五月婷婷| 午夜亚洲WWW湿好大| 大香蕉综合久久| 97爱爱爱综合| 九九人妻| 超碰碰小说97| 久久色一区二区| 97香焦色区| 丝袜美腿欧美| 亚洲。日韩。欧美| 国产一区麻豆免费观看| 天堂精品小草| 欧美色综合图片| 97资源站久久| 中文字幕熟女人妻丝袜| 久久久97| 日本www操操操| 性开放中文AV高清无码免费看| 午夜视频久久久久一区| 中文字幕日韩人妻视频一区二区三区 | 免费啪啪av| 免费观看性欧美一级| 亚洲欧洲日本精品中文a∨| 综合伊人网12色| 吖在线不卡一区二区国产剧情| 18啪啪手机免费性爱| 自拍偷拍第26| 97人人模人人爽人人| 欧美视频边做饭边橾| 久久亚洲AV成人精品无码| 国产偷拍自拍在线视频| 中亚av| 东京太热久久久| 成人性爱免费播放| 免费看黄视频亚洲网站| 2020视频1区2区3区| 东北夫妻性偷拍| 极品少妇99| 国产热av| 成人自拍三级在线观看| 国产一区二区三区精品观看啪| 六月丁香网| 好看的91视频| 啊啊啊好大好深| 亚洲日韩人妻中文字幕一区| 日本精品一区二区中文字幕| 96免费视频在线| 国产精品久久久久久夜夜夜夜| 欧美96交| 国产一级特黄大片处女| 国产精品色色| 嗯嗯不要 视频| 日韩亚洲精品一区二区| 999狠狠综合| 伊人色综合欧美| 超碰99在线| 色综合久久av| 亚洲 se图 欧美电影| 99re这里只有精品2| 欧美成人一级麻豆| 色色激情| 天天综合欧美黑人| 亚洲视频一二区| 蜜屁av| 久久久久亚洲?V片无码V| 熟妇熟女一区二三区| 就去色综合| 亚洲精品尤物yw在线影院| 久久久一区二区三区四曲免费听| 97欧美日韩精品| 国产精品美女在线一区| 国产精品91ai| 日韩操p| 东北女人av| 久久嫩草| 99色在线观看| 亚洲资源吧| 日本欧美国内在线| 蜜臀99久久精品| 国产操操日韩三级黄| 青青操97| 婷婷超| 在线观看AV不卡| 精品无av| 亚洲精品丝袜-不卡成人免费……| 99热97| 91性网| 91日本在线观看| chaopen97久久| 综合五月婷婷亚洲一区| 久久久久久久六六 | 日韩操p| 国产怡红院| 91丨人妻丨国产丨丝袜| 超碰超碰95| 啊啊啊啊啊好多水| 区一二区日韩亚洲乱码av电影| 91人妻少妇| 乱精品一区字幕二区| 啪啪啪男女亚洲中文字幕99| 超碰久热| 老司机福利青青草| 色哟哟-国产专区| a片久久久久久久久久久久| 91粉芽高清在线一区二区| 天天干夜夜鈤| 色婷婷综合久久久久中文一区二区| 中文 人妻 制服| 日韩啪啪啪啪啪| 男人精品区| 亚洲欧洲视频小说在线观看| 四虎国产精品永久入口| 久久久一区二区| 天天做天天爱天天高潮| 尤物网站91| 99re9这里只有精品| 九九精品99| 噜噜噜亚洲精品| 精品久久人妻成人网| 99热这里都是精品| 刺激精品视频| 视频分类 国内精品| 丝袜美腿91| 99精品免费| 色在线视频导航| 色爱欲亚洲| 国产高清MV操逼视频| 一区超碰一区| 麻豆久久久久久久久丝袜 | 后入日本1234| 丝袜六区| 国内自拍 日韩激情 99| 国产高清自拍| 肉丝无码中文高清| 少妇蜜汁| 欧美综合骚| 午夜一区二区三区国产| 网友自拍第1页| 一直超碰| av午夜玫瑰| 国产传媒操逼视频| 黑人性欧美| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久久亚洲熟妇资源| 日韩女优中文字幕| 欧美人人AAA| 国产精品爆乳懂色蜜乳| 久久婷婷一区| 精彩久久中文| 高潮综合网| 中文字幕在线观看丝袜| 日本道久久综合色色| 国产高清吃奶免费视频网站| 久久久蜜桃臀无码视频| 熟女熟妇一区二区三区视频| 久久九操在线观看| 日韩精品人妻中文字幕久久久| 性爱av在线免费观看| 国产精品内射婷婷一级二| 中文字幕欧洲有码| 欧美高潮| 亚洲好色人妻| 亚洲精品1区| 亚洲综合113页| 久久久亚洲精品电影免费看| 爱欲AV| 日韩熟女精品无码专区一区二区| 99re这里只有精品中心播放| 日韩久久三区| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 99国产在线绯色一区| 一本久道久久综合狠狠爱| 久久av成人无码免费| 日本操逼视频不卡直接放| 男人天堂2017| 日韩成年人性爱视频| 天堂性色| 日本1区2区不卡视频| 2024年最新色情网站在线观看| 怡红院久久老司机| 色路综合| 伦激情人妻另类人妻| 26UUU欧美日本| 天天澡天天爽日日AV| 美女啊啊啊啊啊啊| 试看60秒 爽| 高清国产精品福利网站| 色婷婷六月丁香七月婷婷| 成人无码在线视频网站| 欧美1区二区三区公司| 夜夜草天天| 国产在线视频二区| av片在线观看免费播放| 久久五月丁香| 日本精品人妻少妇一区二区| 二三四区精品| 91少妇通奸网站| 蜜桃臀久久| 色网亚洲人| 欧成人精品H无码| 3PAV乱伦视频| 久久久久久国产无码精品| 午夜福利免费福利视频| 人人天天欧洲| 久久宗合亚洲| 亚洲学生妹高清av| 天天色黄色影院天天操| 国产精品亚洲免费| 伊人五月天青青草婷婷| 久偷拍欧美日韩三区| 91亚.色| 人妻丝袜日本| 国产精品人妻熟女aⅴ| 在线视频日韩欧美国产| 久久久久骚| 伊人久久蜜月| 殴美性天天| 日韩美女啪啪一区| 超碰碰碰碰| 91女人的网站| 人妻少妇色综合| 99re28在线观看| 青青草精品| 青草伊人久久| 台湾一区国产高清在线| 超碰碰碰碰| 欧美性天天影视| 天天α片| 九九热九九| 影音先锋日本一区二区| 美女国产一区二区久久| 丁香激情五月天| 91AV天美在线视频| 三级日本一区二区三区| 亚洲国产高清福利视频| 偷窥自拍亚洲色图| 综合网97| 欧美视频一| 国产精品自拍欧美在线| 好看的91视频| 欧美狠狠干| 免费看久久久性性| 欧美在线色| 国产乱伦亚洲色图高清无码| 91女网站| 人妻色偷色噜| 欧美成人色| 麻豆国产精品午夜视频| 久7色| 深夜激情| 亚洲熟女av日韩熟女| 亚洲日韩青青草色月| 久热热| 毛片电影一区二区三区| 91网站18+| 天天视频黄网站| 亚州综合色图| WWW啪啪的com| 国产丰满少妇久久久精品影院| 一本色道久久综合精品婷婷| 91Chinese在线| 肉丝中文无码高清| 天堂8在线新版官网| 97超碰精品成| 婷婷五月天激情网| 夜夜骑日日| 久草综合视频| 强歼乱伦资源网| 日韩精品9999| 操美女高潮抽搐白浆| 天天天操天天天爱| 大香蕉久久| 91bbbbbb| 人妻啊啊人妻啊| 亚洲欧美黄| 日本一区三级韩国| 日韩免费高清大片在线| 九九九九九九成人| 无码乱人伦中文视频| 综合网亚洲1| 静品嫩模一区二区| 男人的天堂va| 欧美大香蕉97| 午夜精品探花| 夜夜躁狠狠躁日日躁av| 色哟哟-国产专区| 国产成年精品高清在线观看91| 操少妞在线视频| 国产亚洲精品美女久久久m| 91丝袜激情在线| 天天干天天狼在线视频| 欧美劲爆第一页| 午夜久久一区二区无码中出| 人人搞人人插人人操| 91嫩草欧美| 国产美女mm131爽爽爽爽| 亚洲玖玖爱| 亚洲婷婷五月天| 中文字幕日韩精品久久| 久久精品国产97欧美精品亚洲| 超碰免费在线| 亚洲国产成人精品无码专区| 成人久久久| 蘋果手機免費看成人Av| 99热精品在线| 你想操日本小逼吗| 94色色电影网| 欧美日韩精品久久| 天天干人人乐| 超碰综合色| 中日高清无码操逼视频| AV和黑人在线播放| 偷拍精品一区二区三区| 青青草好吊| 国产suv精品一区二区四区999| 亚洲AV无码翔田千里网站| 91丝袜人妻| 97内射偷拍| 无套内射性感少妇视频| 99re国产精品视频| 亚洲高清视频在线免费观看| 大香交| 色哟哟-国产专区| 亚洲无码色| 久久三| 成人AV超碰免费在线| 天天欲望网| 伊人亚洲综合| 91nbbbbbb| 99操| 久草色悠悠在线视频| 大香蕉综合网| 偷拍欧美综合| 婷婷香蕉| 欧美十八禁在线看| 日本中文字幕在线视频| 太久视频| 九月激情婷婷| 精品久久久久av影院| 国产91av在线播放| 国产精品人妻无码久久久老鸭窝 | 亚洲精品日日夜夜52| 自拍偷拍第26| 欧美成人A√在线一区二区| 91熟女丨老女人| 91M一社| 亚洲九九视频| 992大香蕉| 怡红院久久老司机| 国语精品对白| 懂色av一区二区三区天美传媒| 色吊丝 日日骚 清纯唯美| 91精品少妇搡搡搡| 日韩本不卡视频在线观看| 伊人久日| 久久精品国产亚洲av水密被窝| 男人天堂最新手机版在线青青草| 日本黄色天堂| 激情文学亚洲| 亚洲九九视频| 欧美96交| 91热热色| 97亚洲自在精品在线观看| 天天影视综合色| 久热久操| 天美欧美国产| 啊灬快c我灬啊灬用力灬啊灬-国产精品性做久久久久久-成人AV | 91呆哥人妻| 国产AV超爽| www.久久| 大香蕉伊人网WWWn0n| 国产无遮挡| 高跟伊人julia ann| 国产青青美女玩逼视频| 91n.欧美| 牛牛AV人人夜夜澡人人爽| 成人av毛片在线观看| 人人操人人摸人人看人人插| 熟女人妇一区二区三区| 一区二区三区精品黑丝白丝酒店对鸡| 91久久精品国产| 黑人中出21连凳花野真衣| 亚洲欧洲日产国产综合网| 视频二区熟女人妻| 爱爱啊啊啊| 人人摸.人人色| 天天日天天干天天整| 亚欧精品久久久久久久久久久| 欧美三级一级| 精品无码一区二区人妻久久蜜桃| 欧美宗合网| 中国AV美女| 亚洲一区在线观看欧洲 | 99抽插| 99这里都是精品| 98超碰欧美| 九九视频黄色片| 国产欧美日韩在线不卡第一页| 韩国轻伦国内自拍一区| 青操影院| 亚洲?V无码专区在线电影| 97最新在线播放视频| 1区2区3区在线视频| 性爱AV天堂| 91人人操| 五月综合久久| 啊啊啊啊啊啊啊在线| 天天噜| 欧美视频中文字幕区| 亚洲熟妇丝袜在线观看| 天天综合网~91| 97精品熟女少妇一区| 婷婷五月天_亚洲小说欧美激情另类_精品久久国产字幕 | av天堂电影网| 国产福利小视频高清在线观看| 91蜜臀在线久久久久| 老熟妇一区二区三区| 欧美日韩大黄片| www.婷婷| 日本熟妇人妻一区二区三区| 亚洲成熟国产精品美女| 欧美91网站| 国产午夜福利专区综合| 国产精品交换一区二区| 综合少妇网| 特级丰满少妇一级AAAA爱毛片| 亚洲国产综合久久天堂| 男人天堂网址| 久久婷婷一区二| 97色操| 婷婷亚洲五月***久久| 久久99草| 先锋激情∨在线视频播放| 91色爽欧美| 四虎午夜影院| 麻豆AV短剧| 国产午夜精品理论片一二三区区| 超碰97欧美在线| 91丝袜在线播放| 国产亚洲色婷婷久久99精品91| 在线小说视频一区| 少妇干B| 吊色| 97人人草| 国产精品午夜AV完会免费 | 高树玛利亚无码流出| 美女久久久久久久久久久| 国产亚洲精品自在线亚洲情侣| 亚洲影视第一页| 精品区国产区一区二区三区| 国产AV线| 亚洲九九夜夜| 人妻一区二区三区熟女| 久草视频制服诱惑| 国内偷自视频区视频综合 | 欧美丝袜中文字幕07在线| 九九aV| 97视频免费播放| 男人的天堂在线有码| 亚洲加勒比久久日本道| 在线综合 亚洲 欧美中文字幕| 思思视频免费看网站| 加勒比av中文| 亚洲无码99| 好色综合| 干B| 99精彩视频| 国产精品白丝| 精品久久九| 久/久精品99看9| 精品人妻少妇| 久久久久久性爱片| 亚洲无码精品AV久久久| 97在线欧洲| 亚洲色欲天天天堂色欲网女| 男人天堂无码| 国产极品999| 盗摄女人妻在线| 丝袜 中出 制服 人妻 美腿 中文字幕| 欧美加勒比| 久久亚洲天天做| 亚洲一区二区中文字幕| 激情文学88| 亚洲熟女偷拍在线观看| 一本一道人妻久久一区二区三区 | 天天日天天舔东京热 | 久久少妇人妻| 岛国小电影| 啪一啪免费视频| 夜夜骑夜夜操| 青青草在线视频美女| 国产自产91区13区| 亚洲精品亚洲人成人网| 久久久久亚洲av综合波多野制衣| 亚洲天堂资源网| 亚洲 自拍偷拍 欧美| 国产精品白丝AV| 久久精品国产99国产精品亚洲| 久久9视频| 99这里只有精品国产| 东京热av影院| 五十路成人在线视频二区三区| 人妻天天夜夜爽一区二区| 丝袜美腿制服人妻二区中文字幕 | 欧美性夜| 久久久精品九| 久噜噜| 操人妻逼91| 男人的天堂亚洲| 久久久夜夜嗨免费视频| 国产人妖视频一区在线观看| 欧美一级黄色免费专区| 亚洲毛片基地专区| 青青草中文字幕| 国产嫩草精品A88AV| 中文字幕女同在线| 欧美中文狠| 国产精品熟女AV中文字幕在线播放| 五月丁香综合啪啪| 超碰成人国产| 亚洲AV无码国产精品久久久久 | 精品无码欧美三级| 久久久久久久| 欧美天堂在线| 好吊色综合| 男人天堂新| 奶水 人妻 哺乳 在线| 国产精品对白自产拍| 国产精品3| 国产情色第一第二页在线观看| 性性久久| 99热18这里只有精品| 91在线/欧洲| 在线情色电影 91大| 久久亚洲人妻| 日韩中文字幕宗合在线| 人妻素股| 人妻熟女一区二区在线视频| 亚洲毛片久久| 91香蕉国产尤物视频| 91另类| 日本αv| 69少妇一区二区| 国内毛片婷婷六月色| 亚洲暴力强奸AV| 亚洲精品精品一区二区| 啪啪啪大香蕉| 九九九午夜| 亚洲一区二区 麻豆传媒| 色爽——AV| 夜夜国自区| 91老熟女视频| 麻花豆传媒剧国产MV出差| 亚洲高清无码AAA久久久精品| 深夜激情无码| 黄色网址久久精品欧美喷水| 91黑丝少妇| 五毛骚逼极品美女怕怕| 婷婷国产精品一区二区| 亚洲日韩电影| 人妻 丝袜美腿 中文字幕| 大色综合网| 狠狠久久亚洲欧美专区| 亚洲精品天天影视综合网| 亚洲视频二区| 久久久久久九九九| 岛国网址国产 | 天天内射| 久久内射| 可能人人看人人摸| 欧美1727免费观看视频| 性色av一区二区| 国产精品久久久久久久久久久久久久| 免费视频在线一区二区不卡| 国产精品成人在线| 91骚妇| 香蕉久久国产AV一区二区| 成人影 天天操 亚洲| 亚洲九九爱| 麻豆天美91| 在线看片国产精品每日更新| 日韩pv中文| 无码精品啪啪啪一区二区三区三州| 我要色综合网| 日韩欧美字幕亚洲一区二区| 在线综合 亚洲 欧美中文字幕| 狠狠躁久久躁| 国产一区二区精品久久99| 91人妻超碰| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产亚卅97| 啊啊啊啊嗯嗯在线久久久| 三级特黄60分钟播放| 亚洲 图片 综合91| 九九九九热只有精品| 视频国产精品未满十八禁止在线观看| 男人的天堂2018东京热啪啪啪| 日韩欧美中文字亚洲慕| 亚洲一区二区三区不卡国产欧美| 玖玖97综合 | 色综合超碰超| 国产探花日韩援交| 清纯唯美激情四射| 欧美日韩97| 99热亚洲| 99re视频在线播放青草| 婷婷久久五月| 久久精品电影| 亚洲最大成人a毛毛片| 青青草啪啪网| 成人免费视瓶| 午夜啊啊啊| 欧美成年人性爱视频免费观看| 天天综合91在线| 亚洲高清色综合| 啪啪啪综合网| 免费在线视频97| 这里都是精品在线观看| 2019亚洲男人天堂| 欧美日韩国产高清在线一二三区| 天天看特黄的免费网站| 激情 欧美 亚洲 小说| 丝袜性亚洲| 四虎国产精品永久在线囯在线| 欧洲综合视频| 青青操网| 九九九九九九九九九五码| 国产精品99精品视频网站| 91jk色拍| xxx0国产在线播放| 色偷偷人人玩人人舔人人操人人摸人人爽 | 97精品视频| 宅男午夜在线视频| 被男人吃奶很爽的毛片| 青青草男人天堂| 国产色精品午夜大片| 久久天天躁日日躁狠狠躁| 好色综合| 一区二区视频你懂的| 鸡巴插逼视频| 97欧美日韩| 欧美色图私拍91| 精品成人亚洲午夜电影| 欧美日韩国产色五月综合在线| 在线99热| 精品久久无码午夜福利| 奇米狠999| 夜夜嗨一区| 97 亚洲 日韩 欧美 在线| 99e久久国产精品| 欧美人妻一区二区| 国产suv精品一区二区四区999| 在线观看不卡一区二区三区| 亚洲天天精品| 亚洲精品丝袜-不卡成人免费……| 亚洲不卡三级手机播放| 欧洲亚洲人人爽爽视频| 成人夜夜爽| 先锋色眉乱伦资源| 天天综合青苹果| 伊人一区二区三区| 69精品人人人人| 一区二区免费电影久久| 中文字幕日韩情色| 97爱欧美| 婷婷操逼| 国产女人和拘做爰视频| 欧美 色 亚洲| 日韩美女,国产传媒,视频一区| 精品国产肉丝袜在线拍国语| 呦呦影院| 蜜臀久久久99久久久久 | 超碰日本97美女人妻人人玩人人爱| 91搞逼视频| 亚洲综合色图欧美| 熟女人妻一区二区三区| 五月天九九日国产精品一区二区三区| 欧美啪啪女女| 亚洲一区日韩精品中文字幕| 熟妇高潮二区三区| 久久e6只有精品| 福利在线黄片| 黄色免费一级在线毛片| 好色美女九七第一页| 高树玛利亚无码流出| 中文字幕成人| 日韩欧美中文日韩欧美色| 明星性猛交ⅹxxx乱大交| 久久久少妇诱惑精品视频| 超碰人妻久久人妻中文97| 国产成人综合网| 久久三| 深夜激情 | 亚洲高潮少妇| 日韩丝袜二区| 懂色av色欲av蜜臀av| 国产精品视频内谢女人| 啊啊啊好大好深| 久操影视| 性交一区二区在线播放| 1区2区3区中文字幕日韩| 69超碰综合| 久久婷婷五月天| 91超碰人人操| 亚洲性爱无码乱伦av| 亚洲天堂中文字| 亚洲啪AⅤ永久无码| 日韩兔费看黄片| 超碰97网站| 丰满人妻一区二区三区免费 | 免费国产视频| 欧美天天综合网版| 久久中文字幕女同性恋一区| 亚洲91网。| 色色国产| 99热婷婷| 日本三级黄页| 青青草原人妻| 人妻在线中出视频| 亚欧美天堂在线| 一区二区首页| 白丝少妇一区二区| 久久久久大香青草精品综合| 91欧美另类| 天天综合中文字幕 91| 日韩欧视频| 亚洲熟女av中文字幕| 91日韩国产欧美亚洲另类精盘州至城都| 熟妇人妻一二三区免费| 亚洲高清欧美总合| 中文字幕蜜乳av| 少妇熟女1区2区3区| 乱性AV| WWW啪啪的com| 久久久久久精品免费看A级| 日本视频在线观看污污污| 欧美一级黄色18片免费看| 操碰91| 日本 成 人 小说 电影 一区二区| Av色五月| 国产日韩人人| rivers-china.com| 好吊色青靑草| 爱妃国产亚洲视频中文字幕| 丝袜剧情| 伊人激情| 精品十三区| 欧美最大综合网| 久久久久白虎| 免费少妇一区二区| 一区三区啪啪| 日韩紧密久久| 欧美日韩美女精品久草一区二区三区 | 色性荡荡荡荡视频| 韩日精品福利视频一区不卡在线免| 日日噜噜夜夜久久亚洲一区二区| 997色在线| 立川理惠被中出无码| 99色热国产视频精品| 偷窥自拍亚洲天堂网爆| 久久e6只有精品| 亚洲在钱| 激情文学88| 久久九九国产精品| 久久国产精品91| 国产免费一区| 七月丁香婷婷| 国产亚洲精品美女久久久m| 久久五月份| 亚洲偷91色| 国产无码三级视频在线观看| 日本欧美亚洲高清在线看| 天堂蜜桃无码视频一区二区| 久久宗合亚洲| 国产强奸无码乱伦| 看一级黄色视频| 欧美久久婷婷| 亚洲图片另类| 国产亚洲综合欧美一区| 丁香婷婷激情五月天无毒不卡| 国语精品av| 日韩欧美国产一区二区三区四区| 91视频国品一二三区| 亚洲熟女乱色一区二区三区久久久 | 97九色| 日韩欧美亚洲一区二区三区影院| 男人天堂站| 99999亚洲| 亚洲最大无码中文字幕网站| 国产五码丝袜屁眼| 欧美岛国精品在线观看| 口爆综合网| 亚洲玖玖爱| 久久精品国产亚洲AV片多多 | 亚欧免费| 久久大香蕉| 97欧美色| HEYZO高无码国产精品227| 乱码熟妇人妻久久久| 国产一区二区二区按摩精品啪视频| 色婷婷色99国产综合精品| 大乔未久88一区| 日韩三级在线观看网站| 6080yy午夜理论三级一区二区三区无码| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 超碰久超碰久| aaa一级黄片| 中文字幕日韩情色| 亚洲国产午夜真人一级片中文字幕精品黄网站 | 欧美大干日韩| 精品人妻av在线播放| 久草综合视频| 欧美性爱日韩性爱| 亚洲日韩欧美一区二区| 人人操人人摸人人看人人干| 1204金沙人妻懂旧版免费| 操逼逼一区视频| 极品丝袜无码| 中文乱码字字幕在线第5页| 手机看片1024你懂的国产| 亚洲91综合| 在线精品福利免费播放| 成人情色综合网| 五月丁香婷婷啪啪| 日本大香蕉综合网| Av色五月| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 91亚洲在线| 色哟哟-国产专区| 啪啪啪东京| 超碰伊人在线| 亚洲欧洲另类| 国产资源中文字幕在线| 少妇人妻精品| 强奸乱伦Av网| 嗯嗯啊啊啊好爽| 岛国小电影| 东北丰满熟女国产一区| 99re99视频在线免费观看| 亚洲美女自拍偷拍视频| 欧美激情精品久久久久久| 好湿好紧好爽 视频| 中文字幕五月婷婷免费| 91伊人大香蕉| 婷婷深爱五月| 97天堂| 足交视频老司机| 五月天开心网| 麻豆综合一区av| 欧洲亚洲综合| 天天欧美色| 26uuu偷拍亚洲欧洲综合| 欧美综合色综合| 禁止观看美女黄| www.99中文字幕| 久久久不卡| 日本超碰97日韩精品人妻| 成人黑料社久久| 国产美女口爆吞精视频| 色噜噜人妻av中文字幕| 一区中文字幕二区日韩| 在线视频日韩欧美国产| 婷婷综合在线观看| 免费簧片在线观看| 一区二区三区视频| 亚洲中文字幕一区| 亚洲五区熟女| 丁香五月av| 大黄片做爱的大的| 97资源久久| 亚洲丰满很很操| 青青色综合| 国产呦精品一区二区三区下载| 久久精品操| 久久久久久久国产| 校园春色综合| 欧美不卡二区| 精品亚洲一区在线观看| 日韩内| 欧美一二级| 绯色AV粉色AV蜜臀AV| 日韩三级一区| 手机看片1025| 奇米四色影视777久久久| 久九九九| 蜜桃臀av一区二区| 亚洲高清在线se| 欧美 牲| 久久蜜桃综合网| 六九九九| 五月色丁香| 十八禁啪啦拍视频无遮挡| 欧美一级久久久久久久大片动画| 操国产逼| 人妻少妇久久中文字幕一区二区 麻豆 | 超碰99在线观看| 成人七区| 伊人久久综合精品欧美| 国产精品盗摄 偷窥盗摄| 免费精品无码一级毛片牛牛影视| 欧美天天综合在线| 老女人老91妇女老热女| 99久久无色码| 国产精品小视频一区二区三区| 天天操综合网| 99热精品在线| www.丁香五月| 婷婷综合激情| 婷婷激情五月| 99色热| 日本超碰在线国产一区| 很很干很很操| 看日韩美女二区三区免费操逼视频 | 波多野结衣一级视频| 啊啊啊啊啊好多水| 国产农村妇女毛片精品久久| 美女天天干| 久九九九九九九九热| 欧美综合传媒| 亚洲综合九| 国产又大又粗又长视频在线| 一本道综合色图| 国产精品青草综合久久| 国产AV无码AV| 亚洲91在线播放影院| 综合五月婷婷亚洲一区| 自拍偷拍 日韩无码| av资源在线观看少妇| 亚洲精品成人激情在线| 另类小说五月天| 爽爽歪在线视频| 特级大荫道BBwBBwBBW| 亚洲欧美另类少妇精品| 日日日大屁股骚女人精品| 欧美激情一| 国产福利合集| 日本性感人妻91| 亚洲成人日韩小说| 大香蕉五月天婷婷| 国产黄a三级三级三级av在线看| 超碰在线974| 色男人色天堂东京热| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| 怡红院亚洲怡春院av| 国产精品视频在线观看| 亚洲日韩精品久久久久一区壹牛| 久热精品色情| 97视频在线免费播放| 日本三级精品| 精品人妻一区二区三区四区石在线| 欧美色视频在线| 五月天婷婷基地| 亚熟在线| 久久9999 | 少妇精品久久| 操逼国产免费| renqi久久久久久久久久久久| 亚洲91网。| 日韩欧美麻豆| 久久久精品网站| 日本www操操操| 久草大| 97视频www| 精品人妻av区天天看片| 波多野结衣一级视频| 五月婷婷六月色| 久久人妇| 久操精品| 91精品黄在线观看| 最新精品久久蜜桃 | 777奇米影视777四色| 日韩操人| 国产精品久久久九九九| 熟女少妇视频| 偷拍自拍在线视频观看| 国产免费大片| 啊灬啊灬啊灬啊灬高潮奶出了免费视| 男人的午夜天堂| 91精品国产高清久久久久久,亚洲成人 | 亚洲国产av中文字幕久久| 国产精品久久久久久久毛片1| 96精品在线| 国产情色第一第二页在线观看| 91在线欧美| 超碰碰碰碰| 狠狠爱夜夜干| 伊人专区一区二区三区| 综合色图,成人综合网| 99re这里只有精品2| 亚洲日韩美国人妻| 中文字幕亚洲欧美在线不卡| 中文字幕在线免费观看 | 国产精品香蕉| 久久XX| 日韩电影免费网站麻豆视频| 久久久久9999| 色哟哟的毛片| 中文字幕精品三级久久久| 国产欧美精选激情视频| 久久成年精品| 欧美操逼录像国产黄色国产| 九九探花视频在线观看| 黄色乱论网站| 我要色综合网| 久久国产精品一级二级三级| 综合网亚洲在线| 五十路三级片| 99日免费视频中文字幕| 欧美日韩国产成人高清| 九久久九精品视频| 中文字幕精品人妻丝袜| 亚洲欧美伦综合| 五月婷丁香| 国产白丝网站| 色色五月天婷婷| 国产999精品久久久| 99综合| AV中亚| JULIA人妻风俗店中出电影| 草草电影院| 久久男人网| 再深点灬舒服灬太大了添视频| 啊a一区在线| 欧美 亚洲精品首页| 亚洲一区二区三区欧美日韩| 久久久久亚洲精品| 日韩无码一级黄色av片| 亚洲图片 91| 免费观看性欧美一级| 久久色一区二区| 日本免费专区| 公司1区2区3区精产精| 中国亚洲呦女专区| 青娱乐妇女性生活| 四虎永久在线精品免费网址| 69av一区二区三区| 97超碰超欧美。| 日韩激情啪啪| 97精品网| 一区,二区,三区视频| 婷婷午夜成人色中色| 亚洲少妇综合| 超碰公开久久网| 国产精品原创巨作?v网站| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 国语av狠狠色丁香婷婷综合激情| 夜夜夜夜夜夜夜夜夜狠狠狠狠狠狠狠 | 强奸xx国产| 久久久久久精| 国产精品欧美激在线| 丁香六月东京热| 精品二区三四区五电影 | 777AV电影| 欧亚 另类 久| 久久精品免费| 日本Xx性爱| 天天综合欧美| 青青伊人加勒比海| 色色热| 中文字幕国产| 欧美美女视频| 97超视频在线观看| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 久久黄色性爱视频| 美女性91| 色 亚洲 91| 欧美另类色图片| 操逼不卡中文字幕| 屁股久久久久久| 东北操逼| www.操| 91操人| AV污污污污| 9色国产精品一区粉嫩 | 无码粉嫩白虎一线天b区| AV天天在线观看| 国产精品探花在线| 亚洲A曰本VA欧美VA视频| 抽插一区二区视频| 97视频在线观看高清资源| 婷婷五月丁香五月| 九色精品视频导航1| 亚洲欧美电影| 伊人9| 超碰97在线中文| 亚洲一区二区 麻豆传媒| 一个人在线看的黄色电影网站| 久操大香蕉手机视频在线看| 日韩国产中文字幕| 欧洲精品一级二级精品综合视频综合 | 天天做天天爱天天高潮| 一级黄色性爱A级片| 日韩无码视频黄色| 疯操AV| 黄色小说亚洲| 殴美,日韩国产伦精品| 夜夜草网站| 成人性爱全视频观看| 777AV电影| 黄人人操人人操| 国产精品点击进入在线影院高清| 午夜欧美精品久久久| 我爱操| 久久r精品| 97草草| 久艹99| 国产热av| 九九九九97| 欧美成人国产精品| 97爱b| 麻豆精品天美| 欧美情色男人的天堂| 欧美 综合| 超碰 av 女人天堂|