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

ARTICLE DETAIL

資訊詳情

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

Arduino Primo深度剖析:從nRF52832 SoC到低功耗藍(lán)牙應(yīng)用開發(fā)

Arduino Primo深度剖析:從nRF52832 SoC到低功耗藍(lán)牙應(yīng)用開發(fā) 第一次拿到Arduino Primo的時(shí)候我其實(shí)是有點(diǎn)懵的。這塊板子長(zhǎng)得不像我當(dāng)時(shí)熟悉的任何一款A(yù)rduino沒有DIP封裝的ATmega芯片沒有Uno那種標(biāo)準(zhǔn)的Shield排針布局中間那顆主控IC赫然印著Nordic Semiconductor的標(biāo)志——nRF52832。如果你只看名字以為Primo只是“又一個(gè)Arduino開發(fā)板”那你大概率會(huì)低估它但如果你看懂了“Features Nordic Semiconductor SoC”這行字背后的分量你會(huì)發(fā)現(xiàn)這其實(shí)是Arduino家族里一塊非常特殊、也非常值得玩的開山板。這篇文章不打算照抄數(shù)據(jù)手冊(cè)我盡量以一個(gè)實(shí)際開發(fā)者的視角把這幾個(gè)問題講透為什么Arduino會(huì)在Primo上用Nordic的SoC而不是繼續(xù)用AVR或轉(zhuǎn)投ESPnRF52832這顆SoC到底給Arduino生態(tài)帶來了哪些不一樣的能力作為普通玩家或工程師怎么把它跑起來、用它做點(diǎn)真正適合的項(xiàng)目以及當(dāng)你不再滿足于Arduino語法、想往底層走的時(shí)候Primo又能把你帶到哪里。很多人知道Arduino.Uno、Nano、ESP32但一提到Primo就會(huì)覺得陌生這很正常。這塊板子當(dāng)年沒有大火官方也早已停產(chǎn)但它在Arduino探索低功耗藍(lán)牙和SoC方向上的意義比它本身的銷量重要得多。1. Primo的定位Arduino家族里的多協(xié)議無線試驗(yàn)田1.1 從Uno到PrimoArduino對(duì)無線平臺(tái)的一次押注早期的Arduino生態(tài)里無線方案一直是“外掛式”的。Uno要聯(lián)網(wǎng)插一塊ESP8266或者ENC28J60擴(kuò)展板要藍(lán)牙再插一塊HC-05藍(lán)牙模塊。這種方法對(duì)學(xué)習(xí)來說很友好因?yàn)槊恳粚佣际仟?dú)立的出了問題也好排查。但對(duì)產(chǎn)品原型來說就很痛苦——飛線、供電、電平匹配、協(xié)議轉(zhuǎn)換任何一個(gè)環(huán)節(jié)都可能成為不穩(wěn)定因素的來源。Arduino后來其實(shí)嘗試過幾條不同的無線路線有基于WiFi的Uno WiFi、MKR系列也有和Nordic合作的Primo。Primo比較特別的地方在于它沒有沿用“MCU無線模塊”的組合而是直接用一顆nRF52832 SoC做主控。也就是說BLE、NFC這些無線能力不是外設(shè)而是這顆芯片原生的一部分。這塊板子在當(dāng)時(shí)算是一次相當(dāng)激進(jìn)的押注因?yàn)檫@意味著開發(fā)者不能再像以前那樣“MCU歸MCU、藍(lán)牙歸藍(lán)牙”地分開處理而是必須在同一顆芯片上同時(shí)管理應(yīng)用邏輯和射頻協(xié)議棧。我認(rèn)識(shí)的一些老玩家當(dāng)年并不太適應(yīng)這個(gè)變化覺得“Arduino不是這樣子用的”。但從今天看Primo代表的這個(gè)方向恰恰是后面幾年物聯(lián)網(wǎng)開發(fā)板的主流一顆SoC集成算力、無線和豐富外設(shè)然后用簡(jiǎn)潔的上層框架把它包裝起來。ESP32的爆火也驗(yàn)證了同一條路線。只是Primo來得太早生態(tài)還沒鋪開才顯得有點(diǎn)生不逢時(shí)。1.2 為什么是Nordic而不是TI、Dialog或ESP這個(gè)問題我覺得挺值得展開。Arduino選Nordic不是隨便抽簽決定的。在低功耗藍(lán)牙這個(gè)細(xì)分領(lǐng)域Nordic的nRF51系列早就被大量運(yùn)動(dòng)手環(huán)、心率帶、beacon和醫(yī)療配件采用它的SoftDevice協(xié)議棧在BLE開發(fā)圈子里口碑一直不差。相比TI的CC254x那套復(fù)雜的協(xié)議棧和Dialog更加封閉的開發(fā)方式Nordic在“給嵌入式開發(fā)者留出足夠自由度”和“把BLE協(xié)議棧做穩(wěn)定”之間取得了相當(dāng)好的平衡。當(dāng)時(shí)選nRF52832還有一層現(xiàn)實(shí)考量它已經(jīng)是Cortex-M4F內(nèi)核64MHz主頻512KB Flash和64KB RAM性能比傳統(tǒng)8位AVR高了好幾個(gè)量級(jí)同時(shí)也比同期的CC2640在RAM和Flash上更慷慨一點(diǎn)。這意味著Arduino的運(yùn)行時(shí)、BLE協(xié)議棧和用戶代碼可以同時(shí)裝進(jìn)這顆芯片而不至于天天為內(nèi)存發(fā)愁。所以Primo選擇nRF52832本質(zhì)上是相中了“無線能力 通用計(jì)算能力 低功耗”這三者不可兼得時(shí)Nordic給出的一個(gè)足夠均衡的答案。當(dāng)然你可能會(huì)問為什么不用ESP32這里有個(gè)時(shí)間線問題。Primo發(fā)布的時(shí)代ESP32才剛剛嶄露頭角而且ESP32的功耗模型和BLE實(shí)現(xiàn)偏重并不適合“紐扣電池跑幾個(gè)月”這類場(chǎng)景。Primo瞄準(zhǔn)的是可穿戴、傳感器節(jié)點(diǎn)、Beacon這類低功耗BLE應(yīng)用而不是需要Wi-Fi和高算力的AIoT場(chǎng)景。兩者的路線差異從第一天就是明確的。1.3 熱詞背后的共同關(guān)切SoC啟動(dòng)、協(xié)議棧與射頻電源我注意到一些開發(fā)者搜索這類板子時(shí)常會(huì)帶著“SoC芯片啟動(dòng)”“RF SoC ADC電源紋波”“無人機(jī)遙控器MCU和SoC通道數(shù)”這類問題。這些熱詞看起來雜亂其實(shí)指向同一個(gè)困惑當(dāng)開發(fā)對(duì)象從普通MCU變成一顆RF SoC后很多過去的經(jīng)驗(yàn)都失效了。最典型的就是啟動(dòng)流程。AVR單片機(jī)基本就是上電、從0x0000開始執(zhí)行邏輯簡(jiǎn)單到可以用幾句話說清。而nRF52832這類SoC要處理的是電源域的上電時(shí)序、外部或內(nèi)部晶振起振、SoftDevice協(xié)議棧的初始化、應(yīng)用代碼從指定Flash地址進(jìn)入。你在Arduino里寫的setup()只是這套流程跑完后交到你手里的那一刻。理解了這層再看“SoC啟動(dòng)”這個(gè)詞就不會(huì)覺得玄乎了。射頻電源紋波也是RF SoC特有的坑。BLE在廣播和連接事件里會(huì)瞬間拉高電流如果電源路徑設(shè)計(jì)不好VDD上的紋波會(huì)直接影響ADC采樣精度甚至導(dǎo)致射頻指標(biāo)劣化。很多初學(xué)者用Primo讀電池電壓發(fā)現(xiàn)數(shù)值跳得厲害問題往往不是代碼而是采樣時(shí)機(jī)和電源去耦沒處理好。這些內(nèi)容我放到后面第5章細(xì)說。現(xiàn)在先把Primo這顆主控本身的能力弄清楚。2. nRF52832拆解一顆Cortex-M4F SoC能為Arduino帶來什么2.1 關(guān)鍵規(guī)格速覽不是“性能強(qiáng)”而是“性能剛好”很多人看芯片參數(shù)喜歡用“強(qiáng)不強(qiáng)”來評(píng)價(jià)。但nRF52832給我的感受是“剛剛好”。它沒有把性能堆到夸張的程度而是在一個(gè)合理的功耗預(yù)算下提供了足夠做產(chǎn)品原型的算力和外設(shè)。這里整理了一份從Arduino開發(fā)視角看的規(guī)格表項(xiàng)目nRF52832規(guī)格對(duì)Arduino開發(fā)者的實(shí)際意義內(nèi)核ARM Cortex-M4F最高64MHz支持FPU和DSP指令跑浮點(diǎn)運(yùn)算、傳感器融合比AVR舒服很多存儲(chǔ)512KB Flash64KB RAM可以塞進(jìn)BLE協(xié)議棧加相對(duì)復(fù)雜的應(yīng)用代碼無線BLE 5.02M PHY、ANT、私有2.4GHzPrimo的BLE能力來自這里支持2Mbps高速模式NFCNFC-A標(biāo)簽手機(jī)靠近即可觸發(fā)配對(duì)或讀取信息ADC12位逐次逼近型ADC比Uno的10位精度高但要注意參考電壓和采樣時(shí)機(jī)通用外設(shè)SPI、TWI(I2C)、UART、PDM、I2S、PWM、QDEC能接音頻麥克風(fēng)、驅(qū)動(dòng)RGB燈、接編碼器等低功耗System OFF約0.3uASystem ONRT C約1.9uA典型值電池供電項(xiàng)目的功耗預(yù)算可以做到很低GPIO最多32個(gè)相對(duì)Mega少很多但做無線傳感器節(jié)點(diǎn)足夠了我說“性能剛好”是因?yàn)镻rimo不等于讓你拿它去跑復(fù)雜的圖像處理或本地AI推理。它真正的舒適區(qū)是“低功耗無線節(jié)點(diǎn) 中等復(fù)雜度本地邏輯”。你可以在它上面跑一個(gè)完整的BLE數(shù)據(jù)采集程序同時(shí)做傳感器讀取、數(shù)據(jù)處理和協(xié)議打包這在8位AVR上是相當(dāng)吃力的而在nRF52832上則游刃有余。2.2 SoftDevice協(xié)議棧Arduino代碼塊如何與BLE共存如果你之前只寫過Arduino的串口收發(fā)和引腳控制第一次接觸“SoftDevice”這個(gè)詞可能會(huì)有點(diǎn)發(fā)怵。你可以把SoftDevice理解成Nordic提供的一個(gè)“預(yù)編譯藍(lán)牙協(xié)議?!彼鼰浽贔lash的低地址段以S132這類版本號(hào)區(qū)分。你的應(yīng)用代碼運(yùn)行在它之上的地址空間通過API調(diào)用來收發(fā)BLE事件。在Arduino環(huán)境里這套機(jī)制被封裝得比較干凈。ArduinoBLE庫(kù)在BLE.begin()時(shí)會(huì)幫你去和底層協(xié)議棧握手之后的廣播、連接、特征讀寫看起來就和普通庫(kù)函數(shù)差不多。但實(shí)際工作中你需要意識(shí)到一個(gè)問題所以你的代碼并不是獨(dú)占整顆芯片的。SoftDevice占據(jù)的Flash和RAM不能被你亂寫同時(shí)一些外設(shè)和中斷協(xié)議棧也在使用。好在Arduino核心在編譯時(shí)已經(jīng)通過鏈接腳本處理了地址偏移普通用戶平時(shí)不太需要手動(dòng)改但當(dāng)你看到編譯日志里“Flash used”的數(shù)字比預(yù)期高很多時(shí)不用驚訝——一部分空間確實(shí)被無線協(xié)議?!胺孔狻闭嫉袅?。我見過一些開發(fā)者想繞過SoftDevice直接把nRF52832當(dāng)純MCU用把全部Flash都留給自己。這在技術(shù)上可行但你丟掉了這顆芯片最值錢的BLE能力。Arduino Primo的價(jià)值恰恰在于它幫你把這些復(fù)雜封裝好了你可以先用簡(jiǎn)單API體驗(yàn)BLE再逐步理解底層。2.3 短板盤點(diǎn)Wi-Fi缺失、ADC精度、官方支持生命周期任何板子都不是萬能的Primo的短板也很明顯。最直接的就是沒有Wi-Fi。如果你的項(xiàng)目需要聯(lián)網(wǎng)上傳數(shù)據(jù)、走M(jìn)QTT或者做Web配置界面Primo單靠BLE做不到必須再外掛Wi-Fi模塊或選其他板子。這也是它后來被很多玩家放棄的核心原因之一BLE雖然低功耗但在“什么都能干”的物聯(lián)網(wǎng)場(chǎng)景里開發(fā)者還是會(huì)優(yōu)先選帶Wi-Fi的ESP32。第二個(gè)短板和ADC精度有關(guān)。nRF52832的ADC是12位的紙面精度比Uno高但實(shí)際表現(xiàn)高度依賴電源質(zhì)量和參考電壓。如果你用電池供電在BLE廣播瞬間去讀ADC數(shù)據(jù)會(huì)出現(xiàn)明顯波動(dòng)。這不是芯片壞了而是電源紋波和采樣時(shí)序的典型問題。項(xiàng)目中給傳感器和ADC供電做好去耦或者避開射頻事件再去采樣是必須要考慮的事。第三個(gè)短板是官方支持的生命周期。Arduino Primo已經(jīng)停產(chǎn)Nordic的一線產(chǎn)品重心也轉(zhuǎn)到了nRF52840和nRF5340上。這意味著你在新版本IDE里偶爾會(huì)遇到板卡包兼容問題社區(qū)討論也相對(duì)少。如果你是需要長(zhǎng)期穩(wěn)定供應(yīng)鏈做產(chǎn)品的人我建議直接考慮官方仍在支持的nRF52840開發(fā)板但如果你是學(xué)習(xí)、折騰、研究SoC內(nèi)部機(jī)制Primo的二手價(jià)格反而成了優(yōu)勢(shì)。3. 上手實(shí)操IDE配置、板卡安裝、點(diǎn)燈與BLE廣播3.1 板卡包安裝從在線安裝到離線遷移Primo雖然停產(chǎn)了但Arduino IDE的板卡管理里還是能裝到官方支持包的。常規(guī)做法是打開IDE的“開發(fā)板管理器”搜索“Primo”或“Nordic”相關(guān)關(guān)鍵詞找到Arduino官方維護(hù)的板卡包安裝。安裝完成后在開發(fā)板列表里選擇Arduino Primo就能開始編譯上傳了。這里有個(gè)實(shí)操細(xì)節(jié)。Arduino IDE 2.x默認(rèn)會(huì)把板卡包、編譯器、工具鏈全部放在用戶目錄下的Arduino15文件夾時(shí)間一長(zhǎng)能占到好幾個(gè)GB。C盤空間緊張的朋友建議提前在IDE設(shè)置里把數(shù)據(jù)目錄指到其他盤避免以后遷移麻煩。如果你需要在沒有網(wǎng)絡(luò)的機(jī)器上開發(fā)也可以把已下載好的Arduino15里對(duì)應(yīng)的包目錄直接拷貝到新機(jī)器同一位置這其實(shí)就是很常用的“離線安裝包”思路。我自己的習(xí)慣是裝好一套順手環(huán)境后把這個(gè)目錄壓縮備份換電腦時(shí)直接解壓省去重新下載一堆工具的等待時(shí)間。安裝之后不妨先編譯一個(gè)空項(xiàng)目確認(rèn)工具鏈和板卡包都正常工作。如果編譯時(shí)報(bào)找不到頭文件、找不到工具鏈多半是板卡包沒裝完整別急著懷疑代碼先把包卸載重裝一遍多數(shù)問題都能解決。3.2 引腳映射、點(diǎn)燈與芯片信息讀取Primo的引腳排布和Uno、Mega不一樣它也不再兼容傳統(tǒng)Shield。所以你拿到板子后第一件事應(yīng)該是去看官方引腳圖弄清楚哪些引腳連接了板載的NFC天線、IMU、麥克風(fēng)、RGB LED和按鍵。這些板載器件已經(jīng)占用了不少GPIO如果你把它們也當(dāng)成普通引腳用很可能出現(xiàn)莫名其妙的外部干擾。點(diǎn)燈向來是嵌入式世界的Hello World。和Uno不同Primo等板載包的LED_BUILTIN定義未必和你的預(yù)期一致所以我在代碼里通常會(huì)自己定義一個(gè)測(cè)試引腳方便按原理圖調(diào)整// 如果板載包沒有定義LED_BUILTIN請(qǐng)根據(jù)Primo原理圖修改引腳號(hào) #define TEST_LED 2 void setup() { Serial.begin(9600); pinMode(TEST_LED, OUTPUT); // 打印芯片唯一ID確認(rèn)SoC正常工作 Serial.print(DEVICEID: ); Serial.println(NRF_FICR-DEVICEID[0], HEX); } void loop() { digitalWrite(TEST_LED, HIGH); delay(500); digitalWrite(TEST_LED, LOW); delay(500); }直接訪問NRF_FICR寄存器是nRF52系列特有的方式你可以用它讀出這顆芯片的出廠唯一ID。如果串口能打印出一串十六進(jìn)制數(shù)說明SoC已經(jīng)正常啟動(dòng)USB轉(zhuǎn)串口通信也沒有問題。對(duì)剛到手的板子來說這一步的花費(fèi)時(shí)間很少但能幫你把“板子能不能跑”這個(gè)問題一次性排除掉。3.3 第一個(gè)BLE廣播程序用ArduinoBLE庫(kù)跑通點(diǎn)完燈Primo真正的高光時(shí)刻來了跑一個(gè)BLE廣播程序。Arduino官方提供了一套跨平臺(tái)的ArduinoBLE庫(kù)對(duì)Primo這類nRF52板卡支持得比較完整。下面是一個(gè)很簡(jiǎn)潔的外設(shè)示例廣播出一個(gè)服務(wù)并允許手機(jī)連接后讀取一個(gè)持續(xù)變化的特征值#include ArduinoBLE.h BLEService testService(180C); BLEUnsignedCharCharacteristic tickChar(2A56, BLERead | BLENotify); void setup() { Serial.begin(9600); while (!Serial); if (!BLE.begin()) { Serial.println(BLE init failed); while (1); } BLE.setLocalName(PrimoBLE); BLE.setAdvertisedService(testService); testService.addCharacteristic(tickChar); BLE.addService(testService); BLE.advertise(); Serial.println(BLE advertising...); } void loop() { BLEDevice central BLE.central(); if (central) { Serial.print(connected: ); Serial.println(central.address()); while (central.connected()) { tickChar.writeValue((uint8_t)(millis() / 1000)); delay(100); } } }這段代碼跑通后你打開手機(jī)的BLE調(diào)試助手或者nRF Connect就能看到一個(gè)名叫“PrimoBLE”的設(shè)備連接后能讀到那個(gè)每秒變化的數(shù)字。從Arduino玩家的角度看這就是“一行代碼讓單片機(jī)變成藍(lán)牙外設(shè)”的體驗(yàn)從SoC的角度看這個(gè)過程背后是SoftDevice對(duì)廣播、連接、通知等一堆協(xié)議事件的調(diào)度。我建議你把手機(jī)上的nRF Connect打開多觀察一下廣播包里有哪些字段看看連接后的MTU大小、連接間隔這些參數(shù)。因?yàn)榻窈竽阕鰧?shí)際項(xiàng)目時(shí)這些參數(shù)會(huì)直接影響功耗、吞吐量和兼容性。3.4 上傳失敗與串口異常的常見排錯(cuò)Primo使用板載調(diào)試器實(shí)現(xiàn)燒錄所以你要把數(shù)據(jù)線插到板子的USB口而不是外接一個(gè)USB轉(zhuǎn)TTL模塊。很多新手在這里栽過跟頭以為和Uno一樣找個(gè)USB轉(zhuǎn)串口就能燒結(jié)果怎么都連不上。實(shí)際開發(fā)中我遇到的上傳失敗大概可以歸成三類串口被IDE的串口監(jiān)視器占著上傳時(shí)就會(huì)報(bào)端口被占用。解決方法是先關(guān)掉串口監(jiān)視器再燒。數(shù)據(jù)線質(zhì)量太差只供電沒數(shù)據(jù)或者接觸不良。換根短一點(diǎn)、質(zhì)量好的線很多詭異問題直接消失。板卡包和IDE版本不完全兼容。Arduino IDE 2.x對(duì)老開發(fā)板的支持偶爾有坑我遇到這種情況會(huì)先用1.8.x驗(yàn)證一下確認(rèn)是IDE還是板子的問題再?zèng)Q定要不要換回舊版IDE。另外如果你在Windows下發(fā)現(xiàn)設(shè)備管理器里沒有正常識(shí)別出板載調(diào)試器大概率是驅(qū)動(dòng)沒有正確安裝。重新安裝板卡包時(shí)注意選完整安裝通常會(huì)把需要的驅(qū)動(dòng)一起帶上。整個(gè)過程其實(shí)不算復(fù)雜只要能冷靜地把問題拆成“板子、線、IDE、驅(qū)動(dòng)”四個(gè)環(huán)節(jié)逐個(gè)排除就行了。4. 項(xiàng)目選型舵機(jī)、小車、可穿戴哪些場(chǎng)景真正適合Primo4.1 舵機(jī)和電機(jī)控制PPI驅(qū)動(dòng)的PWM體驗(yàn)Arduino玩家最常見的“整活”項(xiàng)目就是控制舵機(jī)、驅(qū)動(dòng)小車。那Primo適不適合干這些活呢答案是可以而且有些地方比Uno體驗(yàn)更好。nRF52832的PWM外設(shè)不是靠CPU反復(fù)翻轉(zhuǎn)引腳來實(shí)現(xiàn)的而是通過可編程外設(shè)互聯(lián)PPI和定時(shí)器協(xié)同工作。意思是PWM波形一旦配置好后續(xù)輸出由硬件自己完成CPU可以騰出來處理藍(lán)牙協(xié)議棧或者其他邏輯。你寫一個(gè)舵機(jī)控制程序讓它一邊通過BLE接收指令一邊輸出PWM波形在Uno上可能會(huì)遇到定時(shí)器不夠用、中斷沖突這些問題在Primo上則流暢很多。我來舉個(gè)實(shí)際場(chǎng)景。你要做一個(gè)手機(jī)BLE遙控的小車Uno的方案是“Uno 藍(lán)牙串口模塊 電機(jī)驅(qū)動(dòng)板”接線復(fù)雜不說藍(lán)牙串口透?jìng)鞯目煽啃院蛯?shí)時(shí)性也一般。換成Primo的話手機(jī)直接連Primo的BLE電機(jī)控制指令通過特征值下發(fā)PWM由硬件生成這套鏈路從底層就比“串口透?jìng)鳌狈€(wěn)定。唯一要適應(yīng)的是Primo的GPIO數(shù)量有限做四驅(qū)小車或者帶機(jī)械臂的復(fù)雜小車時(shí)引腳要精打細(xì)算。如果你拿它去跑GRBL或者CNC控制這類項(xiàng)目我就不太推薦了。GRBL這類固件高度依賴AVR的定時(shí)器架構(gòu)和訪問時(shí)序移植到nRF52832上需要改的東西太多不如直接用Uno或者ESP32方案來得省心。Arduino語法兼容不等于外設(shè)行為兼容這是我在Primo上吃過幾次虧之后最深的體會(huì)。4.2 電池供電傳感器與可穿戴應(yīng)用Primo真正的主場(chǎng)其實(shí)是電池供電的低功耗無線傳感設(shè)備和可穿戴原型。板載的6軸IMU和數(shù)字麥克風(fēng)讓它非常適合做手勢(shì)識(shí)別、動(dòng)作監(jiān)測(cè)、語音喚醒這類原型NFC功能又能讓手機(jī)靠近板子時(shí)快速讀取設(shè)備信息或者觸發(fā)配對(duì)。舉個(gè)例子你可以用它做一個(gè)簡(jiǎn)易的“老人跌倒報(bào)警”原型IMU檢測(cè)到劇烈加速度變化通過BLE向手機(jī)發(fā)送告警平時(shí)芯片進(jìn)入低功耗模式只有事件發(fā)生時(shí)才會(huì)被喚醒。整個(gè)系統(tǒng)用一塊鋰電池就能跑很久這是Uno這種8位開發(fā)板很難做到的。很多人以為低功耗就是“芯片選對(duì)了就行”其實(shí)代碼方式影響也很大。在Arduino環(huán)境里如果你只是讓loop()空轉(zhuǎn)nRF52832的功耗并不會(huì)自動(dòng)降到很低。要讓塊Primo在電池供電下發(fā)揮SoC的優(yōu)勢(shì)你得主動(dòng)利用事件等待機(jī)制在沒事做的時(shí)候讓CPU停下來等待喚醒事件而不是空跑循環(huán)。這話題我在第5章細(xì)講。4.3 Primo、ESP32、STM32怎么選身邊朋友經(jīng)常問我類似的問題“我想做無線項(xiàng)目到底買Primo、ESP32還是STM32”我給出的判斷方式其實(shí)很直接先看你的無線需求再看功耗和開發(fā)效率。維度Arduino Primo (nRF52832)ESP32STM32 外接無線模塊無線能力原生BLE NFC低功耗優(yōu)化好Wi-Fi BLE能力全面取決于外接模塊通常需要自己處理協(xié)議功耗極低適合電池供電較高Wi-Fi常開會(huì)明顯耗電取決于模塊選擇和低功耗設(shè)計(jì)算力中等適合傳感器節(jié)點(diǎn)較強(qiáng)可做語音、圖像等較重負(fù)載根據(jù)具體型號(hào)差異很大生態(tài)Arduino核心較成熟但板子停產(chǎn)社區(qū)極其活躍教程多STM32Cube生態(tài)強(qiáng)大入門門檻稍高適合場(chǎng)景可穿戴、Beacon、BLE遙控器、傳感器節(jié)點(diǎn)需要聯(lián)網(wǎng)、需要本地處理能力的物聯(lián)網(wǎng)節(jié)點(diǎn)純MCU業(yè)務(wù)或需要嚴(yán)格RTOS控制的場(chǎng)景如果你的項(xiàng)目一定要聯(lián)網(wǎng)、要跑MQTT、要做Web配網(wǎng)ESP32是更省事的選擇如果你主要是處理本地控制邏輯不要求低功耗STM32的生態(tài)也很成熟但如果你做的是一塊“必須用紐扣電池跑幾個(gè)月”的BLE設(shè)備Primo這顆nRF52832的路線依然是值得認(rèn)真考慮的。我也見過有人拿Primo去做帶屏的BLE遙控器比如控制無人機(jī)云臺(tái)或者航模通道。這里要注意帶寬和通道數(shù)的問題。BLE的連接間隔和單次傳輸數(shù)據(jù)量是有限的你不可能像PPM或者SBUS那樣在一個(gè)通道里高頻塞進(jìn)大量通道數(shù)據(jù)。像無人機(jī)遙控器這種場(chǎng)景MCU負(fù)責(zé)采集所有搖桿通道SoC負(fù)責(zé)以合理的數(shù)據(jù)包結(jié)構(gòu)通過BLE發(fā)送出去接收端再做映射??刂?個(gè)通道、用10ms/20ms的連接間隔在nRF52832上完全可行但數(shù)據(jù)包設(shè)計(jì)要足夠緊湊。5. 從Arduino走向底層低功耗、射頻布局與Nordic SDK5.1 低功耗從__WFE()到System OFF想要發(fā)揮Primo的低功耗優(yōu)勢(shì)Arduino默認(rèn)的loop()輪詢模式是不夠的。最簡(jiǎn)單有效的改動(dòng)是在沒事做的時(shí)候讓CPU進(jìn)入WFEWait For Event狀態(tài)void loop() { // 沒有事件需要處理時(shí)讓CPU停下來等待喚醒 delay(10); __WFE(); // 喚醒后的業(yè)務(wù)邏輯 }__WFE()是Cortex-M內(nèi)核的一條指令意思是“停止執(zhí)行直到有事件發(fā)生”。在Arduino環(huán)境里定時(shí)器中斷、GPIO中斷、BLE協(xié)議棧事件都可以把它喚醒。這樣CPU不用在空循環(huán)里白白耗電雖然省下的功耗不如完整休眠模式多但已經(jīng)是一個(gè)很明顯的改善。再往下一步就是用NRF_POWER-SYSTEMOFF進(jìn)入System OFF。這個(gè)模式下芯片幾乎完全斷電電流能降到微安級(jí)別只能用復(fù)位或者特定的DETECT引腳喚醒。要注意的是System OFF之后你的程序相當(dāng)于關(guān)機(jī)重啟所以只能用在“按一下按鍵喚醒并上報(bào)一次數(shù)據(jù)”這種場(chǎng)景。這里稍微走神就可能把設(shè)備“鎖死”所以我建議新手先把__WFE()和delay()配合玩明白再考慮System OFF。在Arduino層面做低功耗優(yōu)化本質(zhì)上是在和整個(gè)運(yùn)行時(shí)環(huán)境博弈。你要理解庫(kù)里哪些操作會(huì)阻止CPU休眠比如delay()常用的忙等待實(shí)現(xiàn)就會(huì)讓CPU空轉(zhuǎn)換成定時(shí)器喚醒的方式會(huì)好很多。這塊內(nèi)容沒有統(tǒng)一的銀彈只能在具體項(xiàng)目里逐個(gè)排查。5.2 RF SoC硬件設(shè)計(jì)里的三個(gè)坑天線凈空、晶振、ADC電源紋波如果你不只是用官方Primo板還想基于nRF52832自己畫板子那這三個(gè)坑幾乎是必踩的提前繞開能省很多時(shí)間。第一天線凈空。BLE天線周圍不能鋪地銅不能放金屬件天線下方PCB要開凈空區(qū)。天線匹配網(wǎng)絡(luò)要參考Nordic參考設(shè)計(jì)不要自己隨便估幾個(gè)電容電感就上。很多人以為“天線能收就行了”結(jié)果測(cè)出來的發(fā)射功率和靈敏度差一大截還查不出原因。第二晶振的選擇。nRF52832需要一顆32.768kHz的慢速晶振給射頻協(xié)議棧維持定時(shí)這和普通MCU“隨便焊?jìng)€(gè)晶振能跑就行”完全不同。慢速晶振的負(fù)載電容和等效串聯(lián)電阻都要符合芯片手冊(cè)要求否則藍(lán)牙連接就會(huì)不穩(wěn)定甚至廣播都發(fā)不出去。我見過一塊板子打印日志一切正常但BLE連上就掉線最后查出來就是晶振不起振導(dǎo)致協(xié)議棧時(shí)鐘紊亂。第三ADC電源紋波。前面提到的RC SoC ADC受電源紋波影響大在做電池電壓采樣時(shí)尤其明顯。電池供電時(shí)BLE廣播瞬間電流可能沖到十幾毫安甚至更高電源路徑上的壓降和紋波都會(huì)被ADC讀出來。我的經(jīng)驗(yàn)是電池電壓采樣不要放在廣播事件前后可以通過定時(shí)器錯(cuò)開采樣時(shí)間同時(shí)電源輸入端加一個(gè)10uF陶瓷電容和一個(gè)小阻值RC濾波ADC結(jié)果會(huì)平穩(wěn)很多。這個(gè)經(jīng)驗(yàn)適用于任何帶有射頻SoC的板子不只是Primo。5.3 把Primo當(dāng)跳板轉(zhuǎn)向nRF5 SDK和ZephyrArduino Primo對(duì)很多人來說只是入門的一塊開發(fā)板但它的真正價(jià)值是可以作為你深入低功耗藍(lán)牙SoC開發(fā)的跳板。等你用ArduinoBLE庫(kù)跑通了廣播、連接、讀寫特征值之后你會(huì)發(fā)現(xiàn)一個(gè)很自然的問題這些API到底是怎么工作的BLE事件是怎么被分發(fā)的SoftDevice和應(yīng)用代碼怎么共存這時(shí)候你就可以嘗試打開Nordic官方的nRF5 SDK在nRF52832上直接編寫基于SoftDevice的BLE程序。你會(huì)發(fā)現(xiàn)Arduino核心替你隱藏了很多東西從sd_ble_gap_advertising_start()到app_timer從ble_gatts服務(wù)定義到連接參數(shù)更新每一步都需要你顯式地理解協(xié)議棧的行為。這個(gè)過程確實(shí)比Arduino繁瑣但對(duì)一次真正搞懂BLE應(yīng)用開發(fā)來說非常值得。另一個(gè)路線是Zephyr RTOS。Nordic現(xiàn)在對(duì)Zephyr的支持力度很大nRF52832在Zephyr里也有完整支持。Zephyr的藍(lán)牙協(xié)議棧用起來和Nordic SoftDevice的方式不太一樣抽象層次更高一些。如果你之前的嵌入式開發(fā)經(jīng)歷是“非RTOS即裸機(jī)”Zephyr會(huì)花一些時(shí)間適應(yīng)但學(xué)會(huì)了之后你再做多任務(wù)藍(lán)牙應(yīng)用時(shí)思路會(huì)清晰很多。我自己從Arduino轉(zhuǎn)到nRF5 SDK時(shí)最大的障礙不是API多而是心態(tài)上要從“調(diào)用庫(kù)函數(shù)”切換到“理解事件驅(qū)動(dòng)的狀態(tài)機(jī)”。5.4 最后一個(gè)小技巧用NFC標(biāo)簽快速進(jìn)入BLE配網(wǎng)Primo板載的nRF52832支持NFC-A標(biāo)簽功能這算是一個(gè)很有用但容易被忽略的點(diǎn)。很多BLE設(shè)備第一次配對(duì)時(shí)需要手動(dòng)打開手機(jī)App去掃描過程比較繁瑣但有了NFC手機(jī)靠近板子的NFC天線區(qū)域就能直接觸發(fā)打開App或者讀取設(shè)備信息從而快速進(jìn)入配對(duì)流程。在Arduino環(huán)境中NFC功能沒有像BLE那么完整的封裝通常需要配置NFC tag的NDEF數(shù)據(jù)。比較常見的一個(gè)用法是把NFC標(biāo)簽里寫入一個(gè)URL比如https://example.com/start
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
可以看的av| 亚洲mm色| 疯狂做受XXXX高潮A片| 成人羞羞啪啪 全 视频| 激情五月天综合网| 五月天激情亚洲| 日本色99| 99爱视频| 色吧五月婷婷| 99热只有精品在线观看| 六月亚洲婷婷6月中文字幕| 国产精品A片在线| 啪啪激情网| 激情综合网亚洲色图| 99人人操| 日韩 mm 不卡| 中文字幕成人版| 色综合综合色| 色噜噜狠狠色综合网| 天天爽成人综合网站| 日韩AV在线电影| 99热在线精品观看| 超碰亚洲天堂| 国产avapp 网| 五月综合久久| www.99热这里精品| 色婷婷另类| 色优久久| 99在线免费视频| 日本天天操| 开心激情久久久久久久| www.夜夜騎夜夜狠| www.激情五月天| www,8050,午夜三级| 在线成人av播放| 777影视理论片大全在线观看| 激情视频综合| 成人短视频在线| 99亚洲精品视频| 我要看激情五月天| 国产激情综合五月久久| 久久人人九| 开心激情播播五月天| 狠狠色婷婷丁香六月| 激情五月天丁香| 9有码中文| 99偷拍视频在线日本| 七月丁香五月婷婷在线| 婷婷五月欧美| 色婷婷先锋| 欧美激情伊人| 激情文学 综合 色| 五月天婷婷丁香花| 狠狠色综合久久| 人妻无码精品一区| 色婷婷中文在线| 日本色综合| 91九色小视频| 26UUU| 丁香六月色婷婷| 91超碰九色| 五月婷婷三级| 丁香 婷婷五月| 99er这里只有精品| 丁香婷婷在线| 五月丁香啪啪综合| 熟妇人妻中文字幕无码老熟妇| 久久99网站| 婷婷五月丁香六月| 99re资源在线视频导航| 在线观看免费狠狠色丁香香综合| 色婷婷婷av| 五月社区婷婷激情| 色激情五月| 五月丁香色色网| 9久国产精品| 天天天干夜夜夜操| 伊人婷婷99热精品| 激情久久久久久| 六月婷婷天天操夜夜爽视频| 日日懆天天懆| 亚洲另类在线观看| www.色欲丁香婷婷| 色噜噜婷婷| 五月综合视频在线| 第五色色色婷婷| 色情五月天丁香社区| 五月丁香久久网| 五月婷婷丁香| 久久九九re热| 爱草视频在线| 99久热在线精品| 99热免费| 国产熟女大叫受不了| 超碰色色综合| 五月婷婷综合精品| 99久久99九九99九九九| 丁香五月天婷婷91| 五月丁香婷婷开心| 99国产精品久久久久久久久久久| 69久久99精品久久久久| 婷婷色av| www。久久久久一b。Cc| 丁香六月啪啪| 十一月婷婷激情四射| 香蕉久久国产AV一区二区| 久久久全国免费视频| 色欲久久久久久综合网综合网| 再綫Av免费視品| 色色免费网战视频| 最近中文字幕2019视频1| 婷婷五月日本| 丁香五月天五码婷婷| 黄色成人网站在线播放| www.激情五月天.con| 五月色情婷婷| 99热老网站| 日本操B视频| 六月丁香色色色| 翔田千里无码| 蜜桃人妻无码AV天堂三区| 啪啪色区| 婷婷五月综合网| 高清无码网址| 欧美激情xxxXX| 欧洲色色| 婷婷99丁香| 婷婷五月天深爱| 欧美综合五月丁香六月婷| 无遮挡国产高潮视频免费观看 | 综合久久五月天| 五月婷婷插一插| 思思热高清在线观看| 天天噜噜| 亚洲一级色电影| 婷婷色五月情| 99riAV成人在线视频| 五月丁香色色综合| 国产成人网址| 五月丁香视频在线观看| 蜜臀AV在线观看| 99综合在线| 丁香婷婷五月| AV动漫不卡无码免费| 99爱在线视频观看| 中文字幕性爱视频| 五月婷婷|欧美| 六月婷婷综合激情| 色www.con| 亚洲AV成人无码久久精品老人法拉利| 国内精品免费一区二区2009| 五月天啪啪| 伊人狼人干| 综合网激情五月天| 免费在线观看av网站| 26uuu美女三级视频| 久久婷婷视频| 国产夫妻操逼内射视频| 精品香蕉99久久久久网站| 4399成人黄A片| 啪啪综合网| 久久久.COM| 日日夜夜天天综合| 五月天久久综合| 五月婷婷九九热| 亚洲成片在线观看| 五月婷色丁香| 男人的天堂99| 91seav| 欧美视频五区| 日本久久99| 日日干综合| 99ER热精品视频| 玖玖九九99| 亚洲中文字幕翔田千里| 天堂色婷婷| 欧美日韩999| 婷婷六月天| 97婷婷丁香五月天激情图片| 免费观看日韩成人av| www.99热视频| 婷婷 久综合| 丁香激情网| 五月之婷婷| 综合色色综合| 亚洲深喉AV| 亚洲激情综合免费| 区区久久妻| 激情久久久| 夜夜撸天天日| 色啪影院| 91热久| 五月天另类综合网| 亚洲色基地| 婷婷综合网| 丁香婷婷射| 人人操人| 被强行糟蹋的女人A片| 色婷婷亚洲在线| 久久人操-久草婷婷-成人AV| 欧美性色A片免费免费观看的| 99爱视频在线播放| 婷婷区日本| 亚州精品成人片| 婷婷丁香五月激情| 日本婷色| 久久九九99亚洲国产久精综合| 三级毛片7979| 超碰97在线观看免费| 丁香 亚洲 久久| 99re久热只有精品6在线直播| 永久天堂日本| 欧洲电影在线观看免费版英语版| 精品在线网站| 久久五月丁香| 播五月丁香六月| 亚洲欧洲国产精品| 99色精品| 玖玖激情网| 久草xx性爱视频| 亚洲婷婷基地| 久久六月综合| 色五月色开心开心五月| 丁香五月大香蕉在线99| AV中文在线| 极品另类| 亚洲综合另类| 日本五月天网站| 99热这里只有精品23| 五月丁香av中文| 青青999| 激情四射五月天| 五月婷婷综合久久| 婷婷色在线视频| www国产亚洲色婷婷com| 五月综合六月丁| 亭亭玉立国色天香| www.粉嫩av.com| 婷婷精品综合| 五月天婷婷操逼视频| 色情激情五月婷婷| 久人人操| 97色欧美| 日本美女上人| 婷婷久草| 久久精品性爱视频,| www.91在线观看| 激情性爱婷婷| 色九九综合| 丁香五月欧美| 免费黄色AV| 五月激情网站| 九九热在线观看视频| 五月综合缴情网| 色五月天天| 丁香六月天婷婷在线| 久久久www| 中文字幕AV在线播放| av线电影| 深夜男女福利刺激影院一区| site:minyis.com| 天天日夜夜高潮| 婷婷 久综合| 蜜臀av无码久久久久久久久| 久99久热只有精品国产99| www.色婷婷。com| 久久狠狠色| 五月色导航| 狠狠干2007| 五月丁综合在线观看| 五月在在观看| 亚州色色色| 人人爽天天爽| 亚洲激情五月| 成人色五婷婷| 五月婷婷啪啪| 无码少妇高潮喷水A片免费| 激情小说五月天| 国产精品久久欧美久久一区| 91九色在线观看免费| 久久婷婷亚洲无码一起| www.天天色综合| 九九热视频网站| www.操逼comm| 国产精品国产| 中文字幕日产A片在线看| 国产肥白大熟妇BBBB视频| 1024在线观看免费视频| 激情五月丁香五月| 色婷婷五月天天天干天天操天天爽| 五月成人网站| 国产FREESEXVIDEOS性中国| 久久一级AV| 婷婷五月丁香激情图片| 久久九九视频网站| 思思 热 99| 丝袜激情网| 国产超碰在线| 午夜日韩久久久网站| 久久大香蕉同僚| 五月亚洲激情| 久久激情天堂| αv中文字幕在线观| 久久婷婷五月激情综合| 婷婷丁香五月激情图片| 丁香五月AV| 精品亚洲国产成AV人片传媒| 色欲天天综合| 婷婷五月激情五月激情| 精品一区二区三区四区五区六区| 强伦轩人妻一区二区电影| 深爱五月综合网| 色五月综合激情| 大香蕉五月丁香| 欧美日韩成人综合9| 久操干| 久久五月天激情视频| 天天日天天爽夜夜爽| 欧美性丁香色色五月天干干| 狠狠爱夜夜| 色婷婷婷婷成人网| 色色网站在线| 91丨九色丨白浆秘| 99热这里只有精品66| 99热官网| 天天做天天爱高潮片| 激情五月丁香综合网站| 国产SUV精品一区二区883| 成人在线视频网| 日噜噜色| 五月天成人在线播放丁香| 香蕉国产2013| 日韩美女在线视频19| 成人婷婷桔色| 亚洲色热| 丁香九月激情| 91成人品| 伊人激情啪啪| 国产精品社区| 五月天天综合| 色噜噜狠噜噜视频| 午夜成人在线免费视频| 色五月天成人| 丁香五月婷婷99| 伊人午夜综合色啪| 99青青草99| 欧美色骚婷婷五月天| 超碰人妻在线| 狠狠色色| 亚洲综合婷婷| WWW五月天| 99热这里只有精品在线观看| 99热99网| 五月丁香影视| 欧美天天干五月丁香| 青青福利网| 丁香六月婷婷综合| 久久成人性爱| 丰满少妇猛烈A片免费看观看| 夜夜操夜夜爽| 亚洲亚洲人成综合网络| 九九免费在线视频| 丁香五月激情五月| 狠狠色五月天| 天天插天天插天天操| 99综合免费视频| 91视频精品99| www.久久99| 美妞av| 天天干天天操天天拍| 欧美熟女99| 大香蕉综合| 97成人丁香婷婷| 久碰视频| 五月丁香另类网| 婷婷成人av| 亚城区在线| 激情婷婷视频在线| AAA久久| 色五月综合网| 99国产精品久久久久久久久久久 | 午夜丁香| 一级AV片| 97干婷婷| 色五月婷婷少妇人妻| www.97视频| 999热在线视频| 日本99婷婷| 91综合色| 开心婷婷五月天电影院| 欧美色碰| 青草视频在线观看视频| 色婷婷成人五月| 色情五月天丁香社区| 在线婷婷| www.激情五月天| 99九九中文字幕视频| 久久停停超碰| 五月丁香欧美综合免费视频| 99手机在线精品视频| 五月婷婷综合视频| 五月婷婷之综合激情| 九九re精品视频在线观看| 丁香五月自拍| 夜夜夜夜夜骑撸| 另类图片天天影视在线观看| 91综合视频丁香| 九九99香蕉在线视频播放| 啪啪91| 丁香五月婷婷色综合| 亚洲欧美婷婷五月色综合| 色婷婷婷av| 任你搞免费视频观看| 在线网黄| 日本五月天一页| 色五月琪琪| 亚洲色无码A片一区二区麻豆| 深爱五月激情| 免费观看的AV| xxxx五月| 91久久久久久久久18| 婷婷五月性感| 五月婷婷丁香五月| 色色色婷| 激情五月丁香亭亭| 天天色域综合网| 亚洲综合在线伊人婷| 欧美高潮9| 国产毛片欧美毛片久久久| 丁香五月综合激情啪啪| 久久婷婷五月免费视频| 激情五月婷婷中文字幕| 99亚洲综合| 久操激情| 天堂久久婷婷| 99热碰碰| 五月丁香成年黄色| 98热精品| 麻豆忘忧草午夜| 69精品人人人人人人人人人| 丁香五月天综合| 九九在线精点品| 呦呦视频无码播放| 丁香五月婷婷精品视频| 天天拍夜夜爽日日| 婷婷五月综合欧美在线播放| 天天做天天爱天天爽夜夜揉| 婷婷五月天影院| 色五月婷婷AV| 东北黄色一级| 亚洲成人AV在线| 国产,欧美,学生妹,视频| 人人草人人爱| 久久综合九九| 啪啪91| 五月婷婷片| www热久久yy9| av在线激情| www.天天干| 色综合另类| 激情五月天小说| 亚洲人人操BD| 综合一本道| 亚洲经典小视频| 99热这里只有精品2016| 99热12| 97色婷婷五月天| 甈吧vv| hd五月婷婷在线| 婷五月丁香| 99亚洲综合| 五月天婷五月天综合网在线观| 丁香婷婷五月激情综合| 久1色色| 79亚洲精品少妇| 五月天婷婷一起草| 天天爱天天做天天爽| 婷婷五月天伊人网在线观看视频| 99热视精品| 99视频一区| 久久人妻视步| 五月丁香久| 三级黄网站| 九九热精品| 欧美大肥婆大肥BBBBB| 无码激情AAAAA片-区区| 九九色婷婷Av| 97婷婷狠狠| 天天日天天舔天天摸| 丁香六月婷婷五月天| 日韩狠狠色婷婷| 狠狠干青青草| 97碰碰在线看视频免费| 超碰免费在线| 99热99| 综合大香蕉| 五月丁色AV| 久久这里只有精品网| 开心五月婷| 热99免费在线| 亚洲中文字幕在线观看| 海外网站专业操老外| 国产无套精品一区二区| 国产精品人人做人人爽人人添| 图片区 小说区 区 亚洲五月 | 丁香九色不卡aaa| 激情久久月| 黄网免费看| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 久久久人妻人伦| 婷婷丁香五月天色区| 婷婷五月丁香香蕉| 婷婷五月天成人网| 日本在线wwww| 丁香五月AV在线| 丁香五月电影| 婷婷五月天基地| 日本nghangse中文字幕| 日韩五月婷婷| 久久丁香五月| 日日操夜夜操不卡| 天天做综合| 久青草影院| 色狠狠色噜噜AV天堂五区| 久久999久久999久久999久久| 丰满少妇猛烈A片免费看观看| 人妻丰满精品一区二区A片| 东京热免费视频| 中文字幕高清av| 五月丁香福利| Y11111111111少妇电影院| 天天噜天天插| 六月丁香啪啪啪| 成人国产网| 婷婷五月丁香六月伊人网| 婷婷五月天网| 99色在线观看视频者| 欧美熟女99| 久久精品亚洲一级牲爱综合| 日韩成人无码| 开心五月六月婷婷| 色爱综合网| 亚洲情综合五月天| 无码四色色色| 久草婷婷| 久热一本| www.久久久久久久| 伊人碰碰婷婷| 亚洲无码99| 亚洲正能量欧美| 五月天欧美 另类小说| 97视频久久| 吾爱AV导航| 久久思思热视频| 99精品免费| www.久久99| 99热在线中文字幕| 色综合久久88色综合天天看| 色婷婷日本| 欧美碰碰碰| 26uuu另类亚洲欧美日本一| 国产日韩亚洲欧美在线观看| 精品9197碰| 天天爽成人综合网站| 超碰在线人妻| 久久XX| 人人操AV| 国产韩日亚洲美州欧亚综合在线| 伊人久久婷婷| 色综合久| 色婷五月| www.com操| 操操操B| 九九亚洲小视频| A片女女女女女女BBBB| 婷婷色香六月综合激情| 91色性感五月婷婷丁香| 五月丁花六月丁香综合| 五月久久婷婷天堂视频| 亚洲丁香花色| 亚洲亚洲激情| 婷婷五月天天| 婷婷色正月| se99热久久一本| 伊人久久大香线蕉av一区| 久久婷.com| 99爱视频在线| 亚洲看av的网站| 丁香五月婷婷五月基地| 五月天综合| 亚洲成人av在线| 丁香色婷婷| 久久er+| 综合欧美五月婷婷| 激情六月天婷婷| 色婷婷五月综合在线| 91操网| ss五月天激情| 伊大人久久| 高清无码入口| 激情五月天噢美| 操逼五月婷婷| 久久婷.com| 激情综合5月| 婷婷婷婷午夜| 色六月婷婷| 99在线观看免费精品视频| 九九热视频精品999| 天天澡天天狠天天天做| 五月天无码| 曰韩五月丁香色婷婷无码| 99精品热| 婷婷五月天亚洲天堂| 欧洲区自拍| 99自拍视频| 麻豆五月丁香婷婷| www.99视频| 99热10在线高清播放| 大香蕉99热| 成人色情五月天婷婷丁香| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 97操男人的天堂| 99综合视频一体| 天天做天天爱天天玩夜夜爽| 婷婷五月天激情小说| 99网| 激情婷婷久久| 翔田千里无码| 久久婷婷色| 亚洲正能量欧美| 欧美在线视频99| 这里只有精品免费视频在线观看| 激情综合五月婷| 五月婷婷亚洲综合在线| 欧美槡BBBB槡BBB少妇| 午夜婷婷久久| 天天天天天久久久久久| 五月激情丁香久久综合网| 婷婷五月a| 无码少妇高潮喷水A片免费| 丁香五月日韩| 五月天播播| 最新五月天婷婷影| 丁香五月六月久久综合 | jiujiu无码五区| 91成人电影| 丁香五月婷婷高清| 99热超碰人| 99色在线视频| 九九热这里| 色婷婷狠| 国产97色在线| 丁香激情五月| 丁香五月在线播放| www.99热视频| 深爱婷婷网| 久久婷婷激情视频| 久久久久久丁香五月| 激情网狠狠干| 五月婷免费视频久久久| 电影《战争与艾拉》免费观看| 变态另类9| 9热在线观看| 激情婷婷综合网| 婷婷激情五月天激情小说| 婷婷五月丁香综合网| 精品亚洲国产成AV人片传媒| http:色情日本com| 精品欧美性爱超级爽| 日韩一区二区A片免费观看| 激情五月天丁香| 婷婷在线视频| 年轻的妺妺伦理HD中文| 国产精品a无线| 欧美私人家庭影院| 婷婷综合性爱网| 九九99精品免费播放| 日本美女97在线视频| WW婷婷五月天com| 婷婷丁香无码专区| 九九美女视频| 国产精品人妻在线网址| 欧美色图天堂网色| 成片免费播放| 丁香五月婷婷姐| 日日干综合| 天天 青草 丝袜制服 在线| 久热这里只有精品66| 天堂草在线观| 丁香五月欧美午夜视频| 久久激情五月| 国产精品VIDEOSSEX久久发布| 亚洲无AV在线中文字幕| 玖玖综合色区在线观看| 99久久99视频| 密黄站| 久久66精品| 色婷婷狠狠| av色婷婷| WWW.国产| se.久久视频在线观看| AV色婷婷| 色五月久久成人婷婷| 天天天天天天天操| 六月丁香色色| 无码少妇高潮喷水A片免费| 淫五月停停| 吊色AV男人的天堂| 九九视频这里是精品五月| 五月丁香狠狠地噜噜噜噜| 五月激情六月综合| www.色婷婷| 99欧美热| 久久香蕉影院| 婷婷激情五月天小说校园| 五月天婷婷免费| 成人免费120分钟啪啪| 综合 蜜月 婷婷| 亚洲五月天,激情视频| 天天舔日日肏夜夜爽| 五月婷婷色影院| 中文成人在线| 色久女| 婷婷九月丁香久久| 色色综合网站| 亚洲婷婷综合视频| 婷婷久久视频| 97婷婷狠狠| 五月天婷a在线| 大香蕉久艹| 婷婷激情六月天视频| 午夜天堂啪啪| 色吊丝av中文字幕| 激情五月天无码| 九九色色网| 久久久久九九九九视屏小说88| 99热乎| 先锋资源婷婷| 开心五月婷婷伊人| 亚洲视频丁香网va| 三级三久久线久久99久目本WW| 色综合久久久综合久久网| 丁香五月色| pacopacomama 070722_670 素人奥様初撮りドキュメント 103 大久保純子 | 婷婷五月天熟妇| 99精品久久| 色五月大| 久久人妻伊人| 综合色图婷婷| 精品无码色| 婷婷大香蕉| 黑人无码一区| 久久只有18视频| 91 影音先锋| 五月激情五月丁香| 丁香五月影院| 色五月琪琪| 久久婷婷五月综合啪| 日本英国美国欧美亚洲国产精亚洲日韩精品在线观看 | 丁香五月激情宗合网| 色综合九九色综合88| 久久99日本精品视频免费观看| WWW、日本色丁香、co m| 丁香六月婷婷久久综合| 欧美色久| 成人短视频在线| 色五月婷婷亚洲最大| 99久久97| 亚洲AV成人无码久久精品老人法拉利| 亚洲色无码A片一区二区麻豆| 婷婷丁香五月天哟啪| 午夜天堂啪啪| 婷婷中文在线| 99热啪啪| eeuss人妻| 五月天婷婷基地| 噜噜噜噜婷婷五月天| 五月天综合网| 色VA| 日本人妻伦在线中文字幕| 小视频aaa久久久| 97色婷婷| 亚洲无码成人性爰网| 99国产精品白浆在线观看免费| 丁香五月天激情网址| 婷婷五月影院| 日韩人妻无码一区二区| 无码色| 欧洲综合视频在线观看。欧洲,亚洲综合食品在线观看。 | 久久人妻情侣| 99久久婷婷国产综合精品电影| 日日夜夜小色哥| 天啪天啪天啪天啪| 伊人婷婷五月天| 亚洲婷婷基地| 天天操天天操天天操天天操天天操 | 久久33视频| 色婷婷久久综合中文久久一本| 婷五月天六| 激情五月天啪啪| 久久精品婷婷| 成人做爰A片免费看网站找不到了| 五月色婷婷影视在线电影| 成人中文网| 丁香五月激情图片| 久9无码视频| 色激情五月天| 我爱va亚洲va52| 久久99精品久久久| 狠狠草在线观看| 六月香五月婷| 91九色在线观看免费| 超碰色综合| 五月天色婷婷激情综合| 成人龟情网丁香五月| 婷婷六月综合激情| 婷婷五月丁香五月| 七月丁香婷婷 色色| 六月婷婷八月丁香| 五月婷婷六月丁| 色9999综合久久| 婷婷中文无码| 丁香五月激情综合网激情五月| 婷婷五月精品| 涩五月婷婷| 久色网五月| 婷婷综合亚洲| 狠狠爱深色婷婷综合| 五月开心网| 精品婷婷五月视| 97婷婷狠狠久久综合9色| 六月激情综合| 久久a热| 色婷婷中文字母五月丁香| 中文AV网站| 99热这里只有精品4| 亚洲婷婷五月天激情综合| 激情综合九月| 久久久久久久久久久久久久久久一道本| 蜜臀av粉嫩av懂色av| 白天AV月月| 激情六月丁香| 亚洲色图五月丁香五月婷婷| 亚洲免费婷婷| 五月婷婷69| 丁香五月综合在线| 99ri精品| 伊人久久大香线蕉综合网站| 久久久99精品免费观看| 五月婷婷色播| 色婷婷五月天不卡| 五月停停直播| 亚洲激情AV| 激情久久 婷婷| 婷婷伊人五月天| 天天爽天天爽| 激情另类综合| 久久综合五月| 丁香五月婷婷欧美成人色图| 色五月xxx| 超碰人人艹| 94干大香蕉| 日韩av在线播放综合网| 亚洲视频在线观看| 激情伊人五月天| 激情九九六月激情免费视频| 5月婷婷五月天| 欧美综合丁香网| 丁香六月狠狠| 99re66热这里只有精品| 久久伦乱| 99狠狠| 99热99思午夜精品| 久久综合最新网址| 99五月香婷婷丁香在线视频| 国产乱子轮XXX农村| 亚洲综合激情五月久久| 操操人人| 色综合色五月| 色播婷婷大香蕉| 伊人玖玖精品| 激情综合国产| 久久性刺激| www久久艹| 操操自拍| 91九色|疯狂|高潮|对白|| 五月天激情国产综合婷婷婷| 思思久久精品| 美欧成人视频| 伊人色综合久久久| 大香蕉中文| 五月婷婷啪啪啪| 久久婷.com| 亚洲五月婷婷| 色情五月丁香| 人人摸人人干| 综合av在线| 亚洲传媒在线观看| 色综啪啪啪啪啪啪| 五月婷免费视频| 操逼六区| 少妇做爰免费视看片| 久久久国产精品黄毛片| 伊人久久婷婷五月综合97色| 亚洲精品**不卡在线播he| 97碰碰草| 狠狠色丁香婷婷| 丁香五月欧美色综合| AAA久久久| 狠狠色噜噜狠狠色噜噜噜999| 九九热视频首页/这里只有精品| 丁香婷婷丁香五月欧美人| 五月婷婷干| 青青草激情网| 91干| 公的粗大挺进了我的密道| 亚洲 在线 另类| 91丁香色五月| 91久久精品无码一区二区三区| 亚洲欧洲另类| www.人人操人人看人人想人人摸 人人人人操,COM | 九九在线精点品| 丰满人妻妇伦又伦精品国产| 久久久久久久,99精品视频| 99久久.www| 日本va欧美va欧美va精品| 四色 爱 婷婷 精品 亚洲 五月天| 色播婷婷五月天| 99热热这里只精品996小说| 国产欧洲欧洲精品久久| 日日操夜夜擼| 日韩欧美一道四区中文字幕| 亚洲五月天,激情视频| 狠狠色激情综合| 色激情五月天| 色婷五月天| 色色网91| 狠狠色丁香久久久婷| 秋霞影音91人妻久久| 婷婷在线播放| 亚洲日韩一页精品发布| 激情丁香久久| 婷婷爱综合| 人人播| 色色99| 色婷婷情片| 婷婷五月天激情综合婷婷五月天激情综合 | 婷婷综合一二三| 色五月婷婷激情综合网| 五月成人天| 色播综合| 婷婷五月天丁香激情| 久月丁香爱婷婷综合| 丁香婷婷视频在线| 99精品在线观看| 青青草Avb在线| 新99色色色色色色| 天天色99| 国产,欧美,学生妹,视频| WWW99热| 婷婷 月 丁香| 97在线精品| 九九大香蕉黄色影院| 思思99re这里只有| 日韩中文欧美| 91天堂网综合| 天天干夜夜欢| 五月天婷婷成人网| 六月丁香婷婷色狠狠久久| 这里只有精品久| 日本狠狠干| 99热费观看| 五月婷婷五月天亚洲无码| 亚洲综合激情五月久久| 婷婷九月在线| 色色色.COM| 国产乱人偷精品人妻A片| 丁香六月色婷婷| 天天搞天天爽| 超碰2021| 亚洲 无码 中文字幕 中出| 玖玖热视频| 色呦呦美女| 五月丁香六月激情在线| 九九99精品免费播放| 99久久黄色顶级视频| 欧美久热| 五月婷在线影院| 天天干天干| 亚洲一级 片内射网站在线观看| 丁香六月亚洲| 99热国产免费| 9l视频自拍9l九色成人| 日本爆乳片手机在线播放| 亚洲色频| 久久人妻在线| 日韩青青| 99黄色| 玩熟女五十AV一二三区| 天天草狠狠擦| 久草热8精品视频在线观看| 狠狠舔| 涩综合婷婷| 欧美一级色| 色色婷| 99热r| 国内外色色色色色成人视频| 99er6免费视频热播| 五月天综合网| 五月欧美色播| 五月丁香网站| 五月婷成人网| 国产日产亚洲系列最新| sewuyue第四色| 久久综合久色欧美综合狠狠| 六月天无码网址| 九月激情婷婷丁香| 26uuuuuuuu国产| 久久爱综合| 狠狠操狠狠插| 色玖玖综合网| 五月天国产| 五月激情开心婷婷| 久久艹 五月天| 五月婷婷六月丁香在线视频| 婷婷色五月天色| 丁香五月在线自慰| 久久综合婷婷| 青青青在线视频国产| 99re思思热这里| 大香蕉丁香婷婷| 综合成人小说婷婷| 日韩综合天堂| 五月丁香影视| 欧美激情综合色综合色| 久久99日本精品视频免费观看| 色五月五月婷婷| 久久五月综合| 香蕉久久国产AV一区二区| 色婷婷五月天小说| 色色色五月婷| 五月丁香六月婷婷啪啪| 五月天激情图| 久久婷婷激情久久| 99色在线观看| 六月天无码网址| 九热电影av| 五月婷婷在线免费观看| 全国最新疫情| 五月丁香视频色色| 97人人干| 色五月六月婷婷| 九九热在线99| 激情综合五| 婷婷五月天综合小说网| 五月婷婷三级| 1024操逼| 九月综合| 色视五月天婷婷| 久久99久久久久久久噜噜| 久久久这里有精品| 丁香五月在线看| 大香蕉婷婷色| 久久六月婷婷| 在线99热| 日日夜夜天天爽| 99日本黄站| 97啪在线观看视频| 性爱网五月天| 天天色天天舔天天爱天天爽| 影音先锋91| 精品亚洲国产成AV人片传媒| 色婷婷丁香五月| 五月丁香六月婷婷在线小说视频| 五月丁香最新| 国产精品久久久久久久久久免费| 五月天色综合| ss99热| 色情综合| 中文字幕高清av| 日韩婷婷| 99视频在线播放大全| 丁香八月综合激情| 大香蕉五月天婷婷丁香91| 久久九久久| 天天综合精品| 婷婷婷久久久| 久色五月| 青青夜夜狠狠夜夜狠狠| 欧美啪啪9| 人人摸人人干| 九九在线视频| 婷婷91| 五月婷视频| 丁香五月综合亚洲| 婷婷激情五月天激情在线| 亚卅毛片| 丁香花五月天社区| 日韩综合成人| 欧美性爱五月天| 亚洲午夜av| 99热精品在线观看| 亚洲另类噜噜| 伊人五月久久| 天天做天天爱天天日| www.99久| 天天综合五月天| 亚洲综合欧美色丁香婷婷888月图片| 26uuu国产| 99热在线精品观看| 日韩成人AV在线播放| 青青草激情网| 天天干天天叉| 九九色99| 天天综合色综合| 狠狠色丁婷婷日日,伊人激情综合网 | www.色婷婷| 日日杆天天| 久久久久久欧美精品se一二三四| 99精品无码| 免费不卡狠操美女视频网| 激情小说 五月天| 秋霞影音91人妻久久| 久久伊人日日夜夜| 99久久国产宗和精品1上映| 久久99热这里只有| 婷婷八月激情| 五月婷婷丁香成人网| 日韩啪啪网| www.yw尤物| 五月婷婷xxx| 99视频精品全部免费看| av在线资源| 久草A片| 久久五月天婷婷| 久久丁香五月综合六月激情红杏视频| 欧美性爱五月天| www.久久99| 色一区高清| 九九视频这里是精品五月| 婷婷激情五月天天天开心| 亚洲天天免费| 亚洲成人乱码av网站| 天天爽夜夜爽天天爽夜夜爽| 草逼大片| 五月天成人在线播放| 五月天丁香综合| 1024日韩| 夜夜穞天天穞狠狠穞AV美女按摩| 综合久久丁香婷婷,五月婷婷六月丁香,开心激情综合网,六月丁香在线观看,婷婷丁 | 色婷婷啪啪啪啪啪啪| 9久国产| 激情五月天色网站| 五月丁香激情片| 五月婷无码| 999影院成人在线影院| 色五月色五天免费视频| 日韩在线观看亚洲| 综合久久婷婷| 亚洲精品亚洲人成人网| 日本不卡高字幕在线2019| 婷婷六久久| 91精产品自偷自偷综合| 激情AV| 久久99热 这里有精品| 丁香五月综合在线观看| 色久影院| 97五月天| 国产91在线视频| 97在线刺激| 丁香五月AV综合| www.夜夜.com| 91人操人人人操人| 天天射影院| 99欧美热| 日韩在线视频网站| 日韩砖区| 99精品视频免费| av九九| 狠狠爱青青草| 大香蕉中文| 亚洲婷婷五月天| 自拍视频在线观看9| 五月婷婷六月丁香综合| 丁香五月婷婷色五月| 久久免片| 99狠狠| 五月天成人网在线观看| 99久久性爱| 国产九月婷婷| 久久婷五月天| 丁香五月综合网亚洲综合欧美狠狠| 99色| 久久精品一区二区三区四区| 丁香花操逼| 天天拍夜夜撸| 激情六月婷婷| 亚洲国产精品SUV| 99热热这里只精品996小说| 丁香婷婷免费| 婷婷六月综合基地| 免费看欧美成人A片无码| 久久大香蕉视频| 9999热这里只有精品| 国产亚洲99久久精品| 琪琪狠狠干| 色色啊| 欧洲不卡视频| 丁香五月激情啪啪啪啪| 秋霞电影一级黄| 丁香综合婷婷五月天| 日韩AV在线影片| 青草青草久热这里只有精品| 亚洲成人黄色网| 久热99| 六月丁香综合| 99综合色| 国外亚洲成AV人片在线观看| 国产在线黄色| 婷婷五月丁香在线视频| 天堂成人A片永久免费网站| 日本69日人视频| 五月亭亭网成人在线视频| 丁香,开心成人,久久| 五月婷婷在线短视频| 久久综合中文字幕| 美女爆乳18禁www久久久久久| 色五月亚洲五月天| 激情五月天影院| 国产精品操| 婷婷无码五月天| 国产精品成人网址| 久久九九99字幕| 97色婷| 天天做天天爱天天爽夜夜揉| 久久婷婷丁香| 久久久久久18| 激情九九这里只有精品| 日本人妻伦在线中文字幕| 日本综合色图| 九九精品综合| 综合激情专区| 色99在线视频| 丁香五月很很肏| 丁香 婷婷 亚洲 熟女| 天天干人人奸97| 色 五月俺去也| 中文字幕人妻熟女在线| 人人爽在线视频综合网| 丁香六月啪啪| 97超碰综合| 99碰碰| 色婷婷av在线观看| 激情五月天色色| 色五月婷婷中文字幕| 成人av免费观看| 五月婷网| 日日夜夜婷婷| 久操大香蕉| 亚洲操操| 激情欧美婷婷| 九九无码| 亚州欧美国产久精国产99综合视频| 噜噜噜久久| 夜夜天天天天天干天天爽| 人妻无码视频网|