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

ARTICLE DETAIL

資訊詳情

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

樹莓派Pico GPIO控制實戰(zhàn):徹底搞懂MicroPython的machine.Pin

樹莓派Pico GPIO控制實戰(zhàn):徹底搞懂MicroPython的machine.Pin 剛開始玩樹莓派 Pico 的時候我最頭疼的不是焊接也不是接線而是搞不清楚那個machine.Pin到底該怎么用。網(wǎng)上教程一抓一把但基本都是照著寄存器念經(jīng)或者干脆丟一段能跑的代碼讓你自己抄抄完還是一臉懵。明明就是點(diǎn)個燈、讀個按鍵的事結(jié)果光在Pin的構(gòu)造參數(shù)上就卡了半天。后來項目做多了把 MicroPython 的machine模塊翻來覆去用了好幾遍才慢慢摸清楚Pin類的設(shè)計邏輯其實非常簡潔——它把復(fù)雜的硬件寄存器操作全部封裝成了幾個直觀的方法和參數(shù)。這篇文章我就把這段時間積累的經(jīng)驗整理出來從 GPIO 和 Pin 的關(guān)系講起再到構(gòu)造參數(shù)、核心方法、實際項目中的控制方案包括舵機(jī)這類需要 PWM 的場景最后附上我踩過的坑和排查思路。不管你是剛拿到板子的小白還是想快速上手做項目的愛好者照著這篇文章走一遍基本就能把 Pico 的 GPIO 玩明白了。1. 內(nèi)容整體設(shè)計與思路拆解1.1 先搞懂 GPIO 和 Pin 到底是啥關(guān)系說到 GPIO很多新手第一反應(yīng)是“這不就是引腳嘛”。嚴(yán)格來說GPIOGeneral-Purpose Input/Output通用輸入輸出指的是芯片上一組可以被軟件控制為輸入或輸出的物理引腳而Pin是 MicroPython 里用來操作這組引腳的類。也就是說GPIO 是硬件層面的概念machine.Pin是軟件層面的抽象接口。RP2040 這顆芯片本身有多達(dá) 30 個 GPIO 引腳GPIO0 到 GPIO28外加 GP28 等特殊引腳它們掛在芯片的某個物理位置通過焊接或引腳排針引出到 Pico 開發(fā)板上。你在 Pico 板子上看到的 40 個排針其中有一部分就是這些 GPIO 引腳另外還有電源、地、ADC 專用引腳等。所以問題來了我說的“GPIO 和 Pin 的關(guān)系”其實就是“物理世界的引腳”和“軟件世界的控制句柄”之間的映射關(guān)系。在 MicroPython 中machine.Pin的構(gòu)造方法接收的第一個參數(shù)正是這個引腳的編號。但編號方式有講究你在網(wǎng)上會看到兩種寫法Pin(0)和Pin(GP0)或者Pin(0, machine.Pin.OUT)。其實它們最終指向的都是同一個硬件引腳只是標(biāo)識方式不同。這樣設(shè)計的核心好處是你不需要關(guān)心底層寄存器地址、不需要查芯片手冊里的引腳復(fù)用表只要知道“我要控制的是第幾號引腳”剩下的交給 MicroPython 固件處理就行。這跟 STM32 那套需要查GPIO_InitTypeDef、配置時鐘、配置復(fù)用功能的方式比起來簡單了不止一個量級。1.2 為什么選擇 machine.Pin 而不是直接操作寄存器用寄存器操作不是不行但有幾個現(xiàn)實問題。首先是效率焦慮。很多人一聽到 MicroPython 就擔(dān)心性能不夠但實際上對于 GPIO 這種毫秒甚至微秒級別的操作MicroPython 的解釋執(zhí)行開銷完全可以接受。Pico 的主頻默認(rèn) 125MHzPython 執(zhí)行一條語句撐死幾十納秒到幾微秒的延遲對于按鍵掃描、LED 閃爍、驅(qū)動舵機(jī)這類場景綽綽有余。如果你真的追求納秒級時序比如做嚴(yán)格的高速協(xié)議模擬那就不該用 MicroPython直接上 C SDK 或者匯編更合適。其次是開發(fā)效率。用machine.Pin寫點(diǎn)燈程序三行代碼搞定引入模塊、構(gòu)造 Pin 對象、調(diào)用value()方法。用 C SDK 寫同樣功能你得初始化 IO Bank、配置引腳功能、設(shè)置方向、設(shè)置輸出值光是初始化代碼就夠?qū)懸黄?。對于原型驗證、創(chuàng)客項目、教學(xué)演示來說MicroPython 的開發(fā)效率優(yōu)勢是碾壓級的。最后是調(diào)試便利性。MicroPython 有 REPL交互式解釋器你可以直接在終端里敲p.value(1)去點(diǎn)燈敲p.value()去讀電平隨時驗證自己的邏輯。這在排查硬件問題時極其有用相比之下 C 開發(fā)每次都要燒錄、運(yùn)行、看串口日志迭代速度慢很多。1.3 整體控制架構(gòu)從 Pin 對象到外圍設(shè)備Pico 的 GPIO 控制本質(zhì)上是通過配置引腳的工作模式輸入/輸出/PWM/ADC 等然后對引腳的高低電平或 PWM 占空比進(jìn)行讀寫從而控制外圍設(shè)備。這個架構(gòu)可以用一句話概括machine.Pin解決了“引腳怎么配”value()和toggle()等解決了“電平怎么變”PWM 和 ADC 等擴(kuò)展類解決了“模擬量怎么處理”。所以整篇文章的講解路徑就是先弄懂 Pin 對象的構(gòu)造和參數(shù)配置再理解輸入輸出的各種模式選擇然后看實際項目中的控制組合比如用 PWM 控制舵機(jī)最后是排查和避坑。這樣一條線走下來你手里的 Pico 就不再是一塊只能點(diǎn)燈的板子而是一個可以驅(qū)動各種傳感器、電機(jī)、屏幕的控制核心。2. 核心細(xì)節(jié)解析與實操要點(diǎn)2.1 machine.Pin 構(gòu)造方法的五大參數(shù)逐個拆解要真正用好machine.Pin第一步就是吃透它的構(gòu)造方法。MicroPython 的 Pin 構(gòu)造函數(shù)簽名大致是這樣的machine.Pin(id, mode-1, pull-1, value0, drive0)下面我一個一個說。id這個不用多解釋就是引腳編號。但注意Pico 上可以用兩種方式指定一種是直接用整數(shù) 0~28對應(yīng) GPIO0~GPIO28另一種是用字符串GP0、GP1這種效果相同。我建議用整數(shù)因為少打幾個字而且跟原理圖上的標(biāo)注更好對應(yīng)。mode引腳模式最常用的兩個是Pin.OUT和Pin.IN。Pin.OUT表示該引腳為輸出模式你可以往里面寫高低電平Pin.IN表示輸入模式你可以從里面讀電平狀態(tài)。除了這兩個還有Pin.OPEN_DRAIN開漏模式和Pin.ALT復(fù)用功能模式一般用不到因為 I2C、SPI、UART 這些都有專門的對象去處理。pull上下拉電阻配置??蛇x值有None不接上下拉引腳浮空、Pin.PULL_UP內(nèi)部上拉、Pin.PULL_DOWN內(nèi)部下拉。這個參數(shù)在輸入模式下尤為重要。舉個例子如果你用一個按鍵一端接 GPIO、另一端接地那這個 GPIO 在按鍵未按下時必須保持高電平否則讀到的電平就是隨機(jī)浮動的。這時候就需要啟用內(nèi)部上拉。如果你的按鍵一端接 GPIO、另一端接 3V3那就需要啟用內(nèi)部下拉讓默認(rèn)電平為低。value這個參數(shù)在輸出模式下有意義用于設(shè)置引腳的初始電平。value0就是初始化為低電平value1就是初始化為高電平。如果你在構(gòu)造 Pin 對象時同時指定了輸出模式和 value相當(dāng)于一條語句完成了“配置方向 設(shè)置初始狀態(tài)”兩件事。drive驅(qū)動能力配置Pico 上較少用到默認(rèn)即可。它控制的是引腳輸出電流的驅(qū)動強(qiáng)度對于驅(qū)動 LED、邏輯電平轉(zhuǎn)換這類無源負(fù)載影響不大除非你要驅(qū)動大電流設(shè)備否則保持默認(rèn)就好。配置的時候要注意mode 和 pull 參數(shù)在不同固件版本上默認(rèn)值可能不同所以最穩(wěn)妥的做法是顯式指定不要依賴默認(rèn)值。2.2 輸入輸出模式的選擇與判定輸出模式很簡單核心操作就是value()方法。不帶參數(shù)調(diào)用p.value()返回當(dāng)前輸出電平狀態(tài)帶參數(shù)調(diào)用p.value(1)或p.value(0)則設(shè)置輸出電平。還有一個小技巧是p.toggle()每次調(diào)用翻轉(zhuǎn)一次電平用來做 LED 閃爍或者狀態(tài)機(jī)切換非常方便。輸入模式則需要考慮更多的電氣特性。Pico 的 GPIO 輸入電平范圍是 0V~3.3V超過 3.3V 容易損壞引腳所以如果你要接 5V 輸出的傳感器記得加電平轉(zhuǎn)換或者分壓電阻。輸入模式下讀取電平用p.value()返回值是 1 或 0表示高或低。但輸入模式真正的坑在于“浮空”。所謂浮空就是引腳既沒接高電平也沒接低電平懸空在那里。這種情況下引腳的電壓是隨機(jī)的讀到的值可能一會兒 1 一會兒 0讓你懷疑人生。解決這個問題的方法就是前面說的pull參數(shù)要么上拉要么下拉讓引腳在外部沒有明確驅(qū)動時有一個確定的默認(rèn)電平。另外還有一個值得注意的點(diǎn)RP2040 的 GPIO 輸入還有一個“施密特觸發(fā)器”特性它能夠?qū)斎胄盘栕鲆欢ǖ臑V波和整形避免信號在閾值附近抖動導(dǎo)致誤判。這個特性在 MicroPython 中默認(rèn)是開啟的你不需要額外配置。實測下來用 Pico 讀取按鍵信號基本不需要外部去抖電路軟件里做 10~20ms 的去抖就夠了。2.3 開漏模式與模擬復(fù)用Pin 之外的擴(kuò)展思維machine.Pin只能處理數(shù)字信號也就是 0 和 1。但實際項目里你需要處理的信號類型遠(yuǎn)不止數(shù)字量比如模擬電壓溫度傳感器、光敏電阻、脈寬調(diào)制信號舵機(jī)、LED 亮度調(diào)節(jié)。這時候就需要其他類配合比如machine.ADC和machine.PWM。這里有一個很重要的思維machine.Pin解決的是“數(shù)字開關(guān)”問題而 ADC 和 PWM 解決的是“模擬量控制”問題。但它們的底層都離不開 GPIO 引腳的復(fù)用功能。RP2040 的每個 GPIO 引腳都有引腳復(fù)用Pin Mux功能同一引腳在不同模式下可以連接到不同的外設(shè)模塊。MicroPython 的machine.ADC和machine.PWM類在底層會自動配置這些復(fù)用所以在用戶層面你只需要指定引腳編號剩下的交給固件。比如說GPIO26、GPIO27、GPIO28 是 Pico 上僅有的三個 ADC 引腳另外還有一個內(nèi)部溫度傳感器通道如果你想讀光敏電阻的模擬電壓就只能用這三個引腳之一。再比如 PWMRP2040 幾乎每個引腳都支持 PWM 輸出但有些引腳組合可以同時輸出多路 PWM引腳分配上就有講究。所以你在規(guī)劃項目時第一件事不是寫代碼而是先看原理圖把數(shù)字量、模擬量、PWM 信號分別分配到合適的引腳上。這樣能避免后期因為引腳沖突改線甚至改板子的悲劇。3. 實操過程與核心環(huán)節(jié)實現(xiàn)3.1 用 5 分鐘完成第一個 LED 控制項目紙上談兵夠了直接上手做一個最簡單的實驗用 PC 上的 MicroPython REPL 控制 Pico 板載的 LED。板載 LED 連接在 GPIO25 上所以代碼非常簡單from machine import Pin led Pin(25, Pin.OUT) # 把 GPIO25 設(shè)置為輸出模式 led.value(1) # 點(diǎn)亮 LED led.value(0) # 熄滅 LED led.toggle() # 翻轉(zhuǎn)狀態(tài)你可以在 REPL 里一行一行敲也可以寫進(jìn)main.py然后復(fù)位運(yùn)行。實際效果就是板載 LED 亮滅可控。但這只是熱身。我們加點(diǎn)實用性做一個呼吸燈。呼吸燈的核心思路是讓 LED 的亮度呈周期變化這需要 PWM脈寬調(diào)制來控制平均功率。Pico 上用 PWM 控制 LED 的代碼如下from machine import Pin, PWM # 注意要用 PWM 就必須用支持 PWM 的引腳GPIO25 板載 LED 其實也支持 led_pwm PWM(Pin(25)) led_pwm.freq(1000) # PWM 頻率 1kHz超過人眼閃爍感知 led_pwm.duty_u16(32768) # 占空比 50%duty_u16 取值范圍 0~65535 # 做一個簡單的呼吸效果從小往大再從大往小 import time duty 0 direction 1 while True: led_pwm.duty_u16(duty) duty direction * 200 if duty 65535: direction -1 elif duty 0: direction 1 time.sleep_ms(10)這個例子里最關(guān)鍵的是duty_u16()方法它接受 0~65535 之間的整數(shù)對應(yīng) 0%~100% 的占空比。實際上Pico 的 PWM 模塊是 16 位分辨率的所以duty_u16比老的duty()10 位精度高得多。新版本 MicroPython 推薦用duty_u16有些固件里duty()已經(jīng)被標(biāo)記為廢棄。呼吸燈做完你對輸出模式和 PWM 的基本使用心里就有底了。3.2 按鍵輸入與內(nèi)部上拉的正確打開方式接下來做輸入實驗一個按鍵控制 LED 亮滅。接線方式如下按鍵一端接 GPIO14另一端接 GNDLED帶限流電阻 220Ω陽極接 GPIO15陰極接 GND代碼實現(xiàn)from machine import Pin import time key Pin(14, Pin.IN, Pin.PULL_UP) # 內(nèi)部上拉默認(rèn)高電平 led Pin(15, Pin.OUT) # 輸出模式控制 LED while True: if key.value() 0: # 按鍵按下引腳被拉低 led.value(1) else: led.value(0) time.sleep_ms(20) # 簡單去抖延時這個例子的邏輯很簡單但有幾個細(xì)節(jié)值得展開。第一為什么按下按鍵時讀到的是 0因為按鍵一端接 GPIO14、另一端接地按鍵未按下時 GPIO14 被內(nèi)部上拉到 3.3V讀到 1按下時 GPIO14 直接通過按鍵接地讀到 0。所以判斷條件是key.value() 0而不是 1。這個邏輯新手特別容易搞反。第二內(nèi)部上拉和下拉的選擇依據(jù)是什么簡單說如果你希望引腳默認(rèn)是高電平就要用上拉默認(rèn)是低電平就用下拉。這里按鍵接法決定了默認(rèn)電平必須是高所以用Pin.PULL_UP。如果你把按鍵改成一端接 3.3V、另一端接 GPIO14那就得用Pin.PULL_DOWN讓默認(rèn)電平為低。第三代碼里的time.sleep_ms(20)起到了軟件去抖的作用。機(jī)械按鍵在按下和釋放的瞬間觸點(diǎn)會抖動導(dǎo)致電平在短時間內(nèi)多次跳變?nèi)绻蛔鎏幚硪淮伟存I可能被檢測成多次。20ms 的延時是最簡單粗暴但有效的解決方案。實測下來Pico 的內(nèi)部上拉電阻大約在 50kΩ 左右對于按鍵檢測完全夠用。3.3 實戰(zhàn)Pico 控制舵機(jī)PWM 參數(shù)計算與角度映射最后來一個更有代表性的實戰(zhàn)用 Pico 控制舵機(jī)這也是很多第一次用 Pico 做機(jī)器人項目的必經(jīng)關(guān)卡。常見的 SG90 舵機(jī)控制信號是周期 20ms即頻率 50Hz的 PWM 波其中高電平脈沖寬度決定了舵機(jī)角度0.5ms 脈寬0°1.5ms 脈寬90°2.5ms 脈寬180°換算成占空比周期 20ms 時占空比 脈寬 / 周期。所以 0.5ms 對應(yīng) 2.5%1.5ms 對應(yīng) 7.5%2.5ms 對應(yīng) 12.5%。但在 Pico 上用 MicroPython 寫 PWM不能直接設(shè)脈寬只能設(shè)頻率和占空比。所以你需要把脈寬換算成duty_u16的數(shù)值。Pico 的 PWM 時鐘默認(rèn)是 125MHzduty_u16的滿量程 65535 對應(yīng) 100% 占空比。推一下公式對于 50Hz 的 PWM周期是 20msduty_u16占滿 65535 對應(yīng)的脈寬就是 20ms。所以脈寬對應(yīng)的duty_u16值是duty_u16 脈寬(ms) / 20ms * 65535代入三個關(guān)鍵點(diǎn)0.5msduty_u16 0.5 / 20 * 65535 16381.5msduty_u16 1.5 / 20 * 65535 49152.5msduty_u16 2.5 / 20 * 65535 8192所以控制代碼可以這樣寫from machine import Pin, PWM import time servo PWM(Pin(15)) # 信號線接 GPIO15 servo.freq(50) # 50Hz周期 20ms def set_angle(angle): # angle 范圍 0~180 pulse 0.5 angle / 180 * 2.0 # 脈寬 ms線性映射 0.5~2.5 duty int(pulse / 20 * 65535) servo.duty_u16(duty) set_angle(0) time.sleep(1) set_angle(90) time.sleep(1) set_angle(180)這段代碼跑起來后舵機(jī)應(yīng)該會依次轉(zhuǎn)到 0°、90°、180°。如果實際角度偏差較大可能是舵機(jī)的脈寬范圍不是標(biāo)準(zhǔn)的 0.5~2.5ms有些舵機(jī)是 0.6~2.4ms你可以微調(diào)映射公式的上下限。另外一個常見問題是舵機(jī)抖動。如果你直接給舵機(jī)供電用的是 Pico 的 5V 引腳那大概率會抖因為舵機(jī)啟動瞬間電流可能達(dá)到幾百毫安甚至更高USB 供電根本扛不住。正確做法是外部 5V 電源給舵機(jī)供電Pico 只負(fù)責(zé)輸出信號線并且 GND 要共地。這里補(bǔ)充一個關(guān)鍵經(jīng)驗雖然理論計算哪都能看懂但實際測試中我發(fā)現(xiàn)很多舵機(jī)的響應(yīng)并不完全線性特別是便宜的小舵機(jī)如果你發(fā)現(xiàn)角度映射不準(zhǔn)先別急著懷疑代碼轉(zhuǎn)動舵機(jī)觀察它是否真的停在目標(biāo)角度附近再調(diào)整映射系數(shù)。3.4 通過 REPL 快速驗證 GPIO 狀態(tài)在開發(fā)過程中REPL 是一個非常高效的調(diào)試工具。接線完成后你不需要寫完整代碼可以直接在 REPL 里敲命令驗證引腳功能和接線是否正確。比如你要檢驗一個按鍵是否接在 GPIO14 上且電平關(guān)系正確可以這樣from machine import Pin p Pin(14, Pin.IN, Pin.PULL_UP) p.value() # 不按按鍵時應(yīng)該返回 1 p.value() # 按著按鍵再執(zhí)行應(yīng)該返回 0再比如驗證舵機(jī) PWM 通道from machine import Pin, PWM s PWM(Pin(15)) s.freq(50) s.duty_u16(4915) # 約 1.5ms 脈寬舵機(jī)應(yīng)該轉(zhuǎn)到中位這種交互式調(diào)試的速度比“改代碼 - 燒錄 - 復(fù)位 - 看日志”的循環(huán)快十倍。我做項目時幾乎所有的引腳功能驗證都先在 REPL 里過一遍確認(rèn)無誤再寫主邏輯。注意REPL 里創(chuàng)建的 PWM 對象如果變量被覆蓋舵機(jī)可能會停在當(dāng)前位置這是因為 PWM 信號沒有停止。如果你想讓舵機(jī)斷電歸位需要調(diào)用s.deinit()釋放 PWM 通道。4. 引腳分配、模式選擇與常見問題排查實錄4.1 引腳編號的三種標(biāo)識方式board、GPIO 和物理引腳的對應(yīng)這是新手翻車最多的地方所以我單獨(dú)拎出來講。Pico 的引腳標(biāo)識有三種方式很多人把它們混為一談方式示例說明物理引腳號Pin 1、Pin 2開發(fā)板排針上的物理位置從 USB 口旁邊的 Pin 1 開始數(shù)GPIO 編號GPIO0、GPIO1RP2040 芯片內(nèi)部的 GPIO 編號MicroPython Pin 對象編號Pin(0)、Pin(1)構(gòu)造 Pin 對象時傳入的 id 參數(shù)在 MicroPython 中Pin(0)指的是 GPIO0不是物理引腳 0因為 Pico 上根本不存在“物理引腳號 0”這個說法。GPIO0 對應(yīng)的物理引腳是 Pin 1GPIO1 對應(yīng) Pin 2但不一定所有 GPIO 編號和物理引腳號都相差 1比如 GPIO25 對應(yīng)的物理引腳是 Pin 31。所以接線的時候看原理圖或絲印寫代碼的時候按 GPIO 編號兩者要嚴(yán)格對照。我用過一個笨辦法避免出錯在板子上用紅色膠帶標(biāo)出自己用到的物理引腳號對應(yīng)的 GPIO 編號寫代碼前先看一眼寫完代碼再對一遍。雖然土但真的不會錯。4.2 GPIO 工作模式的選擇思路結(jié)合常見模式說明前面說過Pico 不像 STM32 那樣有大量可配置的八種模式但 MicroPython 提供的幾種模式選擇背后其實對應(yīng)了不同的應(yīng)用場景。我整理了一份“按場景選模式”的速查表應(yīng)用場景推薦模式可選參數(shù)注意事項驅(qū)動 LED陽極接引腳OUT初始 value0串入 220Ω 限流電阻驅(qū)動繼電器模塊OUT無注意模塊是高電平觸發(fā)還是低電平觸發(fā)讀取按鍵一端接地IN PULL_UPpullPin.PULL_UP按下讀 0讀取按鍵一端接 3V3IN PULL_DOWNpullPin.PULL_DOWN按下讀 1讀取無源開關(guān)/干接點(diǎn)IN PULL_UPpullPin.PULL_UP防止浮空誤判讀取模擬電壓傳感器使用 ADC 類不是 Pin僅限 GPIO26/27/28輸入電壓不能超過 3.3V控制舵機(jī)/電機(jī)調(diào)速使用 PWM 類不是 Pinfreq 按設(shè)備要求功率器件單獨(dú)供電I2C 通信使用 I2C 類不是 Pin原理圖指定引腳需要上拉電阻從這張表能看出一個規(guī)律能用擴(kuò)展類解決的問題不要用裸 Pin 去手動模擬。比如你要點(diǎn)亮 LED 且需要調(diào)亮度直接用 PWM 類而不是翻轉(zhuǎn)value()去湊亮度你要讀模擬光敏電壓直接用 ADC 類而不是用數(shù)字輸入去判斷“亮/暗”。這不是說裸 Pin 不行而是擴(kuò)展類的實現(xiàn)更可靠、占用資源更少、代碼也更易讀。4.3 典型問題排查電平錯誤、引腳沖突、PWM 失效下面是我實際使用中遇到的幾個高頻問題以及對應(yīng)的排查思路。問題一按鍵按下沒反應(yīng)或者狀態(tài)亂跳。最可能的原因是上下拉配置錯誤或者引腳浮空。先用 REPL 讀一下引腳電平不按按鍵時讀 0、按下讀 1說明按鍵接法跟代碼邏輯反了要么換接法要么把判斷條件反過來。如果電平在 0 和 1 之間亂跳大概率是引腳浮空檢查是否忘了設(shè)置Pin.PULL_UP或Pin.PULL_DOWN。問題二LED 不亮但代碼邏輯看起來沒問題。拿萬用表量引腳對地電壓。如果引腳輸出 3.3V 但 LED 不亮檢查 LED 極性和串聯(lián)電阻大概率是接反了或者電阻太大。如果引腳電壓為 0V檢查 GPIO 編號是否對應(yīng)正確的物理引腳。還有一個小坑板載 LED 和 GPIO25 的連接在部分 Pico 兼容板上可能不同如果你用的不是官方板先查清楚板載 LED 到底接在哪個 GPIO 上。問題三舵機(jī)抖動或者不轉(zhuǎn)。首先檢查供電。舵機(jī)單獨(dú)供電了嗎共地了嗎如果用 USB 口直接供電驅(qū)動舵機(jī)大概率會因為電流不足而抖動。其次檢查 PWM 頻率是否設(shè)置正確SG90 這類模擬舵機(jī)要求 50Hz你設(shè)成 100Hz 或 1kHz 都會導(dǎo)致舵機(jī)異常。最后檢查 duty 值計算是否正確用 REPL 分別設(shè)置三個關(guān)鍵脈寬對應(yīng)的 duty 值看舵機(jī)能否轉(zhuǎn)到三個位置如果都不能那可能是信號線接錯引腳了。問題四程序跑著跑著引腳就不受控了。這種情況通常是代碼里有兩個地方同時操作同一個引腳或者某個 PWM/ADC 對象沒有 deinit導(dǎo)致引腳一直被占用。排查方法在 REPL 里重新構(gòu)造 Pin 對象看能否恢復(fù)控制。如果能恢復(fù)說明是代碼邏輯問題不能恢復(fù)則可能是引腳被其他外設(shè)復(fù)用占用了。這時檢查是否創(chuàng)建了多個指向同一引腳的 Pin 對象、PWM 對象或 ADC 對象。問題五MicroPython 報錯ValueError: Pin(XX) doesnt exist。這是引腳編號超出范圍或者當(dāng)前固件不支持。Pico 支持 GPIO0~GPIO28但你如果傳了 GPIO29 就會報錯。注意 GPIO29 在少數(shù)文檔里會出現(xiàn)但它是用于讀取板載 ADC 電源電壓的不是普通 GPIO不能當(dāng)作數(shù)字引腳用。4.4 實戰(zhàn)心得從點(diǎn)燈到多設(shè)備聯(lián)調(diào)的引腳規(guī)劃最后分享一個多設(shè)備項目的引腳規(guī)劃經(jīng)驗可能對你后續(xù)做項目有直接幫助。假設(shè)你要做一個項目需要同時控制 2 個舵機(jī)、讀 1 個溫濕度傳感器、點(diǎn) 1 個 WS2812 燈帶。很多人拿到板子就開始接線結(jié)果線繞成一團(tuán)漿糊代碼里也到處是魔法數(shù)字。我建議按下面這個流程來先列出所有設(shè)備需要的引腳類型和數(shù)量。舵機(jī)需要 2 個 PWM 引腳DHT11 需要 1 個數(shù)字輸入引腳或者任意 GPIOWS2812 需要 1 個數(shù)字輸出引腳。查一下 Pico 的原理圖圈出滿足需求且互不沖突的引腳。PWMA 和 PWMB 的引腳組合要查表不是任意兩個 GPIO 都能同時輸出 PWM。APA102 或 WS2812 這類時序敏感的設(shè)備盡量選用離主控近的引腳減少杜邦線過長帶來的信號完整性問題。在代碼文件開頭用一個字典集中管理引腳映射比如PIN_CFG { servo1: 15, servo2: 14, dht11: 16, ws2812: 28, }這樣后期改接線只需要改配置不用滿代碼搜Pin(15)。這套流程看起來簡單但真的能幫你省下大量調(diào)試時間。特別是當(dāng)你從單設(shè)備跨到多設(shè)備時引腳的規(guī)劃和代碼的組織結(jié)構(gòu)一樣重要不然就會陷入“改一根線、改十處代碼”的噩夢。5. 避坑指南與進(jìn)階擴(kuò)展建議5.1 三個最容易踩的坑我把自己踩過以及幫別人排查過的坑匯總一下排名不分先后但都是高頻中的高頻。第一個坑是引腳編號張冠李戴。我前面反復(fù)強(qiáng)調(diào)過Pin(0)是 GPIO0不是物理引腳 0。有一次我把按鍵接在物理 Pin 6 上代碼卻寫的Pin(6)結(jié)果按鍵死活沒反應(yīng)排查了半小時才發(fā)現(xiàn) GPIO6 對應(yīng)的是物理 Pin 9而我實際接線的是物理 Pin 6即 GPIO4。這種錯誤最氣人因為代碼看起來沒有任何問題。我的建議是在板子上放一張引腳對照表接線時在每根杜邦線上貼標(biāo)簽寫代碼前先查一遍。第二個坑是輸入引腳浮空導(dǎo)致讀數(shù)漂移。很多人讀按鍵或者讀取撥碼開關(guān)時忘記配置上下拉電阻然后發(fā)現(xiàn)讀到的值隨機(jī)跳變。這不是 Pico 的問題而是你讓引腳“懸空”了引腳電壓受周圍電磁干擾影響自然不穩(wěn)定。解決辦法就是根據(jù)電路默認(rèn)電平顯式配置Pin.PULL_UP或Pin.PULL_DOWN。第三個坑是低電平觸發(fā)和高電平觸發(fā)的邏輯搞反。不同模塊的觸發(fā)邏輯不一樣比如有的人體感應(yīng)模塊是低電平輸出有效有的繼電器模塊是低電平吸合。如果你不看模塊手冊想當(dāng)然地以為“模塊輸出高電平就是有效”那就等著調(diào)試時一頭霧水吧。我的習(xí)慣是拿到模塊第一個動作就是查手冊或者用萬用表實測模塊在觸發(fā)和未觸發(fā)狀態(tài)下的輸出電平再寫代碼。5.2 進(jìn)階用 Pin 中斷代替輪詢前面用的while Truetime.sleep_ms的做法在簡單項目里沒問題但如果你想做低功耗或者讓主循環(huán)去做別的事輪詢就不合適了。Pico 的 MicroPython 支持外部中斷也就是Pin.IRQ功能。用法如下from machine import Pin led Pin(15, Pin.OUT) key Pin(14, Pin.IN, Pin.PULL_UP) def key_handler(pin): led.toggle() key.irq(triggerPin.IRQ_FALLING, handlerkey_handler)這里triggerPin.IRQ_FALLING表示按鍵按下時引腳電平從高變低觸發(fā)中斷handler指定中斷處理函數(shù)。這種機(jī)制的好處是主循環(huán)可以專心做其他事按鍵一出現(xiàn)硬件會自動跳到中斷函數(shù)執(zhí)行執(zhí)行完再回到主循環(huán)。注意中斷回調(diào)函數(shù)里盡量不要做耗時操作比如不要在里面調(diào)用time.sleep()或者做一些復(fù)雜的計算因為中斷上下文里運(yùn)行太長的代碼會阻塞主程序。如果需要處理復(fù)雜邏輯建議只在中斷里設(shè)置一個標(biāo)志位主循環(huán)再去讀取標(biāo)志位執(zhí)行后續(xù)動作。5.3 后續(xù)擴(kuò)展方向如果你已經(jīng)能熟練使用machine.Pin那接下來可以考慮這幾個方向它們都會在底層涉及 GPIO 基礎(chǔ)能力的組合運(yùn)用用 PIO 狀態(tài)機(jī)實現(xiàn)自定義協(xié)議RP2040 最有特色的 PIO 模塊可以讓你用類匯編的指令在硬件層面模擬各種協(xié)議波形比如 WS2812、DHT11 這類時序敏感的傳感器。驅(qū)動顯示屏幕從 SSD1306 OLED 到 ST7789 TFT用 I2C/SPI 接口搭配machine庫就能點(diǎn)亮非常鍛煉引腳復(fù)用和時序控制能力。低功耗睡眠模式Pico 的machine.lightsleep()和machine.deepsleep()可以大幅降低功耗適合電池供電的物聯(lián)網(wǎng)節(jié)點(diǎn)。在睡眠前把引腳設(shè)置成合理的狀態(tài)能進(jìn)一步省電。這些方向都有一個共同點(diǎn)它們都建立在“把每個引腳都調(diào)到恰到好處的狀態(tài)”的基礎(chǔ)之上。所以把machine.Pin吃透絕對不是只能做點(diǎn)燈這樣的小事而是整個 RP2040 開發(fā)的基石。寫在最后學(xué)machine.Pin這類基礎(chǔ)接口最容易犯的錯誤就是“會用了就翻篇”但實際項目做多了你會發(fā)現(xiàn)很多棘手的問題最后都能追溯到最基礎(chǔ)的引腳配置上。我自己就干過一件傻事——GPIO 號沒看仔細(xì)把舵機(jī)信號線接到了 ADC 專用引腳上調(diào)試了一下午最后發(fā)現(xiàn)是引腳分配問題。所以說基礎(chǔ)這東西往往比你想象的更決定成敗。如果你現(xiàn)在手邊就有一塊 Pico我強(qiáng)烈建議你把我上面舉的幾個例子挨個敲一遍特別是輸入模式和 PWM 換算的部分。代碼看著再多不如親手跑一遍來得印象深刻。等你把這幾段代碼吃透了再去做復(fù)雜的項目思路會清晰很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
四虎在线视频| 少妇三P| 97资源久久| 激情终合网| 久久‘黄片视频| 欧美天天射| 裸模AV女优| 亚洲高清无码AAA久久久精品| 夜夜嗨一区| 看黑人AV不卡| 五月综合色| 日韩无码精品综合久久| 久久国产精品m码| 亚洲丝袜B诱惑| 久久精品国产亚洲AV片多多| 97碰| 国产97色在线| 蜜臀av在线播放一区二区三区| 欧美 色 亚洲| 欧美色图97| 九九视频黄色片| 神马久久网| 不卡啪啪视频| 尹人大香蕉视频在线| 天天射天天操天天干天天吃2018| 青青草五月份天| 97青娱乐超碰久久| 九九久久一区二区三区| 污啪啪啪视频| 99精品在线观看| 一起草日韩| 日韩av电影成人在线| 91丝袜| 大屁股国产在线视频| 天天影视网综合少妇| 久久 国产精品 一区| www.伪伪| 一级特黄aaa大片在线观看成人一级片在线观看 | 思思热影视| 欧美一级美片在线观看免费| 香蕉久久国产AV一区二区| 九一国产精品| 久久久久久久久久久97| 思思热久久成人| 啊啊啊 在线| yiren97| 农村妇女精品一二区| 国产精品久久天天干| 丰满人妻一区二区三区在线| 人人操人人干网页| 久久精品国产精品一区| 人人做天天爱| 极品极品色影院| 日韩AV一起草| 伊人久久综合影院| 一本色道久久综合狠狠操| 综合少妇网| 蜜桃午夜视频一区二区| 黄呦呦在线| 97在线无精品| 亚州五月| 久久女人| 偷看洗澡一二三区美女| 日韩啪啪啪啪啪| 人妻少妇蜜桃视频欧美一区| 国产13区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 久久αⅴ| 日本黄色精品| 91狠狠综| 成人性爱美曰韩| 午夜黄色免费在线观看| 密乳无码| 97免费在线视频在线观看| 日本久操视频| 九七人妻在线| 1024精品在线| 亚洲第一页第二页激情| 亚洲一级性爱视频免费看| 日韩 欧美 视频 在线 一区| 亚洲综合五月天| 性色中出| 国产乱不卡| 香蕉99秘 一区精品蜜桃臀| 久草在| 蜜桃午夜视频一区二区| 国产乱伦搜索结果91P| 久久久久亚洲?V片无码V| 国产精品免费日韩| 大香蕉520| 狠狠色伊人亚洲综合网站色| 欧美一级A片不卡视频。| 黄色小视频日本txt| 欧美啪啪女女| 久久久久久性爱视频| 欧美韩日精品资源| 三级日本一区二区三区| 久久久久久久国产a∨| 91久操| 欧美美女在线高潮999| 综合97久久| 久久熟女嫩草成人片免费| 色97干| 乱伦a片视频| 婷婷色综合| 中国熟女网站| 九九探花视频在线观看| 三级片大波波| 99re6国产精品99re在线| 成片免费播放| 啊啊啊啊啊好多水| 被体育老师抱着c到高潮| 精品久久久av| 999999精品| 久草网站免费在线观看| 大香蕉中文aV在线| 婷婷丁香激情| 小草三级久久观看| 蜜臀中文字幕| 亚洲天堂人妻熟妇视频| 日韩精品区二区三区不卡| 亚av顶级裸体一区二区三区四区五区| 男人午夜天堂| 国产精品情侣啪啪| 熟妇女伦乱视频| 久久久久久久亚洲Av无码| 99国内精品| 玖玖爱伊人玖玖爱| xxx0国产在线播放| 日韩成人人妻网站| 五月天大香蕉| 人妻少妇精品久久久久久| 操逼逼中文字幕| 国产一区二区欧美日本| 久久一本大香蕉 | 欧美激情 日韩精品| 啊啊啊慢点| 国产成久久综合片| 国产精品一区在线播放| 亚洲天堂人妻熟妇视频| 青青草乱入乱欲视频在线观看| 免费一二区| 97色伦欧美| 色欧洲| 无码欧美有限公司| 日韩熟女操逼| 麻豆 亚洲 97| 成人av在线播放| 婷婷九月| 国产在线观看一区二区三区| av婷婷色网| 精品国产乱码| 久久色AV线| 黄色免费网页无码| 99re黄| 亚洲第一页色| 欧美18 在线观看| 欧美日韩少妇色情| 亚洲蜜桃V妇女| 亚洲色图欧美色图制服诱惑| 丁香婷婷久久 | 神马麻豆福利院| 97久久精品亚洲| 尤物av网站免费在线播放| 操美女人妻| 亚洲伊人a线观看视频| 性性欧美| 精品十三区| 精品视频在线观看精品| 蜜桃狠狠色伊人亚洲综合 | 婷婷人妻激情| 秋霞影音一区二区三区| 色色毛片| 91劲爆| 久久久久久久一级黄色打同平台| 欧美成人免费在线观看| 亚洲清纯唯美| 爱爱久久| 国产suv精品一区二区四| 东京热大香蕉| 欧在线一二区| 亚洲视频二区 | 超碰色97| 97精品久久久久中文字幕| 一区二区三区机械有限公司| 男女啪啪啪18禁网站| 1204av韩国| 人人扣人人操| 精品高清一区二区三区三州| av三级电影在线播放| 天天天天做夜夜夜夜做| 偷拍 亚洲| 国产精品无套内谢| 黄片免费看的| 亚洲欧美另类激情小说| 国产9l 大屁股| 日韩欧美蜜桃精品久久中文字幕久久 | 亚洲夜色在线| 人妻熟女av国产网站| 色色色天美视频| α√在线| 精品无吗久久| 中出20p| 中文字幕国产| 五月丁香六月激情综合| 六月丁香五月婷婷| 台湾佬中文娱乐网久久久久久久久久com | 久久XX| 91女人的网站| 97亚洲在线| 国产精品久久久久久 百度| 亚洲日韩av一区二区三区百合| 福利天堂| 色九九九九| 97啪啪| 欧美日韩性爱视屏免费看了| 伊人精品视频| 日韩欧美亚洲一区二区三区影院| 性在久久久久久| 国产激情视频在线观看| 探花激情视频| 精品人妻一区二区三区-国产| 人人插人人搞人人操| 在线免费试看60秒| 乱伦Av网| 熟女高潮精品一区二区| 国产麻豆一级精品视频| 97超碰中文| 欧美劲爆视频一区二区| 熟女一区二区三区四区| 亚洲AV乱码专区国产噜噜亚洲| 色区97| 日本黄大片在线观看视频| 中文字幕制服欧美久久一区| 国产亲戚伦亲在线| JIZZJIZZ亚洲女人被躁| 久久国产精品91| 七月丁香婷婷| 日本Suv精品一区二区| 中文字幕版| 大香蕉乱伦视频网| 亚洲影院成人| 天美av在线| 久久綜合很很很| 天天躁日日躁AAAXX| 日韩色| 欧美精品999| 尤物视频一区| 亚洲无码国产精品久久| 亚洲女人毛茸茸91| 人妻少妇久久久| 天堂中文资源在线bt| 超碰欧美97| 操逼无毒无码免费视频| 亚州中文字幕超碰97| 国产一区二区三区精品观看啪| 精品无码一区二区三区色欲| 超碰美国| 自拍六区| 清纯唯美激情| 亚洲AV无码秘 蜜桃臀国精产品| 久久久久九九九九九| dy888午夜老子影视达达兔| 日本超碰97日韩精品人妻| 日韩精品 资源| 国产无马av| 亚洲成人美女无吗| 久久久久成人亚洲国产| 中国一级特黄大片护士| 亚洲码在线中文在线观看| 亚洲一区二区av| 成人羞羞视频国产| 欧美 牲| 国产91精品福利在线| 亚洲男人天堂2019| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 色五月激情网| 亚州再线| 另类亚洲图色| 日韩成人大片在线观看| 亚洲第一页色网| 黄片qw| 国产99 中文字幕日韩小视频| 伊人久久88国产女| 欧美国产操逼| 夜夜骑夜夜操| 婷婷综合网| 色婷婷久久综合超碰| 91 天天综合| 午夜国产乱伦视频| 天天看片天天爽| 无码二级三级| 搡老熟女老女人老熟妇免费视频| 九九热av| 乱伦Av网| 久久99久久99精品天美传媒棢·纸:.| 中国熟女老妇仑乱一区二区三区| 日本精品不卡一二三区| 男人的天堂2010| 午夜九九| 丁香五月综合| 九九九九AV| 激情五月天色色| 熟女高潮精品一区二区| 青青操狠狠撩| 久久精品28| 99热在线观看| 国产精品网址| 干B视频伊人网| 欧美高清无码免费视频高清版| 久久久激情| 丰满人妻一区二区三区免费 | 任你干在线视频| 操逼不卡中文字幕| 深夜激情| 97综合在线观看| 国产精品岛国片在线观看| 插日本熟女视频| 激情小说日韩无码| 亚洲和欧美裸体美女双飞视频| 亚洲天堂人妻熟妇视频| 青青草原成人| 色91综合网| 五月综合婷婷久久网站| 精品国产乱码久久久| 大香蕉手机在线视频| 99这里只有精品国产| 后入福利视频| 成 人 影视 一区 二区 三区 四区| 国产家庭乱伦表演| 欧美久久人体| 操淫穴亚洲五月丁香| 久久一二三四五六七八九区区区| 波多野结衣AV无码一区| 久久久天美| 嗯……啊…嗯嗯…啊…好舒服| 九九干| 少妇久久久久久| 色香91| 日韩精品熟妇| 亚洲一区二区麻豆影院| 日韩三级伦理中文字幕| 熟妇人妻一区二区三在线| 婷婷综合| 久久婷婷色| 色鬼在线综合| 嗯阿好爽好紧| 免费久久精品麻豆一区二区av| 日比av无码| 亚洲激情色片| 97人妻免费中文字幕| 亚洲清纯唯美| 天天做天天爱天天爽AV| 狠狠干狠狠干| 加勒比大香蕉视频在线| 五月天激情网站| 免费精品中文字幕| 精品国产肉丝袜在线拍国语| 国产精品视频| 久久久久网站-538在线视频-欧美永久乱码| 岛国精品视频在线观看| 色呦呦呦在线观看视频| 精品人妻一区二区三区视频在线| 欧美传媒| 亚洲欧美日韩精品久久久一区二区| 国产99999| 自拍视频一区在线观看| 国产高清成人传媒影视| 九九九九九九九精品视频| 久久久天美| 柠檬AV导航| 欧美 亚洲| 极品粉嫩一区二区| 日日爽熟女| 性色综合网| 免费观看国产不卡av| 国模限制级电影| 91色夜| 91丝袜人妻| 男人的天堂网免费| 99日免费视频中文字幕| 女沟厕偷窥piss小便| 天天躁日日躁AAA片李宗瑞| 国产精品自拍欧美在线| 狠狠躁AV| 99re6国产精品99re| 青青草在线视频人人想人人上 | 澳门黄片一香蕉视频| 嗯啊抽插大香蕉网页| 亚洲大色堂| 欧美精品第四五页中文字幕在线观看| 伊人色综合欧美| 啊啊啊啊,啊啊好多水| 97色97干| 蜜臀少妇一区二区| 欧美另类丝袜熟女| 日本综合久久| 91成人亚洲色图| 先锋影音av先锋一区| 岛国艾薇凹凸视频天堂| 久久欲| wuyechaopeng| 婷婷三区| 99精品伊人| 青青国产在线拍揄自揄拍| 国产丝袜美女诱惑| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 无码137片内射在线影院| 综合网91| 日本性感人妻91| 青娱乐淫乱1314| 肏逼福利网站| 乱操乱伦AV| 精品国模无码| 家庭乱伦性爱av| 丝袜人妻av一区二区| 1000部熟女视频在线观看| 国产精品com| 波多野结衣一级视频| 在线看的av| 在线一道啪| 狠狠操天天干| 九九成人精品| 亚州精品人妻一二三区| 久久色网| 无码精品蜜桃一区二区三区ww| 国产区91柔拿会所技师| 色婷婷五月天| 精品国产乱码久久久久久久久1| 午夜福利av电影在线| 一区二区三区免费岛国片| 欧美专区日本专区| 日夜啪电影| 99热在线不卡| 蜜桃臀av一区二区| 天天操人人操狠狠插| 色乱二区| 久久av色| 草草草视频| 欧美日韩另类在线播放| 97久久天天综合色天天综合色电影| 欧美色图20P| 日韩免费av片高清无码| 毛片电影一区二区三区| 亚洲情色一区二区三区| 97精品在线视频| 日韩精品碰碰| 亚洲综合有玛| 国产精品久久泡妞网站| 嗯啊抽插大香蕉网页| 超碰 97国产熟女| 丝袜色综合| 日本免费二区三区| 夜间福利片1000无码| 日本天堂网| 超碰无码五月97| 中文字幕在线免费观看2| 亚洲高清无码AAA久久久精品| 精品少妇一区二区三区在线视频| 91少妇香蕉久久精品| 亚洲丝袜少妇在线| 久99久视频| 91国产丝袜美女| 人妻精品免费一二三区| www色色com| 自拍啪啪视频| 无码国产精品久久久久| 久久久久七视频| 日韩激情无码影院| 色呦呦、国产精品| 大香蕉综合网| 日韩人体偷拍| 啊v在线观看视频| 影音先锋视频在线| 亚洲午夜蜜臀| AV不卡在线| 高清不卡视频| 人人贴人人摸| 女人的天堂大香蕉网| 超碰精品97| 欧美v亚洲v日韩v最新在线二区| 成人五月天色网| 男人的天堂va| 青草青青久久久久久国产| 国产尤物在线三区| 岛国不卡超碰护士AV在线播放| 在线毛片片免费观看| ′ !γ}丶。。久久精品欧美一区二区三区| 97干在线视频| 久久久精久久久| 一级一性爱免费视频| 日韩中文字幕熟妇人妻| 久久中文字幕不卡人妻| 丝袜无码a片| 亚洲免费在线探花| 久久久久久九九九九九九| 久久久久久国产手机AV| 国内毛片四区| 97久精品| 亚洲成人免费中文字幕| 欧美日韩精品久久久久东北老熟妇| 国产午夜激片Av毛片不卡| 99蜜桃臀久久久欧美精品网站| 欧美日韩一区二区三区四区蜜桃| 国产九九九九九九| 精品久久一区二区三区四区五区| 国产精品不卡一区二区三区av| 91精品人妻一区二区三区蜜桃臀| 国产一级高跟丝袜| 东京热91| 中文字幕加勒比海高清无码免费视频| 日婷婷| 中精品一区二区三区| 狠狠狠狠狠| 欧美色九九| 区一在线观看| 大色综合网| 国产精品9999| 人人搡人人肉久久精品| 91久久久久久久久18| 超碰97中文| 中文字幕在线2| 视频二区美腿丝袜制服人妻欧美| 无码久久国产 | 射丝袜大香蕉| 大香蕉AV丝袜| 蜜乳AV网址| 99国产精品在线观看| 搡老女人老妇女AAA一VU麻豆| 99少妇| 超碰99热中文字幕| 狠狠干综合| 天天干夜夜一操| 超碰午夜| 一二区在线观看视频| 嗯嗯啊啊好疼| 爆乳免费黄网站| 秋霞蝌科网日本一区| 立川理惠被中出无码| 中文字幕精品三级久久久| 一区久久久二区| 久久精品国产精品亚洲艾通辽熟妇 | 亚洲码专区| 精品蜜乳AV免费观看| 在线天堂资源亚洲| 啊啊啊啊啊啊啊啊啊啊在线观看| 婷婷五月天小说| 超碰人人超在线观看| 欧美一区二区一级岛国大片| 四虎av在线| 老鸭窝在线视频播放| 久久綜合很很很| 日韩三级视频一区二区三区| 深爱五月婷婷| 欧美日韩岛国大片在线观看| 欧美综合综合| 亚洲中文sv| 男人的天堂无码| 物业黑人 AV一区| 国产91精品久久久久久久网曝门| 920日本午夜免费| 六月丁香网| 亚洲色图欧美视频| 岛园激情| 国产在线精品偷| 亚洲一区二区三区欧美日韩| 隔壁邻居波多野结衣中文字幕 | 久久久久九九九| 99久久久无码精品国产人| 99re这里只有精品9| 精品少妇99| 97色97干| 久操91视频| 精品无码久久久久久久杏吧| 成人午夜高潮av猛片| 无码精品久久久久久亚洲| 国产中文字幕在线观看| 99热99re6国产在线播放| 天天干1区2区在线| 久久精品综合| 97精品一区二区视频在线观看| 91丝袜人妻| 欧洲亚洲人妻无码高清久久三区四区| 91精品人妻一区二区三区蜜臀| 大香蕉伊人75| 亚洲天堂一区| 免费一级a毛片久久久久久鸭绿欲| 久久精品 六十路 熟女 欧美| 综合伊人网12色| 中文字幕一区二区三区字幕| 香蕉久久AⅤ...| 啪啪视频亚洲第一| 日本精品第一视频在'| 国产后入式在线观看| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 乱伦AVxx| 久久精品性| 黑操B| 麻豆人妻少妇在线免费观看| 无码男人天堂| 97se亚洲综合自| 亚洲网站一区二区在线| 欧美性爱免费短视频| 国产亚洲色婷婷久久99精品91葵花宝典 | 老熟女天天操| 国产高清午夜成人在线观看| 国产精品久久久久综合| 夜夜嗨一区二区| 国产精品一区二区三区在线密挑| 美女毛片999| 夜夜爽爽夜夜精品视频| 女人天堂av在线播放| 操逼天美3区| 日韩九区| 成人一区二区三区四区| 人人妻人人爽一区二区三区| 一道α片欧美| 国产无马av| 99操| 酒色综合网| 人人射人人操人人摸| 欧美激情总合网| 97在线资源| 98久久| 亚洲精品啪视频| aaa淫乱视频| 人妻精品一区二区| 无码av永久免费专区网站| http://qxhbdz.com| 久久↗↗| 亚洲三区视频| 日韩二级| 久久久久久久| 免费看欧美美女黄色大片| 丁香五月天堂网| 97精品国产精品免费观看| 天天色图| 久久伊人五月天| 国产白嫩精品久久| 极品销魂美女一区二区| 人妻AV在线| 国产熟女自拍| 九九精品99| 日韩一999精品| 日韩视频中文字幕| 熟妇熟女视频一区二区三区| 中文字幕、久久精品国产2020、久久综合久久自在自线精品自、亚洲 | 天天操狠狠日夜夜干超碰撸com视频在线观看 | 亚洲天堂男| 欧美三级中文字幕hd| 男人 天堂 日 亚洲| 国产无码久久高清| 亚 欧 美 综合| 亚洲欧美伦综合| 亚洲综合小说另类图欧美视频激情小说色五月天 | 国产AV人人 夜夜人人澡| V A在线| 97人妻色| 亚洲小说视频| 国产乱婷婷精品二区三区| 黄页av| 亚洲 日韩 欧美 国产综合体| 九九九只有精品| 中日韩久久久| 欧美综合777| 欧美十八禁网站| 久久久久久久久国产| 人人看欧美性爱| 亚洲欧洲第二视频在线观看色图| 影视综合无码少妇| 九一国产精品| av一区二区三区 中文| 91 综合网| 国产成人亚洲精品自产在线| 亚洲美女av无码| 国产精品suv一区| 在线A日本| 伊人四虎综合| 99热超碰在线| 天美传媒精品一区二区| 亚州色站 日韩电影| 熟妇xxxxx性春色| 性爱欧美五月| 日韩操逼性鲍| 欧美日韩国产色五月综合在线| 强奸乱伦动态污图免费 | 日韩九九九| 超碰人妻在线| 日本韩高清无砖码22o| 成人色女网| 国产精品色片一区二区| 色97欧美| 91色鬼| 五月天综合网| 精品欧美老熟女一二区| 裸体1区| 日韩欧美视频青青| 五十路六十路素人熟女| 亚洲欧美激情小说| 精品久久99| 久久人人爽爽人人爽人人片αV| 一区二区播放| 欧洲免费一区二| 国产黄色 A 片免费看| 91久| 成人一区二区三区四区| 99色热| 中文字幕日韩专区精品系列| 婷婷精品国产欧美精品亚洲人人爽| 色婷婷五月天| 国产精品免费日韩| 91少妇人妻| 啊啊啊啊啊啊啊在线| 两性综合网| 午夜亚洲WWW湿好大| 高潮9999外国| 91欧美偷拍| 色色综合网站| 日韩性爱毛片操骚逼| 噜噜噜亚洲精品| 日韩中文字幕熟妇人妻| 色小视频蜜乳| 久久免费精品视频免一| 天天日天天干天天色| 久久成人东京热人妻| 10000部十八禁看电影| 国产亚洲日本精品在线| 亚洲AV成人无码一二三久久| 激情欧美97| 超碰久在线天天做| 成人老鸭窝人人在线视频| 日韩成人网址| 一级@啪啪视频| 97在线观看| 是还免费视频1727我| 噜噜噜久久亚洲精品色情| 91n美女视频| 精品国产乱码久久久久A| 中日高清无码操逼视频| 午夜福利1区2区3区| 蜜桃臀 后入 一区 二区 三区 在线| 丁香五月激情综合国产| 强奸a片网| 自拍偷拍 日韩无码| heyZO天然素人无码AⅤ专区| 亚洲不卡三级手机播放| 97天天综合| 久草综合视频| 亚洲诱惑| 亚洲综合图片在线| 九九九九九用不成了| 性生活久久久久久久久久| 又摸又舔在线观看网站| 神马久久网| 成人久久无码www| 蜜桃久久久久久久| 999岛国大片| 国产日逼视频| 韩国黄片aaaa| 日韩欧美国产高清视频| 欧美黄片欧美黄片xxx| 午夜无码精品免费看性色| 久久超碰国产一区二区三区| 先锋激情∨在线视频播放| 激情五月综合开心五月| 人妻81p| 操我无码| 国模少妇一区二区三区| 五月婷在线| 嗯嗯啊啊视频在线看| 嗯嗯,啊啊,国产精品| 亚洲另类色图片| 亚热日本熟女| 日韩有码回春沙龙第一页| 中文字幕av片| 起碰97| 国产丝袜欧美在线视频| 92人人操人人| 亚洲高潮少妇| 91在线限制级| 亚州国产成人精品女人久久| 成人草草视频| 大学生美女口爆| 99re国产精品视频| 国产精品亚洲一区二区三区四区| 99re这里只有精品中心播放| 九九英色视频| 久久黄黄黄| 午夜精品久久久| yiqicaoav| 国产精品3| 久久三区四区| 国产美女在线精品免费看| 天堂无码精品国产久| 免费观看的av| 狠狠躁天天躁日日躁| 精品人妻视频一区二区在线播放 | A一区片| 国产精品久久久久久久久AV大片| 午夜高清成人在线视频| 亚洲色图在线视频| 青青伊人加勒比海| 欧美激情一区| 睡产熟女乱伦| 欧美色图中文字幕| 久久久精品,3| 999精品国产高清一区二区| 天天日天天色| silk lablo在线观看一区二区| 天天日天天干少妇日| 欧美一级久久久久久久大片动画| 免费又黄又裸乳的视频| 这里只有精品久久| 中文字幕乱偷人妻久久艾草网| 国产97亚洲| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 狠狠色婷婷| 中文字幕伊人| 久久久久久亚洲Av无码精| 这里只有精品视频| 国厂麻豆77q4| 死我十八禁| 日本精品网站在线中文| 一区二区激情国产熟女| 综合97久久| 亚洲成人在线高清| 亚洲色图激情小说| 亚洲午夜精品久久久中文影院| 亚洲中文字幕熟女| 超碰亚洲欧美日韩无| 97热视频在线观看| 中文字幕日韩人妻视频| 日韩99999色| 综合色91| www狠狠| 久久成人东京热人妻| 乱欲性色| 亚洲熟女乱色一区二区三区 | 97 超碰 人人做 人人爱| 欧美亚洲韩国视频十五区| 精品视频免费在线一区| 欧美国产日韩高清在线| 国产AV人人夜夜澡人人爽麻豆| 懂色中文一区二区三区| 91丝袜美腿网站| 丁香九月婷婷| 人人天天欧洲| 97综合网| 中文字幕视频一区视频二区| 日语五十路和六十路亚洲国产精品| 天天干,夜夜爽| 欧美97爱| 色综合中文字幕不卡| 香港澳门日本三级网站| 嗯嗯嗯啊啊啊操的我好爽| 色牛aV| 日韩精品人妻系列无码天堂| 日本中文熟女视频| 啊啊啊好湿久久| 乱性AV| 800zy一区二区| 国产黄色小视频网站| 性色avv| 黄色AAAAA欧美| 免费超碰97久久| 亚洲最大网站av| 97se亚洲| 日韩综合97P| 99啪啪| 国产h小视频在线观看免费| 蜜桃精品一区二区三区ww| 黄色av一区二区在线| 亚洲av综合色| 女人天堂av在线播放| 九九九久久久| 91人妻中文| 极品一区二区三区免费| 婷婷五月影院| 亚洲AV麻豆Aⅴ无码电影一| 亚州色站 日韩电影| 日逼视频日本| 伊人97| 久久婷色| 国产精品免费1区2区视频| 亚洲精品1区| 国产毛片精品一区二区色欲黄A片| 99热线麻豆| 久久久999日本大片| 精品美女久久久久| 久久亚洲天堂| 久久久久久中文字幕中文字幕最新| 26uuu最新| 夜夜无码| 蜜臀久久99精品久久久久免费观| 图片区小说区| 免费岛国一级片| 97超色| 欧美一区二区三区日韩| 91国产精品在线看| 淫荡网址| 丝袜色综合| 九九久久久久久爱| 天天做日日爱夜夜爽| 人妻丝袜美腿中文字幕| 天欧美在线| 日韩人妻操B| 色婷婷九月天天综合| 啊啊啊啊啊啊在线观看| 欧美成人都市人妻| 91三级理论片播放器| 青草成人免费视频一com| 国产精品久久久久久久久久久久久久久| 欧美视频中文字幕区| 日韩av性爱在线播放| 97国产精选| 男人的天堂VA在线| 欧美激情综合| 久久免费99精品久久久久久| 九九热九九| 美女丝袜激情小说| 歐美性天天| 天美国产三级传媒| 伊人久久大香大香线蕉中文 | 国产精品久久久视频| 色婷婷色99国产综合精品| 天天干天天燥| 国产日韩色综合| 网友自拍第一页| 久久在肏| 一区二区播放| 激情文学小说一区二区| 久久久专区| 欧美成va视频网站| 亚洲精品aa久久伊人| 国产AAAAAABBBBB| 翔田千里A片一区二区| 人妻精品一区二区| 欧美在线电影| 久艹99| 亚洲天天影视色综合| 嗯~啊~快点 死我视频| 99热最新网址| 色色五月天激情| 国产极品一区二区三区三州| 黑丝自慰喷水网站| 天天艹天天日| 日韩国产在线观看av| 免费啪啪av| av天堂天堂av日韩| 日本欧美韩国国产在线| 无码精品久久| 色操逼网| 六月丁香网| 91精品91久久久久77777俄罗斯老妇姓x| 摸奶性爱视频网站在线免费播放| 精品无码一区二区| 操逼视频免费日韩无码| 老色鬼成人精品视频下载大在线观看| 欧美色宗合| 亚洲综合色男人网| 神马久久久久久| www.AV有限公司一区| 国产亚洲精品av一区| 亚洲av资源| 伊人网在线观看| 免费精品99| 9+1视频网址| 中文字幕av乱伦| 免费国产电影一区二区| 99久热精品99re6热| 亚州免费啪啪视频| 蜜臀th| 日日天天久久啊啊aaa| 最新国产亚洲精品精品国产亚洲综合| 日韩欧美亚欧在线视频| 视频一区二区三区精品| 五月婷婷激情综合| 亚洲偷拍自拍在线视频| 日本在线不卡一二区| 国产精品视频在线观看| 亚州,欧美在线| 国产传媒美日韩av| 肉动漫无遮挡h在线观看| 性色高清..……| 偷拍亚洲视频一区二区三区四区| 日韩欧美天堂| 97鸡把在线视频| 91A欧美电影网站| 青青草好吊色| 色综91| 97网色| 97在线日韩中文字幕| 天天日日本| 97在线精品观看视频| 免费黄色片。| 偷拍伦理视频| 久插综合| 大香蕉日韩欧美| 国产在线视频午夜精华在| 国模不卡| 国产九区| 日韩福利电影网| 国产精品视频精品一二| 国产乱伦性爱区| 国产 无码 一区二区| 婷婷五月天成人网| 青青草国产亚洲精品久久| 久久夜嗨| 日韩欧美性吧婷婷乱伦大香蕉| 三级AV入口| 国内毛片免费h片在线| AV天天综合| 大干人妻| 中文字幕乱亚洲美女精品一区| 内射老妇BBWX0C0CK| 天天干天天干天天干| 日本精品免费一区二区三区四区| 亚洲图片欧美偷拍| 插穴性爱视频在线观看| 精品人妻1237| 国产精品午夜福利| 久久久免费一级黄片| 欧美性,色九九| 亚洲色欧美| 欧美久久人人网| 蜜臀久久久| 九七超碰| 上海一级黄片| 老熟女区| 亚洲色悠悠久久88| 国产亚洲福利第一页丝袜| 免费看久久久性性| 天综合网欧美| 天堂成人网| 五月激情小说| 亚洲男人的天堂在线看| 韩国一级婬片A片无码天美| 日韩欧美午夜视频在线| 粉嫩小泬久久久一区二区| 97精品久久| 99热这里只有精品8| 一二三四区操操Av| 人妻9117c| 精品人人| 成人小说另类在线| 久久9久9久99久9久9| 中文乱码字字幕在线第5页| 婷色五月天| 日韩91网站| 婷婷五月天AV| 屁股久久久久久| 精品一区二区三区蜜桃臀赵总 | 十八禁的黄污污免费网站| 99碰碰| 欧洲视频在线| 色综合av男人天堂| 国产精品久久久久久9999| A 天堂| 北京美女一区二区| 成·人免费午夜在线观看| 天天综合有色网| 精品无码久久| 2001天天操| av黄图片在线观看| 日本精品国产视频| 精品国产无码中文| 夜夜夜夜爽| 偷拍亚洲熟女视频播放| 亚洲在钱| 激情综合二| #NAME?| 92人人操人人| 国产综合久| 午夜福利成人免费视频| 屁股久久久久久久久久| 日韩天天综合| 色综合美国| 日韩大香蕉| 91扒丝袜综合在线| 亚洲欧美另类激情小说| 九九九九九用不成了| 免费A片三p视频| 制服丝袜第二页| 岛国毛片在线观看免费| 四季av一区二区凹凸精品小说| 入口操逼网站| 97在线免费视频观看| 嗯嗯啊好大| 一区三区啪啪| 97视频在线播放| 99蜜桃臀亚洲成人在线观看| 香蕉久久国产AV一区二区| 蜜臀久久99精品久久久电影| 俞拍自拍| 狠狠久久亚洲欧美专区| 奇米四色网| 午夜精品久久久久久久99| 韩国一区二区精品亚洲| 黄片国产精品一区二区| 欧美se综合| 99www.bibizy香蕉资源国产一区二区三区高清 | 91chinese在线| 成人无遮挡毛片免费看| 啊啊啊轻点在线观看| 色盈盈影院| 天堂中文日本在线观看| PMv在线观看| 亚洲性猛| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 国产无码精品无码| 久久久中文版| 99re这里只有精品中心播放| 美女操逼A A| 亚洲毛片久久| 亚洲男人天堂视频 | AA级电影三区| 床戏久久久av一区二区麻豆| 78久久久| 人妻AV 中文字幕的| 天天日B夜夜干B时时操B| 精品欧美老熟女一二区| 狠狠爱夜夜| 韩国嫰模上门援交视频| 欧美天天谢综合网| 久久98| 亚洲无线码一区国产欧美国| 夫妻天天操岛国视频| 人妻 欧美亚洲| 亚洲精品 欧美精品| 人人喜人人妻| 一区二区三区四区色图| 在线视频免费播放一区| 亚洲一区日韩精品| 女生91网站| 亚洲无码一区成人免费午夜| 1区2区3区中文字幕日韩| 顶级少妇BT天堂| 俺去久久| 五月天成人综合| 99人人干| 国产视频一区二区免费| 午夜精品五区| 69视频入口| 秋霞网无码| 五月天婷婷在线看| 精品九九| 欧美精品宗合| 9 9无尺码天堂网| 曰韩中文人妻视频| 天美麻豆一区二区三区| 欧美骚少妇| 67194无码不卡| 色综合色综合网| 黄网色一区二区三区四区精品| 日本一区视频在线观看| 国内精品嫩模A∨私拍小视频| 国产久9| 老女人碰碰在线碰碰视频| 西西美女视频网| 欧美亚洲美少妇一区二区|