99精品久久精品一区二区-亚洲熟妇无码?v在线播放-日本国产精品无码字幕在线观看-久久久亚洲永夜AV-亚洲一级无码一区二区一-免费国产成高清人在线视频-中文字幕乱码免费观看-国产毛片精品妇女久久久

ARTICLE DETAIL

資訊詳情

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

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

樹莓派Pico GPIO控制實戰(zhàn):徹底搞懂MicroPython的machine.Pin 剛開始玩樹莓派 Pico 的時候我最頭疼的不是焊接也不是接線而是搞不清楚那個machine.Pin到底該怎么用。網(wǎng)上教程一抓一把但基本都是照著寄存器念經(jīng)或者干脆丟一段能跑的代碼讓你自己抄抄完還是一臉懵。明明就是點個燈、讀個按鍵的事結(jié)果光在Pin的構(gòu)造參數(shù)上就卡了半天。后來項目做多了把 MicroPython 的machine模塊翻來覆去用了好幾遍才慢慢摸清楚Pin類的設(shè)計邏輯其實非常簡潔——它把復(fù)雜的硬件寄存器操作全部封裝成了幾個直觀的方法和參數(shù)。這篇文章我就把這段時間積累的經(jīng)驗整理出來從 GPIO 和 Pin 的關(guān)系講起再到構(gòu)造參數(shù)、核心方法、實際項目中的控制方案包括舵機這類需要 PWM 的場景最后附上我踩過的坑和排查思路。不管你是剛拿到板子的小白還是想快速上手做項目的愛好者照著這篇文章走一遍基本就能把 Pico 的 GPIO 玩明白了。1. 內(nèi)容整體設(shè)計與思路拆解1.1 先搞懂 GPIO 和 Pin 到底是啥關(guān)系說到 GPIO很多新手第一反應(yīng)是“這不就是引腳嘛”。嚴格來說GPIOGeneral-Purpose Input/Output通用輸入輸出指的是芯片上一組可以被軟件控制為輸入或輸出的物理引腳而Pin是 MicroPython 里用來操作這組引腳的類。也就是說GPIO 是硬件層面的概念machine.Pin是軟件層面的抽象接口。RP2040 這顆芯片本身有多達 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)。其實它們最終指向的都是同一個硬件引腳只是標識方式不同。這樣設(shè)計的核心好處是你不需要關(guān)心底層寄存器地址、不需要查芯片手冊里的引腳復(fù)用表只要知道“我要控制的是第幾號引腳”剩下的交給 MicroPython 固件處理就行。這跟 STM32 那套需要查GPIO_InitTypeDef、配置時鐘、配置復(fù)用功能的方式比起來簡單了不止一個量級。1.2 為什么選擇 machine.Pin 而不是直接操作寄存器用寄存器操作不是不行但有幾個現(xiàn)實問題。首先是效率焦慮。很多人一聽到 MicroPython 就擔(dān)心性能不夠但實際上對于 GPIO 這種毫秒甚至微秒級別的操作MicroPython 的解釋執(zhí)行開銷完全可以接受。Pico 的主頻默認 125MHzPython 執(zhí)行一條語句撐死幾十納秒到幾微秒的延遲對于按鍵掃描、LED 閃爍、驅(qū)動舵機這類場景綽綽有余。如果你真的追求納秒級時序比如做嚴格的高速協(xié)議模擬那就不該用 MicroPython直接上 C SDK 或者匯編更合適。其次是開發(fā)效率。用machine.Pin寫點燈程序三行代碼搞定引入模塊、構(gòu)造 Pin 對象、調(diào)用value()方法。用 C SDK 寫同樣功能你得初始化 IO Bank、配置引腳功能、設(shè)置方向、設(shè)置輸出值光是初始化代碼就夠?qū)懸黄痢τ谠万炞C、創(chuàng)客項目、教學(xué)演示來說MicroPython 的開發(fā)效率優(yōu)勢是碾壓級的。最后是調(diào)試便利性。MicroPython 有 REPL交互式解釋器你可以直接在終端里敲p.value(1)去點燈敲p.value()去讀電平隨時驗證自己的邏輯。這在排查硬件問題時極其有用相比之下 C 開發(fā)每次都要燒錄、運行、看串口日志迭代速度慢很多。1.3 整體控制架構(gòu)從 Pin 對象到外圍設(shè)備Pico 的 GPIO 控制本質(zhì)上是通過配置引腳的工作模式輸入/輸出/PWM/ADC 等然后對引腳的高低電平或 PWM 占空比進行讀寫從而控制外圍設(shè)備。這個架構(gòu)可以用一句話概括machine.Pin解決了“引腳怎么配”value()和toggle()等解決了“電平怎么變”PWM 和 ADC 等擴展類解決了“模擬量怎么處理”。所以整篇文章的講解路徑就是先弄懂 Pin 對象的構(gòu)造和參數(shù)配置再理解輸入輸出的各種模式選擇然后看實際項目中的控制組合比如用 PWM 控制舵機最后是排查和避坑。這樣一條線走下來你手里的 Pico 就不再是一塊只能點燈的板子而是一個可以驅(qū)動各種傳感器、電機、屏幕的控制核心。2. 核心細節(jié)解析與實操要點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ù)因為少打幾個字而且跟原理圖上的標注更好對應(yīng)。mode引腳模式最常用的兩個是Pin.OUT和Pin.IN。Pin.OUT表示該引腳為輸出模式你可以往里面寫高低電平Pin.IN表示輸入模式你可以從里面讀電平狀態(tài)。除了這兩個還有Pin.OPEN_DRAIN開漏模式和Pin.ALT復(fù)用功能模式一般用不到因為 I2C、SPI、UART 這些都有專門的對象去處理。pull上下拉電阻配置。可選值有None不接上下拉引腳浮空、Pin.PULL_UP內(nèi)部上拉、Pin.PULL_DOWN內(nèi)部下拉。這個參數(shù)在輸入模式下尤為重要。舉個例子如果你用一個按鍵一端接 GPIO、另一端接地那這個 GPIO 在按鍵未按下時必須保持高電平否則讀到的電平就是隨機浮動的。這時候就需要啟用內(nèi)部上拉。如果你的按鍵一端接 GPIO、另一端接 3V3那就需要啟用內(nèi)部下拉讓默認電平為低。value這個參數(shù)在輸出模式下有意義用于設(shè)置引腳的初始電平。value0就是初始化為低電平value1就是初始化為高電平。如果你在構(gòu)造 Pin 對象時同時指定了輸出模式和 value相當(dāng)于一條語句完成了“配置方向 設(shè)置初始狀態(tài)”兩件事。drive驅(qū)動能力配置Pico 上較少用到默認即可。它控制的是引腳輸出電流的驅(qū)動強度對于驅(qū)動 LED、邏輯電平轉(zhuǎn)換這類無源負載影響不大除非你要驅(qū)動大電流設(shè)備否則保持默認就好。配置的時候要注意mode 和 pull 參數(shù)在不同固件版本上默認值可能不同所以最穩(wě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)機切換非常方便。輸入模式則需要考慮更多的電氣特性。Pico 的 GPIO 輸入電平范圍是 0V~3.3V超過 3.3V 容易損壞引腳所以如果你要接 5V 輸出的傳感器記得加電平轉(zhuǎn)換或者分壓電阻。輸入模式下讀取電平用p.value()返回值是 1 或 0表示高或低。但輸入模式真正的坑在于“浮空”。所謂浮空就是引腳既沒接高電平也沒接低電平懸空在那里。這種情況下引腳的電壓是隨機的讀到的值可能一會兒 1 一會兒 0讓你懷疑人生。解決這個問題的方法就是前面說的pull參數(shù)要么上拉要么下拉讓引腳在外部沒有明確驅(qū)動時有一個確定的默認電平。另外還有一個值得注意的點RP2040 的 GPIO 輸入還有一個“施密特觸發(fā)器”特性它能夠?qū)斎胄盘栕鲆欢ǖ臑V波和整形避免信號在閾值附近抖動導(dǎo)致誤判。這個特性在 MicroPython 中默認是開啟的你不需要額外配置。實測下來用 Pico 讀取按鍵信號基本不需要外部去抖電路軟件里做 10~20ms 的去抖就夠了。2.3 開漏模式與模擬復(fù)用Pin 之外的擴展思維machine.Pin只能處理數(shù)字信號也就是 0 和 1。但實際項目里你需要處理的信號類型遠不止數(shù)字量比如模擬電壓溫度傳感器、光敏電阻、脈寬調(diào)制信號舵機、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) # 點亮 LED led.value(0) # 熄滅 LED led.toggle() # 翻轉(zhuǎn)狀態(tài)你可以在 REPL 里一行一行敲也可以寫進main.py然后復(fù)位運行。實際效果就是板載 LED 亮滅可控。但這只是熱身。我們加點實用性做一個呼吸燈。呼吸燈的核心思路是讓 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)被標記為廢棄。呼吸燈做完你對輸出模式和 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)部上拉默認高電平 led Pin(15, Pin.OUT) # 輸出模式控制 LED while True: if key.value() 0: # 按鍵按下引腳被拉低 led.value(1) else: led.value(0) time.sleep_ms(20) # 簡單去抖延時這個例子的邏輯很簡單但有幾個細節(jié)值得展開。第一為什么按下按鍵時讀到的是 0因為按鍵一端接 GPIO14、另一端接地按鍵未按下時 GPIO14 被內(nèi)部上拉到 3.3V讀到 1按下時 GPIO14 直接通過按鍵接地讀到 0。所以判斷條件是key.value() 0而不是 1。這個邏輯新手特別容易搞反。第二內(nèi)部上拉和下拉的選擇依據(jù)是什么簡單說如果你希望引腳默認是高電平就要用上拉默認是低電平就用下拉。這里按鍵接法決定了默認電平必須是高所以用Pin.PULL_UP。如果你把按鍵改成一端接 3.3V、另一端接 GPIO14那就得用Pin.PULL_DOWN讓默認電平為低。第三代碼里的time.sleep_ms(20)起到了軟件去抖的作用。機械按鍵在按下和釋放的瞬間觸點會抖動導(dǎo)致電平在短時間內(nèi)多次跳變?nèi)绻蛔鎏幚硪淮伟存I可能被檢測成多次。20ms 的延時是最簡單粗暴但有效的解決方案。實測下來Pico 的內(nèi)部上拉電阻大約在 50kΩ 左右對于按鍵檢測完全夠用。3.3 實戰(zhàn)Pico 控制舵機PWM 參數(shù)計算與角度映射最后來一個更有代表性的實戰(zhàn)用 Pico 控制舵機這也是很多第一次用 Pico 做機器人項目的必經(jīng)關(guān)卡。常見的 SG90 舵機控制信號是周期 20ms即頻率 50Hz的 PWM 波其中高電平脈沖寬度決定了舵機角度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 時鐘默認是 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)鍵點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)這段代碼跑起來后舵機應(yīng)該會依次轉(zhuǎn)到 0°、90°、180°。如果實際角度偏差較大可能是舵機的脈寬范圍不是標準的 0.5~2.5ms有些舵機是 0.6~2.4ms你可以微調(diào)映射公式的上下限。另外一個常見問題是舵機抖動。如果你直接給舵機供電用的是 Pico 的 5V 引腳那大概率會抖因為舵機啟動瞬間電流可能達到幾百毫安甚至更高USB 供電根本扛不住。正確做法是外部 5V 電源給舵機供電Pico 只負責(zé)輸出信號線并且 GND 要共地。這里補充一個關(guān)鍵經(jīng)驗雖然理論計算哪都能看懂但實際測試中我發(fā)現(xiàn)很多舵機的響應(yīng)并不完全線性特別是便宜的小舵機如果你發(fā)現(xiàn)角度映射不準先別急著懷疑代碼轉(zhuǎn)動舵機觀察它是否真的停在目標角度附近再調(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再比如驗證舵機 PWM 通道from machine import Pin, PWM s PWM(Pin(15)) s.freq(50) s.duty_u16(4915) # 約 1.5ms 脈寬舵機應(yīng)該轉(zhuǎn)到中位這種交互式調(diào)試的速度比“改代碼 - 燒錄 - 復(fù)位 - 看日志”的循環(huán)快十倍。我做項目時幾乎所有的引腳功能驗證都先在 REPL 里過一遍確認無誤再寫主邏輯。注意REPL 里創(chuàng)建的 PWM 對象如果變量被覆蓋舵機可能會停在當(dāng)前位置這是因為 PWM 信號沒有停止。如果你想讓舵機斷電歸位需要調(diào)用s.deinit()釋放 PWM 通道。4. 引腳分配、模式選擇與常見問題排查實錄4.1 引腳編號的三種標識方式board、GPIO 和物理引腳的對應(yīng)這是新手翻車最多的地方所以我單獨拎出來講。Pico 的引腳標識有三種方式很多人把它們混為一談方式示例說明物理引腳號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ī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)/干接點IN PULL_UPpullPin.PULL_UP防止浮空誤判讀取模擬電壓傳感器使用 ADC 類不是 Pin僅限 GPIO26/27/28輸入電壓不能超過 3.3V控制舵機/電機調(diào)速使用 PWM 類不是 Pinfreq 按設(shè)備要求功率器件單獨供電I2C 通信使用 I2C 類不是 Pin原理圖指定引腳需要上拉電阻從這張表能看出一個規(guī)律能用擴展類解決的問題不要用裸 Pin 去手動模擬。比如你要點亮 LED 且需要調(diào)亮度直接用 PWM 類而不是翻轉(zhuǎn)value()去湊亮度你要讀模擬光敏電壓直接用 ADC 類而不是用數(shù)字輸入去判斷“亮/暗”。這不是說裸 Pin 不行而是擴展類的實現(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 上。問題三舵機抖動或者不轉(zhuǎn)。首先檢查供電。舵機單獨供電了嗎共地了嗎如果用 USB 口直接供電驅(qū)動舵機大概率會因為電流不足而抖動。其次檢查 PWM 頻率是否設(shè)置正確SG90 這類模擬舵機要求 50Hz你設(shè)成 100Hz 或 1kHz 都會導(dǎo)致舵機異常。最后檢查 duty 值計算是否正確用 REPL 分別設(shè)置三個關(guān)鍵脈寬對應(yīng)的 duty 值看舵機能否轉(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)心得從點燈到多設(shè)備聯(lián)調(diào)的引腳規(guī)劃最后分享一個多設(shè)備項目的引腳規(guī)劃經(jīng)驗可能對你后續(xù)做項目有直接幫助。假設(shè)你要做一個項目需要同時控制 2 個舵機、讀 1 個溫濕度傳感器、點 1 個 WS2812 燈帶。很多人拿到板子就開始接線結(jié)果線繞成一團漿糊代碼里也到處是魔法數(shù)字。我建議按下面這個流程來先列出所有設(shè)備需要的引腳類型和數(shù)量。舵機需要 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. 避坑指南與進階擴展建議5.1 三個最容易踩的坑我把自己踩過以及幫別人排查過的坑匯總一下排名不分先后但都是高頻中的高頻。第一個坑是引腳編號張冠李戴。我前面反復(fù)強調(diào)過Pin(0)是 GPIO0不是物理引腳 0。有一次我把按鍵接在物理 Pin 6 上代碼卻寫的Pin(6)結(jié)果按鍵死活沒反應(yīng)排查了半小時才發(fā)現(xiàn) GPIO6 對應(yīng)的是物理 Pin 9而我實際接線的是物理 Pin 6即 GPIO4。這種錯誤最氣人因為代碼看起來沒有任何問題。我的建議是在板子上放一張引腳對照表接線時在每根杜邦線上貼標簽寫代碼前先查一遍。第二個坑是輸入引腳浮空導(dǎo)致讀數(shù)漂移。很多人讀按鍵或者讀取撥碼開關(guān)時忘記配置上下拉電阻然后發(fā)現(xiàn)讀到的值隨機跳變。這不是 Pico 的問題而是你讓引腳“懸空”了引腳電壓受周圍電磁干擾影響自然不穩(wěn)定。解決辦法就是根據(jù)電路默認電平顯式配置Pin.PULL_UP或Pin.PULL_DOWN。第三個坑是低電平觸發(fā)和高電平觸發(fā)的邏輯搞反。不同模塊的觸發(fā)邏輯不一樣比如有的人體感應(yīng)模塊是低電平輸出有效有的繼電器模塊是低電平吸合。如果你不看模塊手冊想當(dāng)然地以為“模塊輸出高電平就是有效”那就等著調(diào)試時一頭霧水吧。我的習(xí)慣是拿到模塊第一個動作就是查手冊或者用萬用表實測模塊在觸發(fā)和未觸發(fā)狀態(tài)下的輸出電平再寫代碼。5.2 進階用 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ù)。這種機制的好處是主循環(huán)可以專心做其他事按鍵一出現(xiàn)硬件會自動跳到中斷函數(shù)執(zhí)行執(zhí)行完再回到主循環(huán)。注意中斷回調(diào)函數(shù)里盡量不要做耗時操作比如不要在里面調(diào)用time.sleep()或者做一些復(fù)雜的計算因為中斷上下文里運行太長的代碼會阻塞主程序。如果需要處理復(fù)雜邏輯建議只在中斷里設(shè)置一個標志位主循環(huán)再去讀取標志位執(zhí)行后續(xù)動作。5.3 后續(xù)擴展方向如果你已經(jīng)能熟練使用machine.Pin那接下來可以考慮這幾個方向它們都會在底層涉及 GPIO 基礎(chǔ)能力的組合運用用 PIO 狀態(tài)機實現(xiàn)自定義協(xié)議RP2040 最有特色的 PIO 模塊可以讓你用類匯編的指令在硬件層面模擬各種協(xié)議波形比如 WS2812、DHT11 這類時序敏感的傳感器。驅(qū)動顯示屏幕從 SSD1306 OLED 到 ST7789 TFT用 I2C/SPI 接口搭配machine庫就能點亮非常鍛煉引腳復(fù)用和時序控制能力。低功耗睡眠模式Pico 的machine.lightsleep()和machine.deepsleep()可以大幅降低功耗適合電池供電的物聯(lián)網(wǎng)節(jié)點。在睡眠前把引腳設(shè)置成合理的狀態(tài)能進一步省電。這些方向都有一個共同點它們都建立在“把每個引腳都調(diào)到恰到好處的狀態(tài)”的基礎(chǔ)之上。所以把machine.Pin吃透絕對不是只能做點燈這樣的小事而是整個 RP2040 開發(fā)的基石。寫在最后學(xué)machine.Pin這類基礎(chǔ)接口最容易犯的錯誤就是“會用了就翻篇”但實際項目做多了你會發(fā)現(xiàn)很多棘手的問題最后都能追溯到最基礎(chǔ)的引腳配置上。我自己就干過一件傻事——GPIO 號沒看仔細把舵機信號線接到了 ADC 專用引腳上調(diào)試了一下午最后發(fā)現(xiàn)是引腳分配問題。所以說基礎(chǔ)這東西往往比你想象的更決定成敗。如果你現(xiàn)在手邊就有一塊 Pico我強烈建議你把我上面舉的幾個例子挨個敲一遍特別是輸入模式和 PWM 換算的部分。代碼看著再多不如親手跑一遍來得印象深刻。等你把這幾段代碼吃透了再去做復(fù)雜的項目思路會清晰很多。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
99热6色| SS丁香五月婷婷| 激情五月综合ì香亚洲| 五月婷天堂视频| 天天综合社区| 久久久香| 久操香蕉| 夜夜谢天天干| 久99久99精品免| 久久久思思热| 久久婷婷网| 国产精品99久久久久久久女警| 99热精地址| 92久久| 色色性爱视频| 9精品在线| 婷婷丁香五月亚洲欧美| 亚洲婷婷婷| 日本欧美成人片AAAA| 色五月AV| 丁香五月六月婷婷怡红院| 9久精品视频| 丁香花五月天婷婷成人社区| 五月天开心网| av在线免费网站| 午夜婷婷久久 | 伊人91| 亚洲深喉AV| 日日夜夜小色哥| 五月丁香性爱| 亚洲av网站在线观看| 亚洲激情av| 四月婷婷丁香| 色久五月天| 六月丁香婷婷尤物| 国产美女精品| 99热精品9| 婷婷色五月噜噜| 婷婷五月激情综合啪啪| 久操97| 久久艹 五月天| 色婷婷网| 久久精品系列| 五月色婷婷影院| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 五月天婷婷丁香| 久操人| 九九一区| yw.av| 夜夜 操无码| 99热人人操人人操| 亚洲欧美婷婷五月色综合| 久久人人人人妻| 色域五月婷婷丁香| 夜色综合网| 26uuu另类亚洲欧美日本一| 丰满少妇猛烈A片免费看观看| 亚洲色99| 五月天婷婷操逼视频| 日韩成人精品一区久久久久| 丁香激惜男女| 久久小视频免费| 午夜婷婷丁香| 97涩涩丁香五月天| 丁香六月婷婷综合在线| 99爱视频免费| 99九色视频在线观看| 91久久九久久九久久九久久九久久| 婷婷丁香色五月| 丁香六月毛片| 99这里只有| 亚洲视99| 天天日天天日天天搞| 丁香无月在线观看| 成人网丁香五月| 狠狠干激情五月| 婷婷亚洲五月丁香综合在线| http://www.sd-xiangsu.com/| 久久久久人妻精选| 99色亚洲| 99热.com| 亚洲蜜桃精久久久久久久久久久久| 天天干一干| 91碰碰| 四虎成人精品永久免费AV九九| 91精品婷婷国产综合| 九九艹女| 久久五月丁香婷婷| 婷婷免费成人视频| 26uuu成人网| 久久九九色| 黄网免费观看| 婷婷色五月91啪啪| 九色在线观看91av| 狠狠干2007| 亚洲精品国产精品乱码不99| 99热18| 精品国产乱码久久久久夜深人妻| 亚洲久久天堂| 欧美日本高清视频99| 亚洲天堂色| www热久久yy9| 综合五月激情| 亚洲激情四射| se.久久视频在线观看| 久热AA| 五月天天天综合| 丁香五月狠狠综合欧美| www夜夜| 婷婷亚洲在线| 亚洲色色图片| 丁香六月婷婷久久综合| 色站9/| www.五月天婷婷.com| 成 久久| 色五月 五月婷婷| 婷婷久草| 婷婷操超碰| 五月综合婷婷网| 国产午夜精品一区二区| 五月婷婷影| 江苏少妇性BBB搡BBB爽爽爽 | 五月婷婷中文字幕| 在线综合91| 五月天婷综合| 日日夜夜狠狠干| 丁香五月av| 久久大香蕉| 野外99热| 26uuu欧美亚洲日韩| 九色啦蜜臀| 成人电影一区| 激情久久久久久久久久| 天天舔天天摸| 免费操超碰| AV九九| 久久五月天激情视频| 婷婷激情九月| 艹B高清无码| 婷婷五月色图| 伊人色综合影院视频| 99热国产国产| 色综合久久888| 免费成人中文字幕| 亚洲综合激情五月久久| 91疯狂操操操操| 丁香激激情网| 天天操夜夜操| 开心亚洲久久开心| 国产精品扒开腿做爽爽爽A片唱戏 亚洲爆乳无码精品AAA片蜜桃 | 五月婷婷无码| 婷婷九月色| 综合激情深爱| 亚洲AV永久无码影院黑人 | 日本系列_4页_777FP| 热思思九九| 伊人五月天日日夜夜久久久天天| 五月花激情| 91精品91久久久中77777久久玖玖九九| 亚洲婷婷乱乱丁香| 思思久久99热只有频精品66| 亚洲射激情| 激情网五月天| 五月丁香久久激情网| 人妻22p| 激情小说五月天社区丁香| www婷婷| 国产人人操| 欧美色频| 超碰在线免费9| 欧美在线视频免费播放| 九月丁香| 精品一二三区久久AAA片| 久久国产性爱A V| 色婷婷五月综合在线| 97碰碰碰| 91五月天| anquye五月| 色综啪啪网| 九九热在线视频,| 国产无遮挡又黄又爽免费网站| 天天色爽| 婷婷丁香综合| 激情五月天啪啪| 成人精品人妻| 亚洲日韩乱码一区二区三区四区| 亚洲激情电影五月天色婷婷丁香一起草| CHINESE熟女老女人HD视频| 日日干综合| 久在线88综合| 91久久精品无码一区二区三区| 91激情五月开心| 99热老网站| 欧美婷婷六月丁香综合色连续高潮抽搐| 五月天激情国产综合婷婷婷| 久色五月婷婷综合| 天堂亚洲 在线| 91婷婷丁香五月| 亚洲中文字幕av| 久久9视频| 久久久er热| 另类天堂| 停婷丁五月在线| 婷婷九九| 午夜]香婷婷深深爱| 婷婷亚洲综合| 久久久区区一久久久久久| 久久久久97| 丝袜激情网| 五月亚洲激情| 五月天激情网址| 996热re视频精品视频| 青青草a在线| 伊人婷婷福利网| 六月婷久久| 丁香五月婷婷av| 无码日本精品XXXXXXXXX| 婷婷五月综合视频| eeuus五月婷| 天天肏天天舔AV| 五月色婷婷影院| 天天免费成年人视频| 婷婷色狠狠| 超碰碰碰碰| 欧美综合五月丁香五月天| 99操无码视频观看| 久久久噜噜噜操操操| 99久久99久久综合| 热99在线精品| 26uuu最新地址| 久久国产性爱A V| 色婷婷五月影院| 天天色天天操天天射| 色婷婷成人网| 丁香五月欧美午夜视频| 色情婷婷五月天| 成人综合视频在线| 亚洲 成人 电影av在线观看| 色色色视频免费无码 | 97精品综合久久| 婷婷.com| 丁香婷婷在线| 日本超碰在线| 熟女网站久久| 五月天婷婷色色网| 中文字幕性爱视频| 成人短视频免费观看| 成人片黄网站色大片免费毛片| 久re热视频| 激情狠狠丁香月| 激情综合综合综合| 婷婷激情五月天7| 丁香五月成人| 狠狠色丁香| 天天干天天干天天干天天干天| 色偷偷综合| 亚洲激情97五月天| 99福利视频| 激情五月激情综合网一级丸片| 五月丁香黄色| 亚洲综合视频在线| 五月丁香网视频| 91视频一起草| 色婷操逼| 亚洲sesesese| 国产精典视频在线观看| 日韩另类| 九九热色视频| 69午夜成人影片| 亚洲激情无码久久| 狠狠操天天操| 9999色色色色| 天天色色天天| 人人综合久| 超级碰碰碰97免费| 99热最新| 亚洲avjiujiur91| 久久在线视频只有这里有精品| 99ri视频| 中文aV网| 天天插天天爱| 夜夜骑夜夜撸| 亚洲综合另类| Aaa久久| 热热色色五月天婷婷| 日韩国产在线精品| 中国操逼99| 色婷婷丁香五月| 99久热这里只有精品| 激情五月婷婷五月| 狠狠操狠狠操AV| 超碰久热| 亚洲乱啪| 婷婷丁香五月激情综合站_久久五月丁香激情综合_开心五月综合激情综合五月_婷 | 亚洲AV日韩在线观看| 狠狠精品干练久久久无码中文字幕| 亚洲激情av| 欧美大片免费播放器| 激情性爱五月天网页| 久久视频在线视频| av婷婷六月丁香社区在线观看| 99在线精品观看99| 中文字幕丰满乱孑伦无码专区| 超碰久热| 色色999三级片| 9色婷婷| 玖玖综合玖玖| 亚洲夜五月| 美女100%露全身无挡网站| 9久热精品在线视频| 激情五月婷婷综合网| 天综合日日夜综合7799| 国产亚洲色婷婷99精品| www.五月天婷婷| 激情丁香五月天| 国产精品第一国产精品| 久99精品视频| 97色色色视屏| 五月天激情久久| 婷婷99狠狠| 九月婷婷激情久久| 亚洲无码激情| 人妻射精AV| 欧美激情凹凸丁香网| 情色五月天网站| 日韩AV中文在线观看| 久久伦乱| www.99热这里只有精品| 黄桃AV无码免费一区二区三区| 超级碰碰碰碰视频| 99热777| 99热在线精品观看| 97五月天婷婷综合激情网| 噜噜色天天开心| 色综合久久88色综合天天| 99热国产这里只有精品| 久热9| av第一二区| 五月色婷婷综合丁香精品无遮挡| 另类专区在线观看| 操逼视频一区| 96人人操人人操人人| 99re热久久| 91Chinese在线| 丁香五月ⅤA久久久| 五月丁香成人日| 情久久综合五月天| 五月天色图| 婷婷内射视频在线| 人妻久久久久久久 | 五月综合色| 综合av在线| 都市激情蜜桃婷婷五月天 | 国产肥白大熟妇BBBB视频| 久久精品63| 色色色色色色色色综合网| 狠狠色丁香| 国产在线黄色| 亚洲色激情| www.91操| 99色色网| 五月天婷婷小说| 日本啪啪网| 思思热99热| 激情综合视频| 五月婷婷欧美激情| 狠狠色婷婷丁香五月| 五月天婷基地| 国产成人片| 99在线观看视频精品| 色色婷婷五月天| 久久与婷婷| 99丁香五月婷| 久久久18| 色五月成人| 丁香五月婷婷色偷偷| 婷婷涩涩五月天| 激情九月婷婷| 国产美女最新VA在线免费观看| 99国产精品久久久久久久久久久 | 色播丁香五月婷婷操:屄| 丁香五月另类小说| 色五月激情问网站| 激情五月综亚网| 777影视理论片大全在线观看| 色五月涩涩婷婷蜜桃| AV中文在线| 婷婷六月综合在线| 久久3级片| 五月天五月天成人网亭亭成人色网站| 夜夜爱爱亚洲| 久久免片| 欧美婷婷五月天综合| 色色色色色色综合网| 97久久婷婷色| 啪啪色区| 色色丁香五月| 丁香五月网在线观看| 欧美激情综合色丁香婷婷五月天| 日产精品久久久久久久蜜臀| 久久人妻久久| 久久色五月天| 激情综合国产| 97色在线视频| 激情操逼婷婷| 五月丁香六月婷婷视频| 色狠狠色综合久久久绯色AⅤ影视| 九九AV在线| 五月天婷婷久久日| 高清av在线国产| 人人干女人| 五月丁香久久| 伊人激情网| 婷婷射图| 五月天激情小说婷婷基地| 激情五月最新网址| 丁香五月婷婷啪啪啪| 激情婷婷内射| 婷婷玖玖丁香| 夜夜大香蕉婷婷丁香| 99re最新地址视频| 亚洲色模骚货| 午夜亚洲国产精品av一区二区| 五月天激情婷婷| 婷婷夜夜操| 9久久久久久久久久久| 九九热视频在线观看| 99ri精品| 激情婷婷丁香色五月| 久久综合性| 激情婷婷五月天在线观看| 99热69| 激情五月天网站| 色九月激情综合网| 久久五月婷| 青草青草久9视频在线视频| 亚洲激情在线| 婷婷综合五月| 五月天综合图片| 噜综合| 99久久九九视频| 操人91| 亚洲综合色丁香五月天| 五月婷视频久久| 91无码一区人妻A片蜜| 九色91国产| 99热官网精品在线| 婷婷五月综激情| 5月丁香六月婷婷| 激情久久久| 中文字幕不卡视频| 在线看的免费网站| 色九月| 另类五月激情| 丁香六月五月婷婷| 国产xxxxx在线观看| 2016日日夜夜操| 日本综合99| 狠狠操狠狠插| 亚洲黄色影视| 丁香六月婷婷久久综合| 六月丁丁香| 97干网站| 亚洲综合五月| 五月丁香啪啪综合网| 丁香综合婷婷开心激情网| 日本高清不卡免费一区二区三区| 婷婷综合中文字幕| 国产在线网| av中文在线| 五月婷婷综合激情| 婷婷午夜| 亚洲婷婷基地| 色噜综| 亚洲看av的网站| 五月天播播综合| 人人操人人看97干| 丁香五月婷婷大香蕉| 婷婷五月a| 天天综合区| 99精品视频播放| 日本一级黄色片。| 国产高潮白浆一区二区| 91xxxx九色| 久99久99精品免| 天天干天天日天天操| 精品怡红九九九| 五月丁香婷婷啪啪综合网| 亚洲久久婷婷丁香五月天| 婷婷五月激情片| 五月天久久www| 丁香五月色情| 五月人妻婷婷视频| 婷香五月| 亚洲精品V天堂中文字幕| www.99热这里只有精品| 五月婷婷六月丁香| 黄色片avv| 色激情网| 婷婷伊人中文字幕| 色久婷婷五月| 日韩色情亚洲五月天婷婷| 五月丁香六月婷婷在线观看| 亚洲在线操| 青青草成人网| 亚洲影院婷婷色| 99九九99九九九视频精彩| 色天天综合天天综合频道。| 五月婷婷自拍视频| 久久婷婷视频| 亚洲成人av在线观看| 婷婷五月AV| 伊人六月丁香婷婷| 99在线免费视频| 亚洲精品白浆高清久久久久久| 狠狠爱丁香婷| 秋霞三级色戒| 99精品在线观看视频| 79精品视频在线观看,| 操大屄五月天视频| 亚洲Va成人| 999影院成人在线影院| 六月婷婷激情| 久久久久久18| 综合五月亭亭9| 99九九视频精彩在线| 蜜桃人妻无码AV天堂三区| 99草视频在线观看| 99热99这里有免费的精品| 亚洲婷婷丁香| 五月婷丁香久久综合| site:wpjngj.com| 色婷婷小说网| 黄色av高清| 国产精品久久99| 这里只有精品在线视频在线观看| 八戒青柠影视剧在线观看| 射区导航| 婷婷网五月天| 久久婷婷网址| 国产高清RV综合aVa| 激情五月天婷婷| 久久丁香综合精品综合| 五月永久激情| 久久精品99国产精品日本| wWW九九在线播放| 99re热免费观看视频精品| 99热在线观看| 五月婷婷激情综合在线| 亚洲午夜av| www.久久爱.c n| 五月久久丁香| 婷婷丁香五月天综合在线日韩| 99色区| 大香蕉久久久久| 91婷婷五月丁香碰| 色色亚洲五月天| 影音先锋男人AV资源站| 婷婷五月综合啪| 日本欧美成人片AAAA| 亚洲成人一区| 久久婷婷视频| 久久综合99| 99热e| 热99免费在线| 在线成人网址| 欧美人人操| 丁香婷婷色| 六月婷婷久久| 性爱网五月天| 99色色网| 久热99| WWW.五月天9999| 第四色五月天| 99re这里只有精品免费| 桃色成人网| 天天 青草 丝袜制服 在线| 青柠影视免费高清电视剧| 99热国产国产| 五月天婷婷综合色| 精品久久久人妻| www.综合久久| 网色99| 五月丁香香蕉| 国产精品久久久久久久久久| 九九热视频免费观看| 综合久久激情久久| 激情五月丁香婷婷| 91seav| 日日噜噜夜夜狠狠久久丁香五月| 激情五月天在线| 免费三级黄色| 99热这里只有精品5| 丁香五月婷婷Av| 五月天综合在线| 黄色99视频| 97精品人人A片免费看| 丁香激激情网| 丁香五月最新地址| 国产精品色色| 九九九九这里只有精品| 亚洲精品无码久久| 亚洲网综合在线| 天天日,天天插| 99男人的天堂| 国产精品久久久久9999小说| 亚洲精品永久久久久久| 热中文字幕| 狠狠爱青青草| AAA久久久| 五月激情综合婷婷| 九九九九大香蕉| 色色a| 亚洲性爱区无码区| 9久精品视频| 久久97久久99久久综合欧美| 99热99久久| 五月香蕉婷婷| 强伦轩人妻一区二区电影| 久热这里| 在线视频99| 亚洲婷婷丁香五月天激情小说| 99在线综合视频| 人人草人人爱| AA丁香综合激情| 思思热99er在线视频| 亚洲av网址| 亚洲超碰在线| 色五月婷婷91| 婷婷综合网站| 精品99这里有| 99亚洲精美视频在线观看| 欧美搡BBBBB摔BBBBB| 婷婷中文字幕| 激情五月婷在线精品| 97中文在线| 伊人天堂婷婷| 4399无码视频| 99热97| 婷婷成人视频| 五月婷婷九| 亚洲人成网亚洲欧洲无码久久| 久久综合五月婷婷| 在线观看免费观看在线9久| 中文字幕在线资源| 九九视频在线| 日韩在线婷婷五月天综合| 色情·com| 久热中文字幕| 久re热视频| 操B无码视频国语| 五月婷婷久久综合| 丁香六月婷婷| 黄色AV日韩| 久热免费| 五月天色区| 日日夜夜爽| 新激情五月天色播| 久久 这里只有精品1| 五月综合激情久久| 91狠狠综合久久久久久| 99热1| 色色综合激情| 成人在线网站| 久久久久久久8| 伊人大香蕉综合在线| 另类婷婷五月天啪帕帕| 狠狠色丁香乆乆| 4399无码视频| 天天久综合网永久入口18| 北京熟妇搡BBBB搡BBBB| 黄桃AV无码免费一区二区三区| 五月天婷婷激情小说电影| 五月婷婷AV| 丁香五月香蕉| 色香蕉影院| 91操碰| 成人丁香| www.五月天| 五月天网址在线刘玥| 怡红院AV亚洲一区二区三区H | 99日本视频| 丁香九月激情久久| 99九九在线视频| 99久超碰| 99在线观看视频免费| 五月婷婷六月丁香激情深爱| 99亚洲综合| 中文aV网| 色小说五月天| 色99在线观看| 大香网伊人久久综合| 成人无码髙潮喷水A片| 无码视频国内精品久久久| 九九色情网站| 久久嘟嘟丁香| 久久亚洲婷婷| 婷婷五月天视| www.日韩艹| 亚洲AV色婷婷人禽五月天| 激情五月深爱婷婷| 丁香久久五月婷综合| 丁香五月色五月| 九九热99热| 1024日韩| 一起操 91N.com| 99热99美国在线观看| 五月天丁香网| 色五月婷婷五月久久| 亚洲丁香五月| 思思99久久| 亚洲综合色网| 无码人妻一区二区一牛影视| 国产九月婷婷| 成人五月天丁香婷| 伊人丁香六月婷婷| 人人爱人人摸人人澡| 91大屁股精品| 亚洲亚洲人成综合网络| 亚洲国产网站| 激情久久四色| 五月婷婷丁香在线| 色色色热热热| OYIWbGcPu8H| 激情综合网丁香| 深爱五月亚洲| 成人丁香五月| 新激情五月天| 色噜噜婷婷| 开心五月婷| 免费黄色片子| 国产内射婷婷| 7月婷婷六月丁香| www.五月丁香av| 荷兰av一级| 五月天激情国产综合婷婷婷| 亚洲另类毛片| 99热这里精| 在线中文字幕av| chaopeng在线人人| 影音先锋按摩| 日日噜噜夜夜狠狠久久丁香五月| 婷婷五月天伊人| 123草逼网| 色情一区二区播放| 婷婷五月天网| av在线免费网站 | 六月成人网| 亚洲小电影在线观看黄999| 国产精品久久久久久五月天加勒比 | 色五月综合在线| 丁香五月激情无码视频| AA丁香综合激情| 九色 在线| 天天插天天插天天插| 精品人妻伦一二三区久久| 天堂成人久久| 丁香六月婷婷姐网| 亚洲无AV在线中文字幕 | 92久久久| 伍月婷婷免费视频| 久久色婷婷| 东北黄色一级| 亚洲aV写真天天综合网久久| 色五月激情五月| 激情五月天婷婷| 丁香五月欧美午夜视频| 97性高潮久久久| 国产热精品| 亚洲激情久久| site:pzdcoin.com| 色激情五月| 色五月偷偷| 99久久五月婷婷| 婷婷五月综合丁香久久| 色99热| 婷婷五月丁香图片人人操| 天天噪夜夜爽| 99热这里只有精品8| 五月丁香六月色婷| 欧美内射AA| 99啪啪视频| 日本色99| 中文字幕成人| 在线99热| 婷婷开心深爱五月天| 粉嫩av懂色av蜜臀av熟妇| 超碰在线9| 色域五月婷婷丁香| 婷婷色播婷婷| 美女五月天| 色视频2025| 五月天婷婷成人网| 婷婷操逼| 亚洲色婷婷婷婷人人爽| 538在线精品| 日韩六十路91性交电影| www.丁香黄色五月天人与| 亚洲、热| 丁香六月婷婷久久亚洲天堂| 五月婷婷啪| 97热精品| www.五月丁香| 五月 丁香 欧美| 日韩性爱AV| 79精品视频| 久久香蕉婷婷| 69精品人人人人| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 99热亚洲精品| 丁香六月啪啪啪| 91超级碰碰碰| site:publishdd.com| 黄页免费一级视频懂色| 久久婷五月综合| 高潮毛片遮挡费高一百度| 亚洲精品久久久无码| 婷婷五点亚洲| 开心五月婷婷婷美女| 可以免费观看的AV| 天天艹天天色| 久婷久婷激情肉| 五月天激情电影| 激情综合网,婷婷五月天| 五月激情综合婷婷| 婷婷久久久久| 婷婷五月天激情在线观看 | 色婷婷丁香综合中文字幕| 超碰人人色| 婷婷综合网伊人| 国产综合丁香五月天| 97久久久久| 五月激情综合网| 亚洲小视频| 久久婷狠狠色| 九九色情网站| 性生活视频98791| 伊人超碰| 中美月韩免费A片| 色爽干| 97操碰碰无码视频| 天天综合干| 99re久热只有精品6在线直播.com| 99操逼| 五月婷激情| 这里只有精品偷拍| 五月天久久激情| 六月婷婷激情| 日本五月天网站| www色婷婷久久综合久色| 日韩美女羞羞网站在线观看| 九九色逼| 综合网啪啪| 色婷婷九月综合| 欧美激情丁香五月| 九九超碰人人| chaopengdaxiangjiao| 色婷婷免费观看| 日日日影院| WWW.五月天9999| 金品在线视频99| 五月婷婷六月激情| www色婷婷| 另类综合色| 天天爽人人爽| 激情com| 久久加勒比| 人人草碰| 婷婷婷狠狠| 久久综合婷婷| 99热这里只有精品青草| 都市激情小说婷婷| 天天天天天操| 99精品国产在热久久| 精品久久婷婷| 91狼友视频网页更新| 国产亚洲精品久久久久久郑州| 中文字幕,综合,91| 五月丁香六月婷婷国产视频| 国产26uuu视频| 色婷婷狠狠干| 四色永久成人网站| 色五月婷婷操逼| 91pornav在线| 久久免费干| 玖玖九九9999在线观看视频精品| 日本不卡一区二区三区| 青柠影视免费高清电视剧| www.久久| 丁香婷婷基地| VA色婷婷| 天天激情站| 日韩一级网站| 五月天成人综合| 婷久久| 久久香蕉丁香| 久激情网| 婷婷久久五月| 天天干天天操天天拍| 9 1超碰九色| 婷婷在线免费| 丁香六月激情综合| 欧美这里只有精品| 操91| 精品一二三区久久AAA片| 国产欧美日韩综合精品一区二区| 五月婷丁香| 亚洲欧美在线观看| 99在线精品视频| 精品人妻伦九区久久AAA片| A片试看50分钟做受视频| 国产人妻人伦精品一区二区| 国产精品成人AV在线观看春天| 激情五月天婷婷| 伊人久久丁香五月91| 91丨九色丨首页| 99久久亚洲国产| 96精品久久久久久久久| 五月激情综合网| 九九热这里精品| 天天摸天天爽| 色播婷婷五月天| 五月天天爽| 超碰九九热| 久久九九@| 99热无码精品| 婷婷成人视频| 丁香五月婷婷骚视屏| 玖玖资源站蜜臀| 久色婷婷200| 激情六月丁香| 色色激情五月天| 亚洲AV久久久久久久久久久久久久久久 | 中文超碰视在线| 五月婷网站| 吾爱AV导航| 五月丁香六月激情综合| 99re热99| 六月婷婷综合| 开心五月丁香啪| 亚洲成人在线观看网址| 欧美成人色婷婷| 五月天婷婷免费| 国产毛片精品一区二区色欲黄A片| 激情婷婷综合| 日本一级黄色片。| 思思热精品在线| 无码人妻激情| 激情综合五月天| 丁香欧美| 亲子乱av一区二区三区的| www.日韩国产| 乱女乱妇熟女熟妇综合网站 | 91丨九色丨大屁股| 五月丁香| 色婷婷六月丁香综合欲精品| 婷婷爱爱蜜臀天天操| www.99视频| ss99热| 9久操| 天天日,天天插| 新激情五月开心五月婷婷五月丁香五月| 潘金莲AAAAAAAAAA| 日本色图综合| 可以免费看av网站| 婷婷五月超碰| 婷婷五月丁香五月| 这里只有精品视频视频在线观看| 99天堂在线观看免费视频| 天天干天天操天天爽| 99成人网一区| 91久久久久久久久久18| 国产九九一区二区三区| 色五月婷婷成人视频| 91久女| 五月丁香久久久久| 99热这里只有精品手机在线观看| 丁香六月欧美| 久久九九综合| 色五月综合网| 久久人妻熟女一区二区| 丁香蜜臀黄色婷婷五月天| 5月丁香六月情| 久久久久久久人妻| 亚洲性爱电影| 99性爱视频网站| 丁香五月综合| 亚洲精品乱码久久久久久按摩观| 色爱亚洲| 伊人婷婷大香蕉在线| 婷婷激情四射| 99热资源在线| 婷香狠狠爱五月| 操逼在线视频| 日韩操人| 五月色婷婷亚洲| 五月丁香亭亭操逼| www.99热精品| 天天做天天爱天天玩| 亚洲激情四射色| 色播播之激情五月婷婷| 五月婷婷丁香狠狠撸久久| 精品一二三区久久AAA片| 人人草成人视频| 激情久久五月天| 操人久久| 久综合色| 成人网在线视频| 天天做天天爽| 97精品综合久久内射| 婷婷五月色網站| 婷婷五月综合性爱| 日日噜狠狠色综合久久| 99热在线观看| 97色色色视屏| 亚洲妇女熟BBW| 伊人五月天日日夜夜久久久天天| 婷婷五月天激情综合| 婷婷久久五月丁香| AV网站免费在线| 久Se视频在线观看| 五月丁香婷婷激情视频| 婷婷色综合中心站| 综合图片色色| 色一情一乱一乱一区9| 久久这里都是精品| 91九色小视频| 五月天婷婷在线播放| 五月天堂色色| 4399在线日本A片| 色玖玖综合网| 桃色五月天| 婷婷五月精品在线| 青青草伊人婷婷| 丁香五月亚综合图片| 91ncm视频| 久久五月网| 色黑鬼导航| 欧洲MV日韩MV国产| 夜夜撸天天日| 日本WWW九九九| 99在线视频精品| 九九色色| 丁香久久在线| 色婷婷成人五月| 991精品在线视频| 色色色综合| 丁香婷婷五月天色播| 五月天久久婷| 激情五月婷婷丁香| 婷婷99狠狠躁天天躁| 99在线精品观看99| 丁香五月天av| 欧洲亚洲午夜| 日日夜夜狠狠| 五月丁香婷中文字幕| 视频1区2区| 九色啦蜜臀| www.zbzhongsen.com| 日韩二区搞逼插逼毛片| 五月天婷婷影院影院观看| 日韩无码专区| 五月停视频天堂| 丁香美女五月天婷婷| WWW·天天操·视频?| 欧美成综合在线观看| 婷婷激情六月综合| 丁香五月综合在线| 九九精彩久久| 天堂成人A片永久免费网站| 婷婷丁香综合| 99er日韩| 99色在线观看视频者| 久久久婷婷五月亚洲97号色| 丁香综合婷婷开心激情网| 666555。COm毛片| 五月天婷婷小说| 五月丁香久久网| 99久操| 超碰97人人操| 夜夜操狠狠操天天操| 国产综合婷婷| 色135综合网| 插插五月天| 99热碰碰热| XX色综合| 玖玖色综合色| 99视频啪啪| 成人精品视频99在线观看免费| 99色视频| 日韩aaa| 综合婷婷五月天| 久久婷婷五月丁香网| 久色网| 色五月,com| 99精品女人天堂| 婷婷99狠狠躁天天躁中| 99色综合| 丁香婷婷色五月合集| 丁香六月激情国产| 91碰碰视频| 被强行糟蹋的女人A片| 91聚色综合网| 思思久久99热只有频精品66| 五月美女婷婷风骚| 99精品一二三四视频| www,8050,午夜三级| 久久五月天激情视频| 99热手机在线精品| 伊人久久艹| 91狠狠色丁香婷婷综合久久狠丁香综合久久精品 | 欧美五月丁香啪啪响视频| 操操操操操电影网| 色五月天电影| 婷婷伊人五月天| 丁香五月婷婷社区| 欧美色必爱| 久久婷婷五月天蜜桃| 天天艹夜夜爽| AA久久| 国产乱子轮XXX农村| 亚洲4区国产欧美| 五月天激情站| 99热无码首页| 大香蕉九九| 色 五月 天 婷婷 丁香 九月| 久久亚洲婷婷| 狠狠狠五月婷婷六月丁香| 色人久久| 人人妖人人97| 亚洲成人一区| 天天做天天爱天天综合| 日本九九九九| 国产精产国品一二三在观看| 国产AV不卡福利| 九月婷婷综合八月丁香在线观看| 五月激情天| 中文字幕日产A片在线看| 色色五月丁香婷婷综合| 日本在线免费中文com.| 丁香六月婷| 夜夜穞天天穞狠狠穞AV美女按摩| 日本久久人| 人人视频色| 五月婷婷狠狠干| 五月婷婷香蕉| 伊人丁香六月婷婷| 五月性色| 777米奇影视第四色| 久久久久婷 | 日韩av手机在线观看| 色欲五月婷婷| 在线1青婷| 久久婷婷五月天| 九九99热久久精品66中文字幕| 天天狠狠夜夜狠狠2023| 狠狠干总合| 久久大香蕉同僚| www.com在线操视频免费观看| 亚洲性图一区二区三区| 丁香五月婷婷大香蕉| 4399无码视频| 99视频精品视频| 色哟哟www| 中文AV网站| 婷婷激情鹿城五月天| 秋霞性爱AV| 超碰资源在线| 26uuu亚洲精品国产| 国产性av| 狠狠色噜噜狠狠色噜噜噜999| 久re热视频| 变态另类色图 | 91超级碰| 黄色成人网站在线播放| 9久久网| 丁香婷婷五月六月天| 婷婷五月天堂| www.色99| 午夜婷婷久久 | 色情综合| 亚洲视频综合网| 97资源碰碰在线| 六月丁香婷婷五月天| 五月天狠狠干| 五月婷婷深深爱| 伊人婷婷五月天| http://www.com久久久精品一区| av成人在线播放| 丁香久久| 6080av| 可以看的av网站| 91碰碰| 六月丁香婷婷综合影院| www.婷婷.com| www.狠狠操.con| www激情婷婷com| 五月婷视频| 人妻久久久| 久99999热视频在线观看免费| 亚洲欧洲一二| 一根材五月婷成人| 五月天婷婷在线播放| 婷婷丁香人妻天天爽| 激情婷婷99| oumeisesewang| 色五月激情基地| 天天天天天久久久久久| 日日干夜夜干| 亚洲综合五月天综合| 无码AV免费精品一区二区三区| 五月天色官网| 97日本操| 婷婷五月六月| 蜜乳人妻一区二区三区| 久久天堂网| 香蕉久久国产AV一区二区| 婷婷五月天小说| 男人天堂伊人五月丁香| 免费无码毛片一区二区A片| 五月激情基地| 亚洲国产黄色电影| www.99热这里精品| 九九热99免费视频| 久久激情五月| 袁子仪视频观看| 婷婷啪啪| 久久婷五月综合色| 亚洲婷婷五月天| 婷婷婷五月天最新综合你懂的| 啪啪啪丁香五月| 婷婷丁香人妻天天爽| 91精品又长又大又粗又爽又猛| 亚洲成人综合在线| 久久黄色网扯| 亚洲成人在线观看av| 丁香五月天在线| 亚洲综合草草| 亚洲人人操| 丁香五月天啪啪激情综和网| 五月天婷婷激情四射综合| 99色网站| 五月天婷婷网站| 五月激情婷婷偷拍| 丁香五月伊人| 六月丁香婷婷五月天| 五月丁香六月片| 久久综合激情婷婷激情| 五月丁香六月婷婷久久| 五月天久久婷婷| 淫荡工a| 久久日婷婷| 人人综合91网| 色婷婷视频在线| 久久久久九九九九视屏小说88| 婷婷五月丁香综合亚洲 | 九九AV| 99热热九九| 国产精产国品一二三在观看| 九月婷婷久久久| 超碰成人免费| 欧美三级欧美一级| 超碰人人艹| 日良久久| 夜夜撸夜夜骑| 久久婷婷青草五月天|