久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码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
返回資訊列表
91人妻精华帖| 亚洲一区中文字幕| 国产黄a三级三级三级av在线看| 欧美草草| 动漫av中文| 97色诱| 偷拍超碰| 欧美激情视频一区二区三区不卡| 男人的天堂无码| 中文字幕人乱码中文字的预防方法 | 尤物av网站免费在线播放| 国产av尤物| 日本黄色精品| 爱啪精品一区| 色婷婷五月天| 日韩人妻免费精品| 亚洲中文字幕av| 久久伊人网视频一区二区三区| 久久精品中文字幕无码l| 97超碰人操| 天天舔天天 | 嗯嗯啊啊视频在线看| 国产黄片精品在线| 亚洲欧美日韩偷拍色图| 日韩91网站| 亚av顶级裸体一区二区三区四区五区 | 操逼逼一区视频| 18+91网站| 久久久久性熟视频| 蜜伊人色综合97| 精品中文字幕一区二区l - 百度| 成人av影院在线观看| 久久一区二区蜜桃| 丰满少妇一区二区三区免费看| 99国产在线绯色一区| 操逼网免费无码视频| 久 久无码人妻AV| 中文字幕视频免费| 日韩 欧美 校园一区| 婷婷香蕉| 在线观看日韩av不卡| 久久久久久精品免费看A级| 亚洲 暴爽 AV人人爽日日碰| 97网址97| 屌妞视频久久久久久久 | 中文字幕在线观看AV| 久久精品色欧美aⅴ一区二区| 欧美日韩在线小说| 亚洲熟女乱综合一区二区三区 | 插老姨肥穴| 一本道综合色图| 热99这里只有精品| 国产不卡片| A级国产欧美激情在线| 亚洲黑人在线| 九九视品黄色| 中文字幕88av在线| 欧美亚洲美少妇一区二区| 日韩黄片影院| 欧美伦乱爱| 蜜桃臀av在线观看| 天天操天天舔| 国产小u女在线观看| 天天综合网网欲色| 人妻丝袜美腿中文字幕| 天天插夜夜操| 色色99| 老女人爆菊| 五月天婷婷色| 欧美天天综| 婷婷色香| 激情色图| 日本久久99| 美女刺激久久国产欧美| AV高清一区| 欧美亚洲AN| 97在线观看免费| 日韩欧美~中文字| 国产精品夜夜| 中文字幕国产| 天天综合网~91| 人妻丰满熟妇一区二区三| 国产精品ww久久| 精品1区2区3区| 久久精品99久久久久久| 超碰天天去日穴| 国产精品网站免费| 一线黄色免费性爱片| 婷婷国产精品九区| 欧美色图20P| www国产无码| 欧美 日韩第一性色| 久久久久久99999国产精品| 新怡红院| 黄色av网站在线播放| 丰满人妻av一区二区三区| 亚洲AV免费在线| 色月天AV导航| 免费成人在线观看91| 欧美性爱日韩高清| 激情综合网激情五月天| 婷婷精品国产一区二区三区日韩| 青操影院| 国产精品久久久久久久久久梁医生| 欧美强奸乱能| 家庭乱伦网站国产| 中文字日本乱码| av2014 日韩在线中文字幕| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 久久理论字幕视频| 97精品全部| 大香蕉视频一二三区| 东京热男人的天堂精品| 亚洲操操| 一区二区三区不卡视频| 日韩欧美俄罗斯A片| 精彩视频日韩| 影音先锋新男人| 日本高清电影欧美色图| 男人的天堂无码| 亚洲精品少妇| 五月婷婷六月激情| 欧美日韩中文字幕不卡| 中文色综合| 久久久啊啊| 久久97视频| 首页中文字幕中文字幕免费| 日本精品一区二区三| 91无码西班牙视频在线| av无码av无码专区| 手机看片91人妻| 1024亚洲中文字幕久在线看片你懂的 | 伊人9| 日韩电影天堂视频一区二区| 网友自拍第一页| 啪啪AV导航| 天天天天天天天天天天干美女| 国产成人网址| a啊啊啊啊啊啊啊啊一区二区| 亚洲乱码尤物193YW| 91美女国产在线| 狠狠色噜噜狠狠狠狠2018| 97久久精品亚洲| 91美女视频在线| 天天躁日日躁成人字幕aⅴ| 美女主播色欲91抠b在线播放| 国产免费黄色一级大片| 亚洲美女黄色| 91丨九色丨东北熟女| 亚洲日韩狠狠撸视频| 国产 亚洲 丝袜 制服| 欧美亚洲se91| 亚洲 日本 不卡| 欧美丝袜91| 美女黄页网站| 屁股久久久久久久久久| 黄色不卡视频| 日本999精品视频| 亚洲国产天堂| 黄色片一区二区三区四区五区| 久久黄黄| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 久久鲁夜| 欧美一级A片在线看视频性色| 本道在线| 91国产美女丝袜足交精品视频| 精品国产乱码| 久久久涩| 在线观看A啊啊啊| 激情小说五月天| 四虎在线观看视频| 久久久成人精品| 五月丁香六月婷综合成人综合| 农村妇女精品一二区| 久久一区,青青青青草视频在线播放| 97超碰人人模人人拍人人| 亚洲精品久久久久久久蜜桃臀| 69天堂| 伊人久久大香大香线蕉中文| 婷婷五月天影院| se吧提供国产乱老熟视频胖女人 | 久久97超碰| 九九这里只有精品| 国产精品第一区第一页| 天天日天天操心| 欧美高清91| 99国产精品人妻人伦| 美日韩男女操屄视频| 日本一天色道久久久精品视频| 欧美日韩香蕉| 可以免费看黄片的视频| 91精品人妻一品二品三品| 操死我了嗯嗯嗯| 婷婷中文字幕| 人妻欧美| 大香久久| 伊人久久婷婷| 天天在线91| 国产宅男宅女在线观看| 激情图片伦理国产一区二区日韩| 久9久9久9久9久9久9| 日韩AV噜噜噜一区二区三区四区| 热无码中文亚洲H一道本一区二区| 欧美日韩性爱精品| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 98人妻精品一区二区色欲| 极品综合| 欧美精品丝袜久久久中文字幕| 亚洲狠| 99爱爱| 在线a v| 97天堂| 国产乱子伦一区二区三区免看| 日韩AV一区二区三区三州三州| 国产免费一区在线观看| 超碰97首页| 一区中文字幕二区日韩| 少妇同性| 中文字幕精品丝袜| 国产精品制服丝袜中文字幕日韩一区二区三区| 女同在线视频一区| 久久婷婷色综合一区二区三区| 免费簧片在线观看| 国产亚州精品美女久久久免费| 74成人在线| www.99色| 好爽视频在线观看视频| 麻豆天天躁天天揉揉AV| 久久久涩| 东京热男人天堂| 久久免费9| 97免费视频在线| 97欧美色综合| 精品人妻少妇| 九九热re99re6在线精品| 天天综合网1| 黄色十八禁| 精彩久久中文| 91中出视频| 丰满人妻-区二区三区免费看| 无马一区二区| 啪啪啪男女亚洲中文字幕99| 青青草一本道福利视频| 日本免费一区二| 亚洲情色91| 久久精品视频久久久| 欧美人人AAA| 超碰在线观看av不卡| 中文字幕一区电影在线观看| 婷婷丁香在线| 久久av无码| 老熟女91视频| 一区二区高清视频| 久久久久九九九九| 亚洲啪啪视频免费| 日本高清一区二区在线| 欧插网站| 天欧美在线| 啊啊啊好大好深| 久久精品熟女亚洲AV麻豆软件| 你懂的在线观看区国产| 强奸乱亚洲| 九九在线精品| 9久精品视频在线观看| 精品高清牛人盗摄一区二区三区中文字幕A片免费在线观看 | 久久久草成人网站久久久草成人久久久草久久久 | 12一15性XXXX粉嫩国产| 无码人妻丰满热妇又大又粗| 免费看污网站| 少妇特黄一区二区三区| 欧美Ⅴ性爱| 日本天天操| 天美传媒国产原创中文字幕亚洲欧美另类 | 欧美色图天堂网m| 夜夜嗷嗷一区二区| 日韩三级av片| 国产精品婬乱一级毛片彝族| 大香蕉乱伦视频网| 东京热熟女亚洲视频网站| 国产综合久久久麻桃个| 国产无马视频| 亚洲 图片 欧美 色图| 亚洲无992tv| 中文字幕av亚洲在线| 久久麻豆一区二区| 综合欧美日韩在线| 午夜福利激情在线视频| 欧美在线播放aaaa| 蜜臀久久99精品| 亚洲欧美综合| 欧美激情综合| 肥佬影院91| 郑州宾馆老熟女露脸啪啪| 啪啪91| 97精品国产精品免费观看| 欧美乱伦专区| 天天插天天操| 国产精品午夜福利| 人看人人摸人人操| 我中文字幕6区| 日韩黄色片子| 九九自拍伦理| 最新岛国大片| 99 国产丝袜在线| http://qxhbdz.com| 精品少妇人妻| 日韩射图| 国产精品白丝在线播放| 无码动漫av中文字幕| 亚洲啪啪性视频| 九九自拍伦理| 国模吧 一区二区三区| 校园春色之综合网| www.99色| 日本孕妇孕交| 国产无套粉嫩白浆在| 蜜桃臀AV在线| 95人妻爽爽人人做人人澡| 熟人人妻少妇精品久久| 一区二区日韩欧美久久| 精品人妻一二三| 日本97久久久精品| 国产农村妇女精品| 五月天色综合| 国产精品片| 天美国产精品| 熟女人妻精品一区二区视频| 超碰 另类 欧美| 中文字幕第9页萱萱影音先锋 | 大香蕉黄色一区| 久久久久白虎| 久久a久久| 操B视频日韩无码| 啊啊啊啊啊啊啊啊要喷了| 久久久久国产精品喷潮免费观看臀| 亚洲Av噜噜一区二区三区妖精| 性爱Av免费| 一级免费精品| 你操综合| 色噜噜精品一区二区三| 日本欧美不卡| 日韩精品人妻系列无码天堂| 日韩人妻免费精品| 91人人操| 欧美在线视频观看一二三四区高清| 草草草视频在线免费看| 无码人妻系列少妇| 六六久久日韩不卡| 少妇久久久久久久| 亚州欧美一区| 日本不卡卡一区| 国产麻豆福利av在线播放| 人妻娇喘 激情视频| 欧美久久毛片基地| av在线不卡一区二区三区| 蜜臀99久久精品| 丁香婷婷激情五月天无毒不卡| 亚州综合AⅤ| 婷婷色导航| 国产中文字幕在线点播| 少妇熟女一区二区三区| 中文字幕第23区| 色噜噜狠狠色综无码久久合欧美| 国产最火爆久久国产网站网站| a片亚洲一本通视频| 1769国内精品视频| 亚洲熟妇综合久久久久久| 性欧美另类高清| 日韩国产乱子伦App| 亚洲图片视频小说| 欧美日韩淫加| 亚洲综合码| 九九伊人网| 太久视频| 免费αV在线视频| 91 天天综合| 日韩丝袜高跟制服在线观看| 97精品视频免费| 精品一区二区成人| 99e久久国产精品| 丝袜美腿操av| 天天天做天天天爱天天天爽| 精品网站99999| 激情五月天视频| 欧美aaaaaaa| 亚洲无无码αⅴ每日更新| 黑人性欧美| 亚欧美色图| 夜夜 中文视频rt| 97视频在| 久久综合超碰| 日日嗨AV一区二区夜夜| 日本免费中文一区二区三区四区| 狠狠操综合| 久久肏大逼| 中文字幕在线观看二区三区| 韩国一级做A片免费的| 绯色一区二区三区不卡少妇 | 欧美91久久久久| 欧美天天搞| 青青草影视蜜久久| 久久午夜神马| 九九九九精品视频| 人妻久久一区二区三区 | 黄色大片一区二区密桃丝袜| 久久久穴999| 日韩免费在线观看不卡| 乱伦一二三区| 无码人妻一区二区三区免费九色| 国产熟女无套内射| 草草电影院| 久久黄片国产一区二区| 国产精品亚洲高清在线| 啪啪资源网| 五十路熟女,国产欧美精品区一区二区三区 | 91宗合网| 在线人妻熟女一区二区三区四区五区| 秋霞一级视频在线观看免费| 91日日| 少妇与黑人高潮在线| 欧美熟妇乱码在线一区| 和协影院中文字幕三区| 佐山爱中文字幕| 天天天天天超碰| 中文字幕在在线观看网站| 亚洲麻豆18发?| 午夜久久久| 欧美精品庄| 精品综合久久久久久五月天| 伊人久久大香线蕉无码| 日韩性爱视频在线免费观看 | 97色色,97综合| 91N综合网在线| 国产精品不卡少妇白| 97色97干| 中文字幕亚洲永久精品| 乱伦系列一区二区| 精品人妻一区二区三区-国产精品 一个人在线看的黄色电影网站 | 日韩av情韩国爱禁区av一区二区| 天天综合网视频91| 美女天天干| 天天色播亚洲综合网站| 用力操死我| 屁股久久久久久久久| 欧美裸体美女日麻屄| 日本操嫩b网| 亚洲综合97中文网| 久久精品综合| av在线播放国产一区| 欧美另类精品xxxx| 蜜臀久久99精品久久久久久久久| 亚欧美综合网。| 东北少妇高潮zzzz| 99热婷婷| 精品少妇人妻一区二区三区| 强奸乱伦AV网站| 精品久久青青草| 欧美肥臀在线| 日本一级二级三级网站| 一区二区三区四区久久视1| 变态综合色| 夜色AV无码手机在线影院 | Julia Annxxxxx| 亚洲欧美日韩制服另类| 久久久久骚| 四虎AV在线播放| 亚洲最大成人a毛毛片| 东京太热久久久| 精品熟女呻吟久久91| 在线无码操| 曰韩少妇无码| 国产对白刺激视频| 亚洲蜜臀懂色| 黑人美精品 A片| 99热精品青草在线| 五十路六十路七十路熟婆| 女人天堂AV五区在线| 欧美性高潮| 九色婷婷| 亚洲少妇在线观看| 国产剧情一区在线观看| 淫荡网址| 99啪| 精品久久久高清无码| 麻豆AV96熟妇人妻| 国产精品视频自拍在线| 欧美亚洲美少妇一区二区| 懂色中文一区二区三区| 亚洲熟女乱综合一区二区三区 | 97色色色综合网站| 国产精品分类在线观看| 高跟伊人julia ann| 欧美性生活男人的天堂| 欧美色日| 婷婷亚洲综合| 大香蕉日韩欧美| 久久久久久人妻| 精…码一二三区| 97干色天堂| 高清无码一区二区三区| 91人妻久久久久久久久久久久久| 日本午夜精品理论片A级APP发布| 青青操日韩| 殴美牲| 人人性爱视频免费| 屁股久久久久久久久| 久久久久9999| 日本性爱视频一级| 精品大全99999| 熟妇在线视频一区二区| 欧美呦呦性爱| 99操逼| 久久嫩草国产成人一区| 亚洲国产麻豆一区二区三区 | 日韩欧美视频青青| 人妻一二三区| 97超碰欧美精品| 超碰97色色| 日本在线不卡v二区| 欧美色图第一页| 激情欧美日韩女同久久| 欧美久热| 乱伦图一区| 青娱乐黄色录像| 熟女一区二区三区| 嗯嗯啊啊视频在线看| 国产精品女久久久久av爽| 日日夜夜国产综合| 91美女高潮| 国产91精品久久久久久久网曝门| 欧美亚洲日本激情在线| 青青草日逼视频| 人妻乱仑一区二区三区| 神马久久午夜| 日韩射图| 天天综合网~91入口| 日本三级中国三级99人妇网站| 欧美福利视频啊啊啊啊| 日韩人妻无码不卡网站| 日韩中文9| 厕所偷拍在线| 国产超碰| 日韩不卡毛片Av免费高清| 深夜福利黄片| 屁股久久久久久| 综合色久欲| 日韩99神马视频片| 在线天堂999| 97五月天| 丝袜美腿诱惑亚洲欧美视频在线观看| 欧美性巨大╳╳╳╳╳高跟鞋| 97亚洲自在精品在线观看| 青青三级视频| 久久超碰大香蕉| 97久久精品亚洲中六字幕| 天堂岛av| 日韩一级成人毛片免费观看 | 台湾佬激情综合| 日本有码久久| 白嫩国模丰满一二三区| 亚洲av综合色| 人人操我人人干| 人人操人人精品影片| 97就爱干| 欧美一二级| 加勒比伊人影院| 嗯嗯啊啊好大好爽| 极品久久久久久久久久久久久久| 九九成人精品| 99热精品国产| 欧美图片偷拍| 国产视频三区四区| 69人妻人人揉人人躁人人精品| 五月天婷婷色| 久久天堂婷婷网| 九九热精品免费视频| 欧美亚洲国内自拍| 欧美大香蕉在线观看| 国产精品 亚洲情色| 看看小穴| 亚熟hd视频在线| 欧美亚洲AN| av网站在线观看了| 精品毛片av一区二区| 蜜桃成人1区2区3区| 九九夜精品九九在线| 91蜜臀人妻中文字幕在线| 色网1| 久久精品中文字幕女同| 91操熟女视频| www.超碰在线| 欧美日韩制服| 久96热在线观看视频| 亚洲色图欧美一区二区不卡| 国产一区二区在线播放量| 国产精品久久久久无码A√| 3028国产精品| 丁香五月影院| 口爆欧美91| 国产青青综合伊人| 国产精品久久泡妞网站| AV麻豆免费一区| 国产精品免费美女视频| 色婷婷五月综合| 天天享受天天看| 伦理日韩国产久久| 日韩精品人妻| 中文字幕精品区先锋资源| 一区二区你上我| 国产乱人妻精品入口| 久久超碰天天| 992视频一区| 天天视频网站黄| 91精品伊人久久久大香线蕉91| 秋霞曰韩R级| 嗯阿好爽好紧| 啊啊啊 在线| 日韩欧美午夜一区二区| www.99在线| 欧美伦乱爱| 欧美日韩狠狠爱| 黄色片,com| 久久手机视直播| 不卡六六在线91| 情趣丝袜无码操逼视频| 五月天婷婷激情| 亚洲啪啪啪啪视香蕉| 2017大香蕉| 久草免费在线一区二区| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 亚洲一区制服诱惑| 亚洲密乳AV| 欧美亚洲综合色| 国产av色网| 免费又黄又裸乳的视频| 99热99re超碰精品| 一二三区精品视频| 强奸乱伦大香蕉网| 国产精品国产| 久久性爱精品一区| 日韩有码一区三区| 青青青在线高清视频在线一二三四区| 岛国激情视频软件| 超碰精品| A片大香蕉在线| 中文字幕日产av人| 97在线免费视频观看| 强奸xx国产| 少妇精品久久久八区九区| 免费看国产曰批40分钟怎么下载| 日本天天吊| 亚洲Av诱惑| 97色色网| 性色aV一区二区三区噜噜| 免费观看啪视频| 女上位精品在线| 色欲蜜臀AV| 狠狠2050在线观看| 黄色AAAAAAAAAAA大片| 九九自拍伦理| 人人看人人爰人人操| 啊啊啊啊啊啊啊啊啊啊在线观看| 91操操操操| 夜夜操91744565| 蜜乳AV免费观看| 中文字幕亚洲欧美在线不卡| 日韩强奸av| 欧亚日韩三区| 一级毛片电影免费看| 亚洲国产剧情少妇激情| 伊人五月天婷婷| 98精品国产乱码久久久久久| 国产91啪| 蜜桃AV天堂| 中文字幕 码 自拍 视频 区| 91麻豆天美| 美女淫穴| 亚洲九月丁香| 亚洲色性| 亚州色站 日韩电影| A一区片| 人妻黑丝袜电影| 免费综合亚洲中文| 日韩有码专区| 影音综合网| 思思热免费在线视频| 999九九九九国产动| 探花激情视频| 亚洲综合在线第一页| 哈哈操电影AV| 无码操逼网| 国产三级中文字幕粉嫩 | 91美女視頻| 欧美 亚洲 偷拍自拍| 亚洲图片91| 91久久午夜无码鲁丝片久久人妻| 2017人人操,人人摸| 日本国产二线女色| 97天天摸天天碰| 韩国手机不卡无码三级视频| 亚洲国产精品久久久久婷婷老年| 色五月激情综合网| 最新亚洲黄色免费电影| 国产精品久久久久久久久久久久久久久久 | 日B操| 九九九只有精品| 综合久久婷婷| 国产成人久久精品蜜臀| 中文字幕精品丝袜| 国产亚洲中文不卡二区| 日韩欧美久久婷婷网站| www.99色| 91P0RNY大屁股人妻| 五十路熟女工口| 综合色久| 欧美另类精品xxxx| 大香蕉草草| 欧美日韩资源在线| 日韩国产乱子伦App| 熟女熟妇伦久久影院毛片一区二区| 欧美黑人性猛交91| 成人福利视频网| 激情天天视频| 人妻精品一区二区| 四虎影视在线| 91网亚洲| 丰满高潮18xxxx| 欧美高清第一页| 久久婷婷欧美| 五月天色电影| 精精夜夜| 色综合20p| 97在线国产精品| 99综合视频| 成人三一级一片aaa| 国产一国产一级毛片古装| 男人天堂无码| 亚洲熟女一区| 人人超碰在线观看黄| 夂久色| 日欧操屄视频| 日本色色的视频| 做爱A级亚欧| av网站国产主播在线| 東南亚性呦成人伦理资源在线视频| av线电影| 男人的天堂VA在线| 天天摸夜夜摸| 嗯啊不要在线观看嗯啊| 懂色av色欲av蜜臀av| 乱伦熟女论坛| 亚欧色图在线激情| 天天综合网网欲色| 欧美97爱| 欧美一级A一级a爱片久久| 黑人在线91| 2017天天拍大香蕉| 国产99999| 日韩欧美性吧婷婷乱伦大香蕉| 91在线欧美| 中文字幕精品免费一区二区| 极品销魂美女一区二区 | 国产东北女人在线视频| 91影库| 艹精品| 思思热免费视频观看| 国产一级黄色片在线观看| 探花精品视频| 嗯啊不要在线| 国精综合一二三区影视| 亚洲999综合| 亚洲少妇激情一区二区三区| 日本亚洲嫩草影院啪啪| 欧美天天弄| 2019精品国产无码成人| 久草免费福利在线播放| 国产精品熟女乱伦| 天天欧美欧美亚洲网| 国产亚洲欧洲在线观看| 伊人国产视频| 久久久久大香青草精品综合| 91碰碰| 肥佬影院91| 东北女人高潮视频| 国产v亚洲v日韩v欧美v片另类| 日韩欧美福利视频看看| 国产精品网址| 日本三级韩三级99久久| 猛交交| 国产成人天堂| 97操97干| 精品久久久av无码免费| 亚洲字幕一区二区| 午夜大香蕉| 久热超碰| 96精品在线| 日韩99999色| 97色涩| 久草男人天堂| 欧美色图99| 久久丁香久草综合网| 大香网站| 日本青青草在线| 91青青在线视频| 日本一区二区中文字幕久久| 色色福利| 又大又长又爽| 久久精品99久久久久久| 亚洲se91| 日本无码1| 欧美精品四区| 人妻少妇久久| 日本黄色精品专区网站| 婷婷色在线| 青青草国产盗摄一二三区| 久久蜜桃一区二区| 亚洲?V无码专区在线电影| 在线国产探花| 91天射| 日韩三级伦理中文字幕| 欧美综合区| m欧洲一级午老| av天堂电影网| 日本污ww视频网站| 久久大陆| 美女久久久久久久久久久| 五月丁香六月综合缴清无码| 日本精品高清一二区一本到| 五月天色色色| 91亚.色| 97人妻免费中文字幕| 蜜色网色哟哟| 亚洲无码一区成人免费午夜 | 懂色AV中文| 亚洲天堂男| 国模少妇一区二区三区| 91超碰碰在线| 免费av在线播放二区| 天天色香欲综合网| 青草一区二区| 国产无套粉嫩白浆在| 北野未奈加勒比av| 好吊色综合| 99热精品在线播放| 亚洲第91页 | 手机看av网站在线看| 久久久久久久97| 国产视频一区二区三区在线免费观看 | 日本人人操人人操| 吉川爱美亚洲二区在线 | 久久久国产三级黄色片| 亚洲性图91| 国产二区视频在线观看电影| 亚洲国产一级中文综合久久天堂在线免费观看 | 欧美少妇性乱| 日本性爱欧美性爱| 欧美中字二区| 欧美人与动性人交a| 狠狠色综合网| 加勒比久久av| 四虎国产精品永久地址入口| 嗯阿好爽好紧| 精品国产乱码久久| 欧洲色色| 午夜福利合集| 涩五月婷婷| 久久久日本电影| 亚洲精品久| 蜜臀AV秘一区翔田千里| 一本久久精品中文字| 国产精品制服丝袜清纯唯美| 操淫穴亚洲五月丁香| 1769一区二区| 999国产精品999久久久久久| 婷婷中文字幕| 人人爱人人乐人人操| 亚洲色图加勒比| 色狠狠 - 百度| 久久激情视频| 亚洲色图超碰在线| 国产无码高清操逼视频| AV中文字幕剧情1区2区3| 亚洲国产高清福利视频| 国产兽交视频在线播放| 天堂在线一区二区| 伊人97| 被操高清无码视频| 777奇米影视777四色| 五月天黄色激情视频| 4141514逼喷水三级片| 三级AV入口| AV在线性爱| 国模不卡一本二本三电影| 亚洲伊人久久综合97| 艾草av| 唐山老熟妇露脸啪啪叫| 97K超碰在线| 欧美 青青草| 国产一区二区欧美日本| 凹凸精品熟女在线观看| 国产丰满少妇久久久精品影院| 国语对白在线播放视频| 97亚洲精品超碰| 日韩欧美女优电影| 国产一区二区三区高清视频| 久操九九九九| 九九精品99| 欧美日韩另类激情图片| 国产极品久久久| 一级黄色影片| 中文字幕91页| 97欧美超碰| 欧美综合在线第一页| 日本免费不卡二区| 日本韩欧美在线播放a| 亚洲一区二区三区在线激情| 成人开心网在线视频| 欧美亚洲第1页| 激情九月婷婷| 亚洲精品xxx| 亚洲天天综合| 91激情国产| 激情文学欧美| 精品久久久久,69国产成人精| 日日操丁香五月天| 久久久久久久强迫| 丝袜美腿91| ss久久| 高清无码 国产精品| 亚洲一区日韩精品中文字幕| 日韩无码第3页| 久湿久久 | 丝袜无码a片| 99久久com免费视频′| 色婷五月| 熟女视频久久| 午夜福利免费福利视频| 国产一级高跟丝袜| 囯产精品久久久久久久久久梁医生 | 亚洲第91页| 天天日天天舔天天喷天天射| 日韩av不卡在线观看| 园内精品自拍视频在线播放| 久久亚洲中文字幕视频| 亚洲人妻色图| 91网站18在线| 红杏大香蕉| 另类图片五月天| 久久9视频| 丁香婷婷五月| 思思久热在线精品66| 一区二区不卡视| 欧美天天搞| 色逼综合| 超碰97极品9| 好湿好紧视频| 美女黄色91| 老熟女综合网| 嗯嗯啊啊啊好爽| 哈哈操电影| 男人的天堂va在线| 天天肏天天干| 久久神马| 秋霞一集毛片观看| 草草草草视频| 日韩在线观看三级电影| 在线视频亚洲无码| 91视频精品| 美国精品国产精品| 黄色无码高清黄色无码网站| 91狠狠综| 操www| 亚洲精品天堂久久A∨51成人漫| 国产日产精品久久快鸭的功能介绍| 岛国片在线播放| 国语精品内射在线观看| 免费在线观看国内色片网站网址| 精品性爱一二三区| 激情看片网站| 男人的天堂2010| 少妇天堂网络| 激情四射熟女丝袜| 偷拍亚洲视频一区二区三区四区| 亚洲人妻色图| 2024黄色视频| 伊人精品久久网站| 999国产精品999| 日韩精品区二区三区不卡| 99999久久久久9国产精品| 国产又大又粗又长视频在线| 国产一区二区三区久久精品太古里| 一本色道久久综合熟妇| 欧日韩一二三f区| 日韩视频中文字幕| 国产女人与拘做受视频免费| 欧亚在线视频| 亚洲aw毛茸茸在线| 劲爆欧美人妖三区91| 男人天堂2030| 7777奇米影视久久| 久热婷婷| 美女淫穴| 欧中美三级一区二区三区| A片A5445444| 婷婷伊人网| 久久国产精品,久久国产| 加勒比久久av| 亚洲中文字幕熟女| 欧美极度丰满熟妇hd| 欧美精品在线观看| 大香蕉日亚洲日本亚大| 狠狠久久手机视频精品| 色青青久久影视| 久久久久七视频| 无马一区二区| 欧美性爱第一区| 国模限制级电影| 精品无码久久久久| 一区二区三区麻豆| 丝袜人妻av一区二区| 强奸乱伦资源| 丝袜狠狠草尤物人妻av91| 春色综合免费| 操老熟女AV| 99在线精品视频| wwwss在线观看| 91色花堂| 蜜臀精品1区2区| 日韩免费a级毛片无码a∨| 亭亭丁香激情| 国产操逼视频在线观看| 超碰天天去日穴| 婷婷五月天激情四射| 日本一区二区中文字幕久久| 一级久久性爱视频| 91久久18禁| 亚洲激情综合另类| 欧美在线播放aaaa| 神马影院午夜福利久久久| 婷婷久久五月综合激情| 久久av成人无码免费| 久久97资源 网| 日本阿v天堂在线观看| 亚洲色五月| 日本 情色 1区2区3区| 在线一道啪| 激情自拍 校园春色| 精品中文字幕第一页| 成 人 影视 一区 二区 三区 四区| 啊啊啊水好多| 久久97| 校园春色美腿丝袜 | 日韩av乱伦| 搡老女人911熟妇老熟女| 精吧天堂| 国产福利夜| 色婷婷aV一区二区三区麻豆综合| 亚洲国产精品无码AV久久久| AV色五月| 欧美第一页| 60秒试看最爽10分钟网站| 亚洲精品亚洲人成在线麻豆| 92午夜免费福利视频| 亚洲综合影片| 美日韩男女操屄视频| 一区,二区,三区网站| 欧美不卡五十路| 爱我干综合| 97在线免费公开视频| 97人人模人人爽人人| 欧洲色综合| 色五月首页| 992视频一区| 综合网欧美在线| 偷拍精品一区二区三区| 日本免费一区二| 国产亚洲精品精AV.| 亚洲色图国产另类| 综合免费无码中文| 亚洲91射| 欧美夜夜狠| 69视频入口| 久久久九九九九| 久久精品三级影视| 久久春色| 鸥美精品一区二区久久婷婷| 萌白酱自拍视频| 欧美图片校园春色| 天美精品av| 欧美A片中文字幕| 智利AV在线网| 天美精品av| 成人av在线播放| 亚州国产成人精品女人久久| 伊人久久婷婷| 97天天操| 欧美嗯啊……在线观看视频免费| 欧美天天性| 夜夜高潮夜夜爽| 亚洲国产精品99久久久| 欧美亚洲丝袜美女电影| 色欲蜜臀AV| 天天日夜干| 五月开心久久AV官网| 成人丁香五月| 午夜男女爽爽大片免费观看| 鸥美极品| 真实高潮91| 一级久久性爱视频| 欧美日韩亚洲天堂| 激激五月| 性爱Av免费| 天天性射网| 青青网三级视频| 一区操逼| 国产中午字一暮区| 一区二区激情国产熟女| 在线人成亚洲视频免费观看| 2026国产精品视频| 成人性爱电影网| 97在线观看| 97bbn| 国产精品大香蕉| 天天射天天| 久久久久久裸体| 婷婷亚洲综合| 秋霞网无码| 91伊人久久在线| 欧美性特| 亚洲va有码在线天堂| 久操免费观看| 五月综合激情网| 蜜桃视频成a人v在线| 操逼无码操逼| 清纯唯美亚洲综合| 亚洲国产97在线精品一区| 激情欧美日韩女同久久| 久久久亚洲精品电影免费看| 日韩乱伦AⅤ| 国产精品不卡少妇白| 97人人中文网| 天天躁日日躁AAAXX| 久久国产AⅤ| 综合色久欲| 精品久久一区二区三区四区五区| 强奸乱伦av电影| 久久综合亚洲色1080p| 欧美亚洲自拍另类人妻| 午夜男人的天堂| 97ai亚洲| 色天使AV天堂| 情色五月天久久久| 日产国产精品中文久久婷婷| 精品一区二区啪啪啪| 久9热| 国模精品娜娜一二三区| 91动漫操逼视频| 成人性爱高清视频免费看| 国产精品久久久无码AV网站| 久久精品国产亚洲AV高级北京|