日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
亚洲视频一二区| www激情| 国产夜夜操| 日本一级性爱| 国产一区二区av综合| 亚洲97在线观看| 超碰综合色| 日韩精品区二区三区不卡| 亚洲无码AV九九九| 国产精品久久久久久久电影渣男| 好涩综合| 大香交| 日本一级不卡一二区| 五月婷婷六月天| 超碰国产精品久| 久久国产AⅤ| 亚洲 无码 有码 中文字幕| 久久骚少妇| 熟妇人妻精品一区二区视频色欲| 国产吞精a级片激情电影| www.91理论| 思思视频免费看网站| 熟女人妻一区二区三区| 精品免费视频国产一区| 久久东京热久久| 四季av一区二区凹凸精品小说| 欧美人妻二区三区| 综合网欧美在线| 动漫爆乳3D奶水一区在线观看| 久久毛卡| 99碰碰| 丰满人妻av一区二区三区| 性在久久久久久| 人妻一区二区三区视频 | 亚洲妇色| 青青操少妇| 一本一道人妻久久一区二区三区| 超碰精品在线| 91精品伊人久久久大香线蕉91| 日韩精品资源专区二区| 操逼操2| 思思热一热婷婷热一热| 欧美呦呦性爱| 东京热男人的天堂精品| 夜夜天天噜狠狠爱2021| 一区二区三区四区免费视频| 无码在线亚洲| 国产情侣自拍在线播放| 国产热RE99久久6国产精品首 | 青青欧美| 91成人亚洲色图| 欧美在线|亚洲| 国产99999久久精品| 精人妻无码一区二区三区伊人直播| 牛牛久久国产精品视频一二三| 青久操| 日韩三级性| 欧美97se| 乱伦日本中文自拍| 图片区小说区| 东京热激情视频一二三区| 大香交伊人网| 夜夜嗨一区二区三区三州加勒比| 97超碰久久| 欧美十八禁视频| 国产操逼逼网| 性站 | 天天综合-91入口| 午夜操逼不卡| 97久久超碰| 岛国AV一区二区电影| 亚洲天堂自拍| 深喉吞精| 婷婷色导航| 久久久精久久久| 人妻在线大香蕉| 久久黄黄黄| 88xx成人精品视频| 开心五月天激情网| AV中文字幕剧情1区2区3| 九九人妻| 日韩av免费一级电影| 强奸乱伦动态污图免费| 欧美永久激情一区二区| 亚欧洲日韩国产精品| 欧美一区二区三区互相| AV天天在线观看| 精吧天堂| 日本欧美一区二区三区视频麻豆| 亚洲 日韩 欧美 国产综合体| 日本不卡一区二区三区| 热无码中文亚洲H一道本一区二区| 97国产高清视频在线观看| 天美麻豆精品视频99| 操少妞在线视频| 84YTCOM性无码| 亚洲天堂区| 天天操人人操骚逼网站| 久久成人午夜精品影院| 日韩影片中文字幕一区二区三区| 亚洲国产综合图区中文字幕 | 九九九九九九成人| 九九九九精品| 狠狠干,狠狠操| 啊好爽快点-国产一区二区三区撒尿在线-成人AV| 九九久精品| 国产69精品久久久久99尤物| 97久久超碰日韩精品| 国产精品无码久久久久2028| 色爱欲亚洲| 天天日天天干少妇日| 女人被添高潮免费视频| 国产精品伦理| 午夜丁香婷婷| 蜜臀久久99精品久久久久久无删减| 综合久久六月久久婷婷| 久久久久久裸体| 久久社区一区二区三区| 精品国产99999| 静品嫩模一区二区| 91M一社| 国产精品亚洲美女久久久久| 欧美春色| 白丝1区2区3区| 亚洲激情片| 色五月丁香五月| 国产精品成人午夜福利| 黄污污污污| 精品熟女呻吟久久91| 久久综合99| 欧美亚洲中文| 欧美一区二区三区黄色影视| 大香蕉免费乱伦视频| 男人的天堂久久狠| 色一射色一射| 免费看国产曰批40分钟怎么下载| 啊灬啊灬啊灬啊灬高潮奶出了免费视 | 思思99热| 国产91福利小视频在线观看 | 色五天伊人| 色女免费在线观看视频网址| 91久久久久久久| 国语精品av| 91视频国品一二三区| 亚洲欧美日韩不卡人妻| 美女黄码视频午夜| 怡红院视频在线| 亚洲A曰本VA欧美VA视频| 久久婷婷欧美| 长长久久曰曰夜夜成人网| 97视频在线看| 曰韩香蕉97| 久久久婷| 超碰无码加勒比| 欧美天天影院| 91精品婷婷国产综合久久竹菊| 激情接吻视频久久久久久| 日韩15p| 国产丰满熟夫69mpp| 日韩中文字幕在线视频观看| 操逼无码操逼| BBBBB97COM| 国产91精品久久久久久久网曝门| 亚洲黄色影视| 少妇无码av专区线| 国产乱色国产精品免费视| 久热这里| 久操影视| 少妇同性| 中出789在线视频| 九九久久综合| 婷婷亚洲综合| 国产真实野战在线视频| 日本一区视频在线观看| 国产成人在线观看网址| 97干在线视频| 欧洲一区二区| 日本孕妇孕交| 性九九九九九九| 色综合中文字幕不卡| 婷婷色中文字幕| 超碰在线香蕉| 伊人网综合在线视频| 人妻色偷色噜| 中文字幕在线观看网址| 欧美日韩不卡传媒| 78操B| av橘色网站| 狠狠图片青青草| 一本一道人妻久久一区二区三区 | 69久久久久久久久久久久久| 伦在线97| 欧美少妇高潮久久91| 亚洲精品丝袜-不卡成人免费……| 激情综合网五月婷婷五月天| 伊人一区二区在线播放| 无码最新| 无码操逼网| 国产特级毛片AAAAAA高潮流水 | 国产女人高潮视频| 免费观看有码高清视频| 五月丁香六月婷| 开心五月婷婷激情| 婷婷五月天伊人| 天天爽人人综合免费7799| 免费精品人妻一区二区三| 欧美日韩大香蕉| 91亚洲综合| 98久久| 秋霞一级A片黄色视频| 亚洲一区在线观看欧洲| 日本三级A片网站com| 久久精品福利影院| 人人 操人人 操人人| 中文字幕乱码人妻二区三区| 亚洲色图欧美色图日韩色图| 一区二区视频在线播放| 在线观看国产黄色| 天天插天天射| 大香蕉色十月| 日韩电影天堂视频一区二区| 五月婷婷青青草娱乐伊人| 超碰这里有精品| 美女上床网站| 极品另类| 91天堂色男人的天堂| 亚洲一区二区三区欧美日韩| 嫩草 人人网精品| 内射中国少妇高清视频免费视频| 成人青青草原伊人| 国产一级内射无挡观看| 静品嫩模一区二区| 顶级少妇BT天堂| 国产小炒后入式| 色综九九九一区| 啊啊啊好多水| 日日操丁香五月天| 无码一区二区三区四区五区六区七区八区九区十区视频 | 密臀在线免费观看| 一区二区亚州激情久婷婷欧美| 熟女熟妇一区二区三区视频| 婷婷爽人人婷婷爽视频| 岛国片在线播放| 1769一区二区| 性色国产东北露脸精品视频| 久9久9久9久9久9久9| 啊啊啊啊操死我| 色色色日本| 人人干人人搞人人摸| 熟妇在线视频一区二区| 九九九九九九免费视频| 国产强奸乱伦无码视频| 欧美三级不卡| 欧美96精品在线| 久草国产在线视频| 综合网,亚洲,欧美| 疯操AV| 91大神精品长腿在线观看网站| 乱伦日本色图AⅤ| 少妇一区二区三区在线观看| 麻豆熟妇乱妇熟色A片在线看| 一个人免费视频观看在线WWW| 91狼人| 福利一级版子| 成人自拍三级在线观看| 日日夜夜天天| 丁香7月婷婷| 无码 黑人一区二区三区| 天天操狠狠日夜夜干超碰撸com视频在线观看| 美女大乳久久久久久久女人18| 九九九九一区| 性爱乱伦网址| 国产精品天干天干综合网麻豆| 熟妇乱伦一区二区| 97资源超碰| 99在线精品观看视频中文| 青娱乐欧美激情一区二区 | 久久性爱视频99| 五月婷婷综合网| 91日日夜夜| 亚洲第一精品在线视频| 99xav| 亚洲欧洲av影音| 蜜臀少妇一区二区| 欧美天天搞| 99在线精品观看99| 午夜福利合集| 天天综合精品| 人妻丝袜一区二区三区在线| 91人妻超碰| 国产综合久久久麻桃个| 丁香五月天啪啪| 午夜噜噜噜| 情色AV电影| 干超碰碰熟女| 超碰这里只有精品| 强奸乱伦大香蕉| 麻豆天美在线喷水AV| 中文日本免费高清| 亚洲日韩久久精品一区| 日本色色色视频| 毛片99-全集电影手机免费观看完整-B029AV | 免费中文在线| 欧美性性性| 日本久操视频| 五月天久久综合网| 色网综合网| 久久精品亚洲成a人天堂| 亚洲精品97久久中文字幕| 久久久夜夜嗨免费视频| 九色黄站| 嗯嗯嗯啊啊啊干死我吧| 国产精品无码AV网站| 蜜桃久久一区| 一本大道综合伊人精品热热| 欧美在线观看综合国产| 日本阿v天堂在线观看| 中文字日本乱码| 手机在线中文字幕国产 | 色综合久| 久久久久久亚洲Av无码精| 加勒比综合九九99视频在线播放| 日韩丰满熟妇| 91肉丝| 性欧美精| 成人久久无码www| 91天堂色男人的天堂| 91亚洲人| 性九九九九九九| 91粉芽高清在线一区二区| 色色色日本| 2020中文字幕在线| 操死我干死我| 手机看片1025| 日韩高清黄片| 欧美热图99| 91中文精品日韩欧美在线| 婷婷丁香五月天综合东京热| 1769一区| 久久线上视频免费看| 久视频在线观看| 欧美系列在线一区二区| 成人无码在线超碰网| 97操97干| 亚洲日韩久久精品一区| 欧美天堂日韩三级国产传媒| 熟女被操视频网址| 老外又粗又长一晚做五次| 亚洲黄色电影| 91劲爆| 性欧美天天| 丁香五月偷拍| 亚洲乱码国产乱码精网站| 无码不卡亚洲成?人片| 九九九精品色乱九九九| 青青草啪啪网| 蜜臀在线免费观看在线免费观看| 亚洲天堂中文字幕无码男同| 亚洲一卡2卡3卡4卡乱码网站 | 蜜桃传媒一区二区亚洲| 综合久| 国产偷拍自拍在线视频| 日本色色色视频| 另类TS人妖一区二区三区| 亚洲资源站| 大香蕉日亚洲日本亚大| 9999九九九久久久| 大香网伊人久久综合网eew| 亚洲中文字幕噜噜噜久久久| 久久亚洲婷婷| 乱精品一区字幕二区| 无码自拍SM| 人摸人人操人| 国产欧美岛国精品一区| 欧美性爱三区二区| 一本一道vs波多野结衣| 色黄色美女大长腿午夜视频| 亚洲第一精品在线视频| 99国产在线 精品 视频| 蜜乳AV一区| jk白丝没脱就开始啪啪| 日韩亚洲中文有码视频| 国产探花精品在线| 人妻日日干| 亚洲图片偷拍视频区| 无码日韩网站| 色色无码| 超碰 另类 欧美 | 国产精品久久久久999| 伊人伊人LD| 欧美色天堂网在线视频| 国产乱青青草久久| 青青草原成人| 四虎精品永久在线播放| 国产亚洲精品精AV.| 国产家庭乱伦性爱视频| 岛国艾薇凹凸视频天堂| 欧美精品日韩一区二区| 久久久98网站免费视频| 九九久久首页| 嗯嗯啊好大| 国产毛片片精品天天看视频| 日本三级大片| 亚洲国产一区二区日韩专区| 免费强奸av| www激情| 伊人久久88国产女| 久操视频免费在线观看| 91 丝袜在线观看| 欧洲亚洲人妻无码高清久久三区四区| 九久9精品| 久久久精品中文字幕爱豆| 日本三级A片网站com| 国产麻豆福利av在线播放| 再深点灬舒服灬太大了好硬好爽| 97天天搞在线| 黑人与人妻| 亚州色图欧美色图| 国模无码人体一区二区三| 国产最新小视频在线播放下载 | 91亚洲人电影| 岛国999| 青草一区二区| 国产懂色精品国产av| 青青草日韩无码| 成人精品一区二区三区| 福利视频网站| 99热在线观看| 伦在线97| 啪啪性爱免费视频| 一二三四日本视频高清| 日韩中文字幕宗合在线| 国产强奸乱伦无码视频| 欧美成人一区二区三区在线播放| 狠狠搞 亚洲91| 日韩欧美~中文字| 青娱乐二区免费| 色婷婷电影网| 九一性生活免费视频| 亚洲色婷婷久久91| 思思热在线观看| 97精品在线| 强奸乱伦AV一天堂网| 国产女人成人精品视频| 超碰在线97国产| 乱伦熟女论坛| 嗯嗯啊啊视频在线看| 中日韩久久久免费看| 天天做天天爱夜夜爽毛片试看| 国内精品久久久久影院亚洲| 久操影视| 国产综合永久精品日韩鬼片| 欧美激情久| 日韩一区二区精彩视频| 欧美在线官网| 无码人妻精品酒店| 殴美牲| 射综合网| 国产乱码久久| 女人久久久| 99在线观看| 东京热91| 色色色综合| 精品美女少妇一区二区| 国产激情片在线观看| 夜夜骑操视频| 黄色性爱网网| 新91视频.cmp| 久久久久免费少妇| 国产精品96| 看看小穴| 无码不卡八戒| 国产视频小说| 国产激情在线观看| 狠狠入| www.久久久久| 国产97在线视频| 嗯嗯,啊啊,国产精品| 91久久久亚洲| 狠狠干精品一二三四五六2022| a男人的天堂久久一级A毛片| 粉嫩小泬久久久一区二区| 性影在线视频| 久9久9久9久9久9久9| 人妻人人操| 欧美综合亚洲综合| 后入内射蜜桃臀| 中文字幕一区二区日韩网| 日韩欧美被操黄免费观看| 天天日天天搞天天干| 中文熟女五十乱码在线| 日韩成人电影AV| 97精品网| 青青草日韩免费观看高清在线| 亚洲午夜福利视频| 亚州欧美色图| 亚洲男人天堂2013| 99热思思| 最新三级网址| 夜夜草网站| 色欧洲| 操死我了嗯嗯嗯| 亚洲高清无码免费观看视频| 无码高清操逼| 国产黑白丝在线| 91狠婷| 亚洲国产精品无码AV在线| 91在线国产后入风骚翘臀美女素人| 五月天综合网| 偷拍三区| 91色综合| 久久久999国产| 91九色丨国产丨爆乳| a v网站在线播放| 99re9| 久久九九热| 国产久久久9999| 91精品人妻电影| 人妻三级在线中文字幕| 精品乱码在线观看| 成人网欧美风情| 99视频自拍| 日韩无码三级影院| 亚洲精品久久久久久久蜜桃臀| 欧美在线 亚洲| 久久精品亚洲婷婷| 一区二区娱乐网站| 日本Xx性爱| 天天干天天舔| 97超碰日韩| 亚洲色欧| 一区二三区四区视频大全套| 天天综合欧美综合| 97色伦欧美| 大香蕉黄色一区| 天天操夜夜嗨| 午夜精品久久久久久久久久蜜桃| 葡萄牙性视频一二区| 亚洲高清无码免费观看视频| 久久五十路熟女人妻| 中文字幕丰满子伦无码专区在线视频最新 | 色天使大香蕉| 久操高青| 天美AV片| 厕所偷拍在线| 97干com| 综合色图亚洲欧美| 日韩人妻精品久久久久| 中文字幕黄色片| 日韩国产成人自拍视频| 无码精品久久久天天影视| 日韩熟女无码| 婷婷在线视频在线观看| а√天堂资源官网在线资源| 日韩三级伦理中文字幕| 久久专区| 国产欧美日本亚洲精品| 人人人摸人人| 91人妻最真实刺激绿帽| 爽极品影院| 家庭乱伦性爱av| 日本天天操| 欧美人妻精品一区二区| 岛国艾薇凹凸视频天堂| 国产92麻豆天美精品色欲5| 成人性爱美曰韩| 亚洲aV性爱| 久久久九九网站| 人人人人人人少妇| 亚洲另类久操网| 99re不伦| 亚洲图片 激情小说| 风月影院男女十八禁| 精品美女人人干| 亚洲丝袜二区在线| 综合网天天| 性久久久| 黄色欧美性爱视频| 日本熟妇一区二区三区| 九热大香蕉| 偷拍色图| 91亚洲人| 亚洲精美粉嫩嫩泬在线观看| 欧美极度丰满熟妇hd| 国产 码在线成人网站| 日本三级久| 美性中文综合网| 欧美少妇高潮视频| 天天影视色香欲综合网小说| 淫荡熟女乱伦网| 九九香蕉网| 一区二区三区日韩欧美| 欧美第一页| 97天天日| 日本视频在线观看污污污| 欧美性爱五月天| 97大色网| v91av| 韩国黄片aaaa| 日韩pv中文| 天天综合网~91综合网| 熟女人妻精品一区二区视频| 久久精品中文字幕观看| 久久99热这里只频精品6学生| 大香蕉国产中文自拍| 亚洲欧美内射| 天天色,天天干,天天干| 九九热九九热| 蜜区区视频79 | 亚洲色图 欧美热图 清纯唯美 另类自拍 | 少妇人妻在线| 亚洲色欲天天天堂色欲网女| 97操碰| 欧美丝袜美女电影一二三四区| 国产精品久久久| 日韩成人性爱电影在线播放| 天天爽夜夜欢视| 久操免费观看| 午夜福利成人免费视频| 中文字幕人妻色偷偷久久皮 | 亚洲欧美大香蕉| 九九九九97| 国产精品不卡一区二区电影| 精品国产乱码久久久久A| 夜夜操夜夜高潮夜夜爽国产精品区| 色激情综合网站| 91久操| 国产后入式在线观看| 熟女五十路一区二区三| 男人的天堂色偷偷青青草视频婷婷网| 青青草好吊色| 九九色热| 一二三区精品视频| www.99热| 91欧美www| 精品国产肉丝袜在线拍国语| 超碰97导航| 乱伦AVxx| 人人妻天天做天天爽| 黄色在线网站| 九九九热精品| 性爱乱伦网址| 欧美专区17页| 国内精品伊人久久久久影院会| 偷拍2020| 亚州AV无码国产精品| 四虎免费视频| 8050午夜少妇无码| 就去色综合| 丁香五月成人| 欧美组图日韩亚洲中文字幕| 国产a级精品| 成人影院永久免费观看网址| 精品小视频在线| 国内亚洲精彩视频在线| 久久华人网| 国产伦精品一区二区三区在线观| 国产精品午夜福利| 麻豆人妻精品一区二区| 久久专区| 级品肉射| 国产一区二区三区影片| 78m啪啪啪| 偷拍欧美综合| 免费观看性欧美一级| 最新av在线| 综合欧美日韩在线观看| 变态综合色| 极品粉嫩一区二区| 国产高清26uuu| 欧美日韩不卡传媒| 大香蕉欧美| 日日夜夜噜| 日韩不卡a级视频专区| 欧美啪啪啪91| 综合激情97 | 亚洲综合小说另类图欧美视频激情小说色五月天| 天天天干977| 动漫片子网站3黄| 日本激情免费大片| 伦理第一页| 欧美在线啊啊啊| 婷婷深爱五月| 成人免费视瓶| 91欧美少妇| 色一射色一射| 精品黑人一区二区| 国产亚洲色婷婷久久99精品91 - 百度| 日本黄色裸日本黄色裸体| 亚洲欧美日韩综合在线尤物| 性无码专区2020| 青青草原成人| 久久久穴999| 欧美在线干| ,成人免费啪啪视频| 久操免费视频| 久久久久久久国产| 九九九九九九九精品视频| 人人操人人插人www| 亚洲色人阁| 大香蕉色欲AV| 97色论| 丁香五月婷婷基地| 美女极品一区二区三区| 亚洲天堂欧美| 青青草原伊人网| 无码视频一区二区| 欧美色棕合| 欧美 亚洲 偷拍自拍| 日本国产亚洲一区在线观看| 亚洲精品黑丝| 91天天c| 91女在线观看| 男人的天堂亚洲| 秋霞一级视频在线观看免费| 一区二区三区亚洲| 一级黄色性爱裸体视频| 久9精品| 美女t无毒不卡不卡| 日本熟妇色熟妇在线视频播放| 色呦呦、国产精品| 日本特黄f c2| 色婷婷综合网站| 图片区小说区| 久久久久九九九| 国产精品麻豆视频网站| 国产探花日韩援交| 黄色成人网久久久久久| 毛片一区二区| 欧美欧美啪啪视频| 蜜臀久久99精品久久久久久无删减 | 欧美劲爆第一页| 91中出在线| 熟女高潮精品一区二区| 欧美色图在线视频少妇| 大香蕉之青青草原| 亚洲精品一卡二卡三卡福利视频网站| 日韩av色图综合| 97干色天堂| 欧美激情片一区二区| 天天弄欧美| 干b在线性社区| 国产91精品久久久久久久网曝门| 91欧美成人色站| 欧美大香蕉97| 一区二区蜜臀| 91处女在线视频| 影音资源男人日韩| 国产美女高潮视频| 日韩啪啪视频| 亚洲欧美另类激情小说| 国产一级舔足在线观看| 操B视频日韩无码| 欧美另类精品xxxx| 九月丁香综合网| 夜夜草网站| 亚洲国产精品久久久久久久久久| 91亚州日韩高清| 国产精品久久久久久夜夜夜| 国产60区。| 美女丝袜激情小说| 欧美激情精品久久久久久| 在线欧美亚洲| 51国产午夜精品视频| 911av网站免费观看| 国产真实野战在线视频| 天天爽天天操| 欧美香蕉视xxx| 国产视频大全| 91精品网站| 国产乱伦亚洲色图高清无码| 久久亚洲AV无码专区国产精品| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 手机在线A片| 亚洲AV无码久久久国产精品| 亚洲综合网电影91| 亚洲激情色片| 亚洲资源一区| 成 人片 黄色大片| 六月丁香久久| 高潮嗯啊性感美女久久久| 久久女女| 日本熟女不卡视频| 国产精品亚洲免费| 2019天天操天天爽天天拍| 天天日熟妇| 国产精品不卡高清在线观看| 久久精品国产96精品亚洲拳交| 91色艳| 天天操天天7| 视频国产欧美在线播放| 精品国产肉丝袜在线拍国语| 中文有码第五页| 高颜值美女口爆高潮浪叫| 影音先锋少妇| 亚洲18禁| 中文字幕一二三av| 精品久久久久久无码| 九九在线精品| 91色综合色| www.99色| 神马精品视频| 青青草原av| 中国国产精品一区视频| 真实高潮91| 熟妇一区二区| 国产又爽又黄| 97jingpin| 91丨豆花丨熟女| 久久久99久9| 欧美亚洲首页| 日本色色的视频| 性爱AV天堂| 天堂69亚洲精品中文字| 亚州色交| 日韩有码中文字幕女同性恋| 国产精品无码AV网站| 久久99精品国产| 最近2018中文字幕在线高清第一页| 五月婷丁香| 97超碰公开| 国产激情在线观看| 伊人96在线| 亚欧日韩成人| 美女91色黄18| 色呦呦呦在线观看视频| 少妇三P| 免费的黄片有限公司| 91丝袜美女| 国产精品人妻免费精品| 久久久久骚| 欧美男人天堂| 麻豆黄色五月天| 无码精品久久久久久亚洲| 伊人影院中文字幕| 国产精品96| 另类综合另类| 久久性爱视频免费看| 亚州操操穴网| 亚洲国产一级黄色视频| 丝袜喷水在线| 黄人人操人人操| 国产盗摄美女如厕大神作品在线观看| 国产精品白丝在线播放| 三级网站超变态精品| 日韩在线地址一| 亚洲情色在线| 九月丁香综合网| 国产后入式在线观看| 色啪网| 女性91网站| 午夜精品久久久久久久99热影院| 秋霞一级A片黄色视频| 欧美少妇高潮久久91| 欧美国产伊人久久久久| 日韩AV噜噜噜一区二区三区四区 | 强乱老妇中文字幕| 超碰97起碰| 蜜乳成人AV| 九一性生活免费视频| 无码日韩网站| 精品免费一区| 中文字幕97色| 噜噜吧,噜噜色,噜噜| 啊啊啊啊好多水| 99.色网| 51一区二区三区| 久久久青青草| 青青草伊人久久| 亚洲日韩国产欧美综合v| 四虎AV在线播放| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 日本三级A片网站com| 熟妇高潮二区三区| 国产精品白虎| 玖玖玖玖精品国产剧情| 78超碰| 亚州高清色综合| 屌逼传媒| 国产91啪| 欧美夜夜| 日韩专区久久久| 97精品国产97久久久久久户外免费| 免费自拍三级综合| 麻豆一区二区三区在线看 | 日本黄色精品专区网站| 国产精品久久久久久久久久二区三区| 色欧美天天| 深夜国产一区二区三区在线看| 人人妻人人澡人人爽久久av| 啊啊啊啊啊啊好湿好爽视频| 亚洲色啪| 久久久亚洲Av| 精品九九| 麻豆这里只有精品| 内射夫妻三片| 欧美双插| 日本国产二线女色| 抽插爽| 啊啊啊好爽快点啊啊啊嗯嗯| 黄色AAAAA欧美| 国产一区二区二区按摩精品啪视频| 另类专区加勒比| 一区二区三区日韩欧美| 99热18| 天天天天天天天天天天干美女| 久久久久久99AV无码免费网站| 大香蕉一人| 亚洲综合射| 欧亚久久偷拍视频| 色女网日韩| 免费观看的av| 欧美中出1| 国产真实野战在线视频| 黑人精品XXX一区一二区| 欧美色图91| 噜噜瑟| 俺也射| 九九亚洲色在线观看| 大香网伊人久久综合网eew| 超碰 97国产熟女| 激情婷婷五月天| 九九热AV| av在线资源| 欧美极度丰满熟妇hd| 无码最新| 亚洲AV秘 精品久久老牛影视| 亚洲一区操| 免费视频在线一区二区不卡| 亚洲色图欧美色图另类图片| 日韩大香蕉AV影片| 精品人妻一区二区三区不卡断| 天天综合站| 久艹视频在线| 久久风骚城市| 91蜜桃传媒精品久久久一区二区| 久欲AV| 婷婷10月天青娱乐| 美女好片色日本| 日本Suv精品一区二区| 啊啊啊啊好疼| 91熟女在线| 欧美男人天堂| 国产91亚洲精品一区二区三区| 人妻夜夜爽天天爽三区麻豆AV网站| 大香久久| 啪啪综合网| 女人与公拘交酡2020视频| 强奸抽插av| 91精品女厕偷拍视频| 午夜一区二区三区国产| 欧美成人性爱视频免费观看| 丰满人妻一区二区三区大胸懂色 | 欧美日韩97在线| 天天影视综合色| 久久春色| 91人精品妻入口| AV不卡在线| 制服乱伦| 精品视频123区小说区| 为用户提供免费看黄网址在线观看| 国产精品午夜福利亚洲综合网| 免费自拍三级综合| www欧美性爱| 天天射,天天操,天天爽-国内精品一区二区三区-成人AV | 色翁荡息又大又硬又粗又爽| 午夜精品五区| 黄污污污污| 日日黄色三级网站| 妇女乱色二区| 日本韩高清无砖码22o| 黄视频免费| 国产CHASE男男GAYGA 毛多色婷婷| 长长久久88视频| 精品国产72| 67914在线兔费成人视频| 青青草福利视频| 欧美天天干| 午夜精品久久久久久久男人的天堂 | 粉嫩少妇自慰在线| 黑人性暴力毛片| 偷拍 欧美 日韩| 久久AV无码网址| 1024亚洲中文字幕久在线看片你懂的| 性爱欧美五月| 狼人狠干| 亚洲最新中文字幕免费| 另类小说五月天| 亚熟hd视频在线| av天堂电影网| 99久久久久久久久| 无码欧美有限公司| 亚州精品人妻一二三区| 欧美18 在线观看| 精品国产精品一区二区| 东北女人的毛片| 综合久久2017| 久久国内| 粉嫩少妇自慰在线| 丰满人妻一区二区三区蜜桃视频| 福利社区午夜一区二区| 人妻少妇久久久| 在线小说视频一区| 中文字幕一区二区三区四区在线视频| 自拍鲍鱼一区在线高清观看免费| 久草精品国产蜜臀| 久久九色| 色99视频| 国产精品69久久久久孕妇欧美| 五月丁香黄色网| 国产免费黄色一级大片| 校园春色五月天| 国产福利小视频高清在线观看| 欧美 亚洲 制服 精品| 亚洲怡春院| 久久久久久久久久久免费精品| 日本免费中文一区二区三区四区| 久久人妻无码毛片A片麻豆| 日韩成人高清一区二区| 国产精品久久久久av| 96久久久精品| 人人做,人人操,人人摸| 情色日播放AV| 中文字幕三四五区| 午夜精品视频777| 俞拍自拍| 人人插人人摸人人| 色欲人妻一区二区在线| 国产资源中文字幕在线| 国产黄a三级三级三级av在线看| 色与欲影视天天看综合网| 亚洲高清无码在线桃色| 国产成人主播| 五月天色图| 深夜福利黄片| 99青草| 嗯嗯啊啊操我| 女同在线视频一区| 久久久久99999| 99热免费| 亚州综合网| 91超碰人人| a级免费在线观看| 精品无码一区二区| 亚洲精品久久久久毛片A片拉屎| 国产天美欧美| 男啪女色黄无遮挡免费观看| 台欧久久精品视频| A级在线视频| 亚洲第一页欧美| 在线播放免费av福利片| 夜夜国产一区| 亚洲AV噜噜狠狠网址蜜桃动漫| 国产第11页| 久久免费精品视频免一| 亚洲另类色综合网站| 99ri精品| 啪啪啪综合网| 麻豆福利视频导航| 中文字幕精品一区二区精| 天堂涩涩| 五月婷婷AV| 中国人高清www色视频免费| 久无码| 高清国产成人无码| 国产精品乱码久久久久久| 日韩欧美俄罗斯A片| 亚洲干B| 日韩专区数据列表-第3230页-精品国产一区二区三区香蕉 久久99熟女人妻中文字 | 四虎视频在线观看| 永久免费发布性爱网| 青青草色AV| 91视频观看网站| 国产精品久久99日日| 天天舔日美女视频| 国内黄色精品| 日本一区二区成人在线| 97精品在线视频| 久久一二三四五六七八九区区| 国产乱伦一二三区| 国产老太乱伦一区| 亚洲综合骚逼| 熟女精品一区二区三区| 97超碰磁| 91中文字幕在线观看| 国产乱婷婷精品二区三区| 日韩亚洲国产视频| 五月天伊人网| 亚洲精品美女操逼| 先锋精品av色鲁| 日韩色欲久久一二三四区| 成人性交免费视频| 91麻豆一二三区| 日本三级久| 女人喷水视频在线观看| 色综合一区二区三区| 精品中文一区二区| 国产在线不卡导航| 99人人干| 性影在线视频| 三上悠亚在线毛片91| 久久是精品| 91九九九逼| 翘臀vidoes| 国产粉嫩出水在线播放| 偷拍偷窥与盗摄视频专区| 老鸭窝在线视频播放| 欧天美中出| 亚洲一二三精品久久网| 婷婷五月天成人网| 欧美精品99久久久**| 亚洲欧美日韩中文播放| 国产精品另类| 日本中文字幕熟妇| 99re69| 区一在线观看| 色97| 久久精品国产精品亚洲艾通辽熟妇 | 99在线免费视频| 蜜桃无码AV一区二区| 大黄片做爱的大的| 国产在线综合网| 欧美激情专区| 91亚洲网站| 密臀成人视频久久久| 国产地址二三| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 五月综合视频| 精品国产久热在线观看| 一起草日韩| 日韩精品碰碰| 日熟女| 素人一区二区三区日韩| 国产91福利小视频在线观看| 精品久| 蜜臀久久99精品久久久久| 丰满人妻-区二区三区免费看| 校园春色美腿丝袜| 激情文学亚洲| 2020中文字幕在线| 97视频在线观看网站| 久久高清无码夜夜操| 加勒比综合a∨| 国产久久久久影院老熟女| 欧美青青视频| 日欧毛片久久| 秋霞福利网| 尤物视频偷拍免费| 91色人| 嗯嗯不要 视频| 精产品久久| 青青草中文字幕| JIZZJIZZ亚洲女人被躁| av网站国产主播在线| 97无码视频在线播放| 97超碰色屌| 亚洲精品蜜桃久久久| 亚洲性综合11| 国产尤物在线三区| 精品一区二区三区蜜桃|