亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

ARTICLE DETAIL

資訊詳情

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

藍(lán)牙示波器開發(fā)實(shí)戰(zhàn):BLE鏈路、GATT協(xié)議與波形繪制全解析

藍(lán)牙示波器開發(fā)實(shí)戰(zhàn):BLE鏈路、GATT協(xié)議與波形繪制全解析 簡介一份面向電子愛好者、嵌入式開發(fā)者與移動測量應(yīng)用學(xué)習(xí)者的安卓藍(lán)牙示波器資料包將手機(jī)轉(zhuǎn)化為便攜式信號檢測與分析工具無需傳統(tǒng)臺式示波器即可在電路調(diào)試、傳感器信號觀察、課堂演示等場景中查看實(shí)時(shí)波形。壓縮包約115KB共8個(gè)文件包含1個(gè)可直接安裝的APK、5個(gè)Java源碼文件、1張硬件原理圖JPG及1個(gè)dsPIC固件RAR包覆蓋信號采集、藍(lán)牙傳輸?shù)桨沧慷瞬ㄐ物@示的完整鏈路。電路圖清晰展示信號采集與ADC模數(shù)轉(zhuǎn)換部分Java源碼便于學(xué)習(xí)Android藍(lán)牙API調(diào)用、藍(lán)牙Socket通信和波形繪制邏輯dsPIC固件則為下位機(jī)采集程序提供參考利用這套資料可自行修改硬件設(shè)計(jì)提升ADC分辨率或增加存儲、回放、參數(shù)設(shè)置等高級功能。已有2383人學(xué)習(xí)下載適用于需要低成本移動測量方案或入門藍(lán)牙示波器開發(fā)的用戶也可作為電子類課程設(shè)計(jì)與畢業(yè)設(shè)計(jì)的參考資料。1. 打開 App 卻不出波形藍(lán)牙示波器的帶寬悖論把手機(jī)放到口袋、點(diǎn)開 App屏幕上應(yīng)該出現(xiàn)一條規(guī)整的正弦波??珊芏嗳说牡谝淮嗡{(lán)牙示波器體驗(yàn)是波形成了一片馬賽克或者卡在某個(gè)位置一動不動。問題不在 App 寫得爛而在于你讓一條藍(lán)牙鏈路干了它原本干不了的活示波器本質(zhì)是數(shù)據(jù)搬運(yùn)工它要在幾百毫秒內(nèi)把幾萬個(gè)采樣點(diǎn)搬上屏幕而經(jīng)典藍(lán)牙串口或 BLE 通知在理想條件下的有效凈荷也只有每秒幾十 KB。一個(gè) 20KB/s 左右的信道和動輒幾百 kSa/s 的采集率差了整整一個(gè)數(shù)量級。這就是安卓藍(lán)牙示波器最底層的悖論采集端多快都能采瓶頸永遠(yuǎn)在無線鏈路上。搞懂這套機(jī)制不是滿足好奇心。你調(diào)采樣率、改包長度、重畫波形時(shí)遇到的所有玄學(xué)問題——為什么低時(shí)基下波形稀疏、為什么切到雙通道就丟包、為什么長時(shí)間運(yùn)行后 App 卡死——根源全在這條鏈路上。本文從數(shù)據(jù)怎么從 ADC 進(jìn)入手機(jī)內(nèi)存講起拆到安卓端 GATT 回調(diào)里的字節(jié)流處理最后落到協(xié)議設(shè)計(jì)和硬件選型的取舍。理解了這些你和這份資源里的代碼就不再是能跑和看不懂的關(guān)系。2. BLE 鏈路從 ADC 采樣到手機(jī)字節(jié)流中間發(fā)生了什么2.1 GATT 模型才是藍(lán)牙示波器真正的傳輸層藍(lán)牙示波器的硬件端通常是一個(gè) MCU 內(nèi)置 ADC 定時(shí)采樣數(shù)據(jù)通過串口發(fā)給藍(lán)牙模塊模塊再以無線方式傳給手機(jī)。聽起來像一根無線的串口線但工程上和真實(shí)的串口天差地別。藍(lán)牙模塊在手機(jī)側(cè)暴露的是一個(gè) GATTGeneric Attribute Profile服務(wù)它把事情拆成了三層Service服務(wù)、Characteristic特征、Descriptor描述符。你的波形數(shù)據(jù)不是流進(jìn)來的而是手機(jī)主動注冊監(jiān)聽某個(gè) Characteristic 的通知Notification設(shè)備端把數(shù)據(jù)切成一包一包推給手機(jī)。這里最關(guān)鍵的一個(gè)數(shù)字是 MTU最大傳輸單元。Android 上默認(rèn)的 MTU 是 23 字節(jié)減去 3 字節(jié)的 Attribute 協(xié)議頭一次通知最多攜帶 20 字節(jié)凈荷。如果你的硬件用了某款經(jīng)典藍(lán)牙透傳模塊它內(nèi)部會把 UART 流切成 L2CAP 數(shù)據(jù)包依然受這個(gè)限制。20 字節(jié)意味著采樣率 100kSa/s、每個(gè)樣本 2 字節(jié)12 位 ADC 對齊到 16 位一秒鐘產(chǎn)生 200KB 數(shù)據(jù)BLE 在 1Mbps 物理速率下實(shí)測有效吞吐量樂觀估計(jì)在 3050KB/s200KB 顯然是塞不進(jìn)去的于是硬件端必須降采樣率或者軟件端丟點(diǎn)。你看到的實(shí)時(shí)波形背后是一個(gè)被迫砍掉 90% 數(shù)據(jù)的傳輸策略。2.2 硬件原理圖里的信號路徑典型的硬件方案是信號經(jīng)過運(yùn)放調(diào)理分壓、跟隨、抬升到 ADC 量程→ MCU 內(nèi)置 ADC 由定時(shí)器觸發(fā)采樣 → DMA 把結(jié)果搬到內(nèi)存緩沖區(qū) → 固件按幀打包 → UART TX 發(fā)送到藍(lán)牙模塊。原理圖上你會看到三個(gè)關(guān)鍵器件運(yùn)放、MCU、藍(lán)牙模塊它們之間只有幾根走線但每根走線都決定了波形質(zhì)量。運(yùn)放的輸出阻抗和 ADC 采樣電容直接決定了信號建立時(shí)間。如果運(yùn)放到 ADC 引腳之間串了太大的電阻采樣瞬間電壓建立不完全高頻率信號就會幅度衰減俗稱波形糊了。原理圖里如果有 1kΩ 以上的串阻且沒有加采樣保持電容這是第一處要檢查的地方。另一個(gè)隱蔽點(diǎn)是 ADC 參考電壓如果用 MCU 內(nèi)置參考且選擇了 3.3V 供電電池電壓波動會直接讓讀數(shù)漂移所以合格的設(shè)計(jì)會單獨(dú)留一個(gè)精密參考源或至少用 LDO 穩(wěn)壓后給 MCU 供電。2.3 為什么說透傳是一個(gè)黑匣子很多藍(lán)牙透傳模塊對外宣稱串口透傳好像 MCU 寫串口、手機(jī)就能收到流。實(shí)際工作方式是MCU 的 UART TX 進(jìn)入模塊模塊內(nèi)部固件將字節(jié)流切包、加 L2CAP 頭、經(jīng)射頻發(fā)出手機(jī)端 BLE 協(xié)議棧把這些包重組后交給 App。問題在于重組并不完美模塊廠商會設(shè)置一個(gè)打包間隔常見 515ms到點(diǎn)就把緩沖區(qū)的數(shù)據(jù)發(fā)出去沒到點(diǎn)就一直攢著。這意味著你在 UART 側(cè)每次發(fā) 20 字節(jié)到了手機(jī)側(cè)可能三包并成一包到達(dá)也可能一包被拆成兩包。App 側(cè)根本不能假設(shè)一次通知 一個(gè)完整波形幀。這就是后面數(shù)據(jù)幀協(xié)議存在的前提——接收端拿到了是字節(jié)流而不是消息流。從源碼調(diào)試的角度看你可以在模塊的數(shù)據(jù)手冊里找到 PDU 長度和連接間隔Connection Interval參數(shù)。連接間隔 7.5ms30ms它決定了底層多久和主機(jī)同步一次間接影響可達(dá)吞吐量。同一款模塊廠商讓用戶把連接間隔從 30ms 改成 7.5ms吞吐量能翻倍。資源里的固件工程一般在初始化代碼里有一個(gè)連接參數(shù)更新請求修改minInterval/maxInterval就能看到實(shí)際速度變化建議你實(shí)際動手改一改并抓包對比比讀十遍文檔都管用。3. 數(shù)據(jù)幀協(xié)議怎么在亂序字節(jié)流里切出一整屏波形3.1 為什么不能直接讀一個(gè)字節(jié)畫一個(gè)點(diǎn)如果 App 每收到 20 字節(jié)就往屏幕上畫兩個(gè)點(diǎn)理論延遲最小但工程上完全不可行。原因有三第一字節(jié)流沒有邊界。你不知道哪兩個(gè)字節(jié)組成一個(gè)樣本如果 MCU 端是 12 位數(shù)據(jù)右對齊成 16 位高 4 位補(bǔ) 0那么每個(gè)樣本的低字節(jié)可能一直是 0xF0但高字節(jié)可能是任意值。首字節(jié)錯(cuò)位會導(dǎo)致整幀數(shù)據(jù)全亂畫出來的波形是疊加了偽隨機(jī)噪聲的毛刺。第二無線鏈路會重傳。BLE 在鏈路層有 CRC 校驗(yàn)和重傳機(jī)制但重傳導(dǎo)致的延遲抖動會讓包到達(dá)時(shí)間完全不可預(yù)測如果按包到達(dá)時(shí)間推算樣本的時(shí)間間隔你得到的時(shí)基就是一個(gè)不停抖動的擺鐘。第三你不知道 MCU 端此刻處于什么狀態(tài)——是剛開始采樣還是已經(jīng)采了一半還是剛從低功耗模式喚醒。區(qū)分這些信息的唯一手段是在數(shù)據(jù)里顯式聲明邊界和狀態(tài)。3.2 幀協(xié)議的經(jīng)典結(jié)構(gòu)這份資源里的固件和 App 配合使用一套自定義幀格式常見設(shè)計(jì)如下包頭(0xAA 0x55) | 幀長度(1B) | 通道數(shù)(1B) | 采樣率編號(1B) | 樣本數(shù)(2B) | 樣本... | 校驗(yàn)和(1B)對應(yīng)的 C 固件打包偽代碼void pack_and_send_frame(uint16_t* adc_buf, uint32_t sample_count, uint8_t ch_mask) { uint8_t frame[128]; uint8_t idx 0; frame[idx] 0xAA; frame[idx] 0x55; frame[idx] (uint8_t)(2 sample_count * 2 1); // 幀長度 frame[idx] ch_mask; frame[idx] g_sample_rate_code; frame[idx] sample_count 8; frame[idx] sample_count 0xFF; uint8_t sum 0; for (int i 0; i sample_count; i) { frame[idx] (uint8_t)(adc_buf[i] 0xFF); frame[idx] (uint8_t)(adc_buf[i] 8); } for (int i 0; i idx; i) sum frame[i]; frame[idx] sum; uart_write(frame, idx); }注意幾個(gè)細(xì)節(jié)。包頭用0xAA 0x55不是隨便選的0xAA 是二進(jìn)制101010100x55 是01010101在這段字節(jié)流里誤碼后重新同步的概率極低。幀長度字段讓你能區(qū)分這只是半包還是完整一幀傳輸被切分后App 可以先把收到的字節(jié)攢著等湊夠了幀長度再解析。采樣率編號不是直接用數(shù)值如 100000因?yàn)橐粋€(gè)字節(jié)只能表達(dá) 0~255所以定義一張枚舉表01kSa/s, 110kSa/s, 250kSa/s...App 端查表還原真實(shí)采樣率。校驗(yàn)和覆蓋從包頭到樣本最后一個(gè)字節(jié)能擋掉大部分射頻誤碼——BLE 的鏈路層 CRC 只保證單包傳輸正確不能保證你的數(shù)據(jù)幀跨包后依然正確。3.3 App 端的狀態(tài)機(jī)解析安卓端的解析邏輯核心是一個(gè)按字節(jié)轉(zhuǎn)移的有限狀態(tài)機(jī)。它不依賴 GATT 通知的包邊界而是把所有接收字節(jié)喂進(jìn)一個(gè)環(huán)形緩沖區(qū)然后逐字節(jié)輪詢private void parseByte(byte b) { switch (state) { case IDLE: if ((b 0xFF) 0xAA) { state WAIT_HEADER2; } break; case WAIT_HEADER2: if ((b 0xFF) 0x55) { state WAIT_LENGTH; } else { state IDLE; } // 首字節(jié)對但次字節(jié)錯(cuò)回退重找 break; case WAIT_LENGTH: expectedLen (b 0xFF) 2; // 長度字段代表剩余部分 state WAIT_CHANNEL; break; case WAIT_CHANNEL: channelMask b; state WAIT_DATA; break; // ... 繼續(xù)收樣本收滿后校驗(yàn) } }這個(gè)狀態(tài)機(jī)的關(guān)鍵在于失敗回退的設(shè)計(jì)任何一步出錯(cuò)不是丟棄一幀就完事而是回到IDLE狀態(tài)重新尋找0xAA不做計(jì)數(shù)跳過。原因很實(shí)際無線丟包后字節(jié)流里可能出現(xiàn)半個(gè)舊幀 半個(gè)新幀的拼接只有找到完整包頭才算新幀開始才能避免錯(cuò)位越積越深。你會在 App 源碼里看到同樣的邏輯只是用 Kotlin/Java 寫成了可讀性更高的狀態(tài)類。解析完成后把樣本數(shù)組交給顯示層同時(shí)用幀內(nèi)帶的采樣率編號回推每個(gè)樣本的實(shí)際時(shí)間這樣即使包到達(dá)間隔抖動畫出來的波形橫軸依然準(zhǔn)確。從資源的使用角度看如果你想把這套代碼移植到自己的板子上改動只需三處固件里的采樣率編號表、App 端FrameParser里的對應(yīng)關(guān)系、以及校驗(yàn)算法是否一致。這三處都對不上最常見的結(jié)果是 App 能收到數(shù)據(jù)但一直提示幀校驗(yàn)失敗波形永遠(yuǎn)出不來。4. 安卓端實(shí)現(xiàn)GATT 回調(diào)、環(huán)形緩沖與波形繪制管線4.1 BLE 連接與通知注冊的關(guān)鍵步驟安卓端建立 BLE 鏈路有一套固定流程BluetoothLeScanner.startScan掃描設(shè)備找到后connectGatt連接然后在onServicesDiscovered回調(diào)里拿到服務(wù) UUID 和特征 UUID。示波器的設(shè)備端通常暴露一個(gè)服務(wù)下面兩個(gè)特征一個(gè)用于 App 下發(fā)命令Write一個(gè)用于設(shè)備上報(bào)數(shù)據(jù)Notify。關(guān)鍵代碼如下public void onServicesDiscovered(BluetoothGatt gatt, int status) { if (status ! BluetoothGatt.GATT_SUCCESS) return; BluetoothGattService svc gatt.getService(SERVICE_UUID); if (svc null) return; BluetoothGattCharacteristic notifyChar svc.getCharacteristic(NOTIFY_UUID); gatt.setCharacteristicNotification(notifyChar, true); BluetoothGattDescriptor desc notifyChar.getDescriptor( UUID.fromString(00002902-0000-1000-8000-00805f9b34fb)); if (desc ! null) { desc.setValue(BluetoothGattDescriptor.ENABLE_NOTIFICATION_VALUE); gatt.writeDescriptor(desc); } BluetoothGattCharacteristic cmdChar svc.getCharacteristic(CMD_UUID); cmdChar.setValue(new byte[]{ (byte)rateCode, (byte)chMask }); gatt.writeCharacteristic(cmdChar); }setCharacteristicNotification只是本地注冊真正讓設(shè)備開始推送的是寫那個(gè)2902描述符里面一個(gè)字節(jié)的0x01告訴鏈路層客戶端已準(zhǔn)備好收通知。很多人漏掉這一步后果是設(shè)備端已經(jīng)在推數(shù)據(jù)手機(jī)卻完全不觸發(fā)回調(diào)。命令特征和通知特征分開是為了避免控制報(bào)文和數(shù)據(jù)報(bào)文搶占同一個(gè)通道。如果你在一個(gè)特征上又寫命令又收數(shù)據(jù)寫操作會打斷正在進(jìn)行的通知流造成周期性丟幀。4.2 回調(diào)里只做拷貝解析放到子線程onCharacteristicChanged是在 Binder 線程上調(diào)用的頻率高的時(shí)候每秒可能被調(diào)用幾十次每次攜帶 20 字節(jié)或協(xié)商后更大的數(shù)據(jù)。如果在這個(gè)方法里直接做狀態(tài)機(jī)解析、數(shù)組拷貝、UI 刷新任何一個(gè)環(huán)節(jié)卡頓都會導(dǎo)致 BLE 棧內(nèi)部緩沖積壓。Android 的 BLE 棧對慢消費(fèi)者沒有流控積壓到一定程度就靜默丟包——不是報(bào)錯(cuò)是直接丟掉。這段資源的實(shí)現(xiàn)采用生產(chǎn)者-消費(fèi)者模型private final ByteArrayRingBuffer ring new ByteArrayRingBuffer(64 * 1024); private final HandlerThread parserThread new HandlerThread(frame-parser); private final Handler parserHandler; public void onCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic ch) { byte[] data ch.getValue(); synchronized (ring) { ring.write(data, 0, data.length); } parserHandler.post(this::parseFromRing); }環(huán)形緩沖區(qū)開 64KB足夠容納幾十幀未解析的數(shù)據(jù)。解析線程每次從 ring 里把所有可讀字節(jié)拉出來跑狀態(tài)機(jī)解出完整幀后通過Handler投遞到 UI 線程。注意其中沒有設(shè)置任何每收 20 字節(jié)解析一次的邏輯而是攢到多少解析多少這樣每幀數(shù)據(jù)的處理只經(jīng)過一次狀態(tài)機(jī)遍歷CPU 開銷被平攤丟幀率大幅下降。4.3 繪制管線波形不是逐點(diǎn)畫的手機(jī)屏幕從刷新到人眼可感知需要穩(wěn)定的幀率但 BLE 數(shù)據(jù)的到達(dá)間隔是不穩(wěn)定的。直接每收到一幀就 invalidate的后果是波形快慢不均。這里的做法是在 UI 層緩存最近 N 幀的樣本然后用一個(gè)自繪的WaveformView以顯示時(shí)鐘比如 30fps主動重繪。繪制核心在onDraw里對樣本做降采樣把 4 萬個(gè)樣本映射到屏幕寬度 1080 像素上每個(gè)像素列取該區(qū)間內(nèi)的最大值和最小值畫一條豎線而不是取平均值。這樣能保留尖峰信息否則窄脈沖會被平均掉看起來像被磨平了。這個(gè)min-max 降采樣策略是數(shù)字示波器顯示引擎的通用做法你在資源里的自定義 View 中能看到對應(yīng)代碼它直接決定你能不能看清一個(gè) 10μs 寬的毛刺。基準(zhǔn)線和電壓刻度則是從幀頭里的量程信息換算出來的App 顯示500mV/div時(shí)實(shí)際上是每格對應(yīng)多少 ADC 碼值。4.4 時(shí)基重建不能用包到達(dá)時(shí)間當(dāng)時(shí)間戳這是最容易翻車的地方。很多人畫波形時(shí)直接用 System.currentTimeMillis() 記錄每個(gè)樣本的到達(dá)時(shí)間畫出來的波在靜止時(shí)能看可一旦信號頻率稍高波形就會橫向抖動看起來像在呼吸。原因很簡單BLE 包的到達(dá)間隔在鏈路層重傳和調(diào)度的影響下可能波動數(shù)十毫秒把這個(gè)抖動當(dāng)作采樣時(shí)間等于給波形加了一個(gè)隨機(jī)時(shí)間噪聲。標(biāo)準(zhǔn)做法是完全信任幀頭里的采樣率編碼。收到一幀時(shí)知道起始樣本序號樣本 i 的真實(shí)時(shí)間為frameStartTick i / sampleRateframeStartTick由前一幀的樣序遞推而來。這樣時(shí)基是數(shù)學(xué)重建的與包到達(dá)時(shí)間無關(guān)。所以如果你的代碼里出現(xiàn)了根據(jù)接包時(shí)間計(jì)算橫軸的邏輯多半就是波形成像不穩(wěn)定的直接原因。5. 藍(lán)牙示波器避坑實(shí)錄采樣率虛標(biāo)、丟包和時(shí)基漂移5.1 波形毛刺密集像一堆頭發(fā)絲現(xiàn)象輸入一個(gè)干凈的正弦波屏幕上卻疊加了大量細(xì)碎跳變用手摸一下探頭線波形更亂。原因最常見的是硬件端 ADC 引腳浮空或參考地噪聲。另一個(gè)隱蔽原因是固件里沒有對 ADC 結(jié)果做軟件濾波以及運(yùn)放輸出端到 ADC 引腳之間缺少 RC 濾波網(wǎng)絡(luò)。藍(lán)牙示波器為了省功耗MCU 的采樣時(shí)鐘可能直接用內(nèi)部 RC 振蕩器頻率誤差在 1%3% 左右觸發(fā)采集的定時(shí)器抖動直接轉(zhuǎn)換為波形上的相位噪聲。解決在原理圖上給 ADC 輸入端加一個(gè) 100Ω 串阻和 1nF 到地的電容構(gòu)成低通濾波器固件里對相鄰樣本做一階滑動平均如new old * 0.25 current * 0.75如果追求更高精度采集時(shí)改用外部晶振或校準(zhǔn)內(nèi)部 RC。這套方案在模擬信號鏈上比對波形的平滑處理要可靠得多。5.2 長時(shí)間運(yùn)行后波形卡死App 無響應(yīng)現(xiàn)象開機(jī)正常兩三分鐘后波形開始斷斷續(xù)續(xù)最后完全不動關(guān)閉 App 重進(jìn)又恢復(fù)正常。原因App 的消息積壓導(dǎo)致onCharacteristicChanged回調(diào)無法及時(shí)執(zhí)行。你的解析邏輯可能卡在同步鎖上或循環(huán)里做了大量對象分配導(dǎo)致 GC 頻繁觸發(fā)一旦回調(diào)堆積BLE 棧背壓丟棄通知但 App 端不知道還在等新數(shù)據(jù)。解決保持回調(diào)線程的職責(zé)單一——只拷貝字節(jié)到緩沖區(qū)并 post 一個(gè)任務(wù)。解析、檢驗(yàn)、繪圖全部移出該線程。如果你已經(jīng)用HandlerThread做了解析就在環(huán)內(nèi)禁止一切日志輸出Log.d在頻繁調(diào)用時(shí)比解析更耗時(shí)。加一條自愈邏輯如果超過 500ms 沒收到任何通知主動重連 GATT。這條邏輯在資源里的連接管理類中有現(xiàn)成實(shí)現(xiàn)。5.3 采樣率設(shè)置成 100kSa/s實(shí)測只有 30kSa/s現(xiàn)象把采樣率檔位調(diào)到最高波形顯示卻依然粗糙橫軸稀疏感明顯。原因不是 App 騙人是鏈路吞吐量到頂了。BLE 有效載荷按 20 字節(jié)/包、連接間隔 15ms 計(jì)算理論 1Mbps 物理速率下每秒只有約 1.3KB/s 可用。100kSa/s × 2 字節(jié) 200KB/s差了快 200 倍。固件可能確實(shí)在 100kSa/s 采樣但發(fā)不出去于是只在緩沖區(qū)滿了之后把最新的數(shù)據(jù)發(fā)出來導(dǎo)致大量數(shù)據(jù)被丟棄。解決先用數(shù)據(jù)包計(jì)數(shù)驗(yàn)證真實(shí)吞吐量——App 統(tǒng)計(jì)每秒收到的有效幀字節(jié)數(shù)顯示為實(shí)際采樣率。然后據(jù)此反推能穩(wěn)定跑的最高檔位。如果必須實(shí)時(shí)就降采樣率如果信號是周期的就讓固件在 MCU 本地緩存一段數(shù)據(jù)一次性發(fā)完App 離線繪制這段波形。這個(gè)分段傳輸思路是許多成品藍(lán)牙示波器的真正工作模式。5.4 電壓讀數(shù)整體偏小 10%現(xiàn)象輸入 1V 直流App 顯示 0.9V換一個(gè)檔位偏差比例不變。原因這是運(yùn)放增益誤差與 ADC 參考電壓誤差疊加的結(jié)果。原理圖里運(yùn)放的分壓電阻精度 5% 就能造成 5% 量級誤差MCU 內(nèi)置參考電壓本身有 ±2% 左右的誤差。藍(lán)牙示波器為了低成本通常省略精密參考所以誤差全部帶進(jìn)了讀數(shù)。解決做兩點(diǎn)校準(zhǔn)。用已知精度的 0V 和一個(gè)基準(zhǔn)電壓比如 1.000V分別采樣算出增益和偏置把校準(zhǔn)系數(shù)燒進(jìn)固件或存到 App 偏好里。資源中的 App 有校準(zhǔn)頁面寫算法就是real (raw - offset) * gain。這個(gè)系數(shù)位數(shù)必須用 float用整數(shù)除法會導(dǎo)致低量程時(shí)階梯狀誤差。5.5 低頻波形出現(xiàn)明顯臺階感現(xiàn)象輸入 50Hz 正弦波波形本來應(yīng)該平滑但屏幕上一段一段地跳像樓梯。原因屏幕刷新率 60HzBLE 推送頻率可能也只有 2030 幀/秒看起來就是一步一個(gè)臺階。不要把這個(gè)誤認(rèn)為信號本身是階梯波。如果一個(gè)包里有 200 個(gè)樣本屏幕卻只在每次收到包時(shí)畫一次那么 50Hz 信號一個(gè)周期只畫了 5 個(gè)點(diǎn)視覺效果就是鋸齒。解決確認(rèn) App 是按幀內(nèi)樣本數(shù)補(bǔ)點(diǎn)即每個(gè)樣本都畫而不是按包畫。同時(shí)檢查WaveformView是否做了偶發(fā)式重繪改為按顯示時(shí)鐘固定 3060fps 重繪。如果 MCU 端的采樣率遠(yuǎn)高于 BLE 能推送的刷新率那每個(gè)包的樣本數(shù)必須足夠多才能保證屏幕上每幀之間有足夠的點(diǎn)覆蓋完整波形周期。6. 設(shè)計(jì)取舍帶寬換體驗(yàn)還是在協(xié)議層做補(bǔ)償藍(lán)牙示波器開發(fā)到最后繞不開一個(gè)二元選擇是讓硬件降低采樣率保證實(shí)時(shí)流暢還是讓 MCU 高速采集、分塊傳輸、App 離線繪制前者體驗(yàn)連貫但看不到高頻瞬態(tài)后者能捕獲細(xì)節(jié)但犧牲了實(shí)時(shí)性。我一般會這么權(quán)衡如果待測信號是持續(xù)輸出且只關(guān)心宏觀趨勢比如電池放電曲線、電源上電時(shí)序那 1kSa/s 的實(shí)時(shí)流就足夠如果要抓一段 5ms 的 I2C 波形毛刺就必須讓 MCU 以 1MSa/s 采集幾百個(gè)點(diǎn)存下來一次性發(fā)走。這也是為什么這份資源里的固件同時(shí)保留了連續(xù)流模式和單次捕獲模式兩個(gè)命令——它們對應(yīng)的協(xié)議幀結(jié)構(gòu)不同App 端根據(jù)幀頭里的模式字段決定是實(shí)時(shí)追加還是整幀替換。第二個(gè)取舍在觸發(fā)機(jī)制上。硬件觸發(fā)需要在 MCU 端做比較器邏輯能精準(zhǔn)定位邊沿但固件復(fù)雜度上升App 端軟件觸發(fā)是收到數(shù)據(jù)后在樣本序列里查找跨閾值點(diǎn)實(shí)現(xiàn)簡單卻需要傳輸大量無關(guān)數(shù)據(jù)。資源里的固件選擇了 MCU 端做一個(gè)簡易上升沿檢測ADC 連續(xù)采樣時(shí)在中斷里比較前后值捕獲到邊沿才啟動 DMA 存儲。這樣做的代價(jià)是你丟掉了邊沿之前的預(yù)觸發(fā)數(shù)據(jù)要做好取舍就必須在內(nèi)存里開一段循環(huán)緩沖區(qū)讓 DMA 始終寫入最新數(shù)據(jù)觸發(fā)后停止寫保留觸發(fā)前的一段記錄。從那以后我每次調(diào)試藍(lán)牙示波器都不先調(diào)采樣率而是先拿一臺信號發(fā)生器輸出一個(gè)固定頻率的方波測量 App 端顯示的實(shí)際采樣率。算清楚有效帶寬再去決定用哪個(gè)檔位、要不要開觸發(fā)、數(shù)據(jù)分塊多大。這套先驗(yàn)證鏈路后寫業(yè)務(wù)邏輯的習(xí)慣幫我省掉了大量無謂的抓包和改參數(shù)。希望幫到你。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
激情综合色| 无码国产Av| 北京专精特新企业招聘信息| 亚洲综合一区二区| 国产一区二区在线播放量| 97chaopenrihan| 大鸡吧尹人在线| 福利操逼| 97超碰色| 日本国产欧美一区三区二区| 久久久精品视频免费观看| 国产老太乱伦一区| 超碰97COm中文| 97伪v| 99热啪啪| 国产AV高清AV无码| 久久婷婷五月综合| 色五月69夫妻| 亚洲宗合电影| 日韩中文字幕宗合在线| 久男人久久| 狠色婷婷久久一区二区三区_| 99色| 亚洲不卡不卡中文字幕不卡| 天堂蜜桃无码视频一区二区| 91国产精品在线看| 婷婷五月在线视频| 欲色影视综合吧| 国产精品肉丝自拍| 特级大荫道BBwBBwBBW| 久热伊人| 伊人五月天青青草婷婷| 久操高青| 天天射夜夜| 成人色女网| 国产高清不卡视频| 最新精品久久蜜桃| 亚州综合AⅤ| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 综合夜夜| 免费黄色片。| 国产精品亚洲一级av第二区| 日本性爱欧美性爱| 精品久久久高清无码| 伊人网免费视频| 一区二区免费电影久久| 国产精品爽爽va在线观看98| 天天日天天爽| 热久久精品| 亚洲另类久操网| 日韩精品人妻系列无码天堂| 久噜噜| 欧美一级久久久久久久大片动画| 国产美女销魂在线观看不卡| 色五月激情综合网| 久久一二三级一一一| 91麻豆天美传媒HD| 91无码人妻| 亚洲图片偷拍欧美| 懂色av一区二区三区天美传媒| 免费人成毛片乱码| 久久夜黄色无码A级大片| 自怕偷自怕亚洲精品| 午夜AV人气不卡| 91爆操视频| 欧美日韩性爱操大逼| 亚洲啪啪性视频| 精品久久青青草| 亚洲视频,小说| #NAME?| 色牛aV| 国产啊v在线免费播放| 强免费黄色网址| 日韩在线视频1234| 春色综合免费| 日韩AV无码网站| 国产精品久久久久亚洲av| 久久九九国产精品| 男人把坤坤插入女人的下体| 99re黄| 中文字幕日韩人妻视频| 日本不卡码黄色 | 97色涩| 欧美肥臀在线| 在线无码视频| 极品白嫩福利在线| 亚欧无码线免费观看视频| 亚洲国产一区二区入口| av天堂影视中文在字幕在线中文 | 日比av无码| 成人自拍三级在线观看| 色婷婷综合网站| 欧美日韩青操| 综合久久97| 日韩一区二区三区四区五区| 欧美 日韩 国产传媒| 激情婷婷丁香网| 无码国产精品96久久久久孕妇| 中文字幕精品一区欧美| 青青草日逼视频| 91欧美情色| 91人妻素女| 亚洲三级网址久久最新| 男人女人18禁片免费看网站| 夜夜狼人妻| 亚洲欧美97| 亚洲综合色婷婷| 亚州色图片在线色| 久久av成人无码免费| 国产精品久久久| 黄网色一区二区三区四区精品| 国产超碰在线一区| 99婷婷一区二区| 99色色网| 欧美性夜| 中文字幕日韩国产传媒欧美精品| 青青青在线高清视频在线一二三四区| 曰韩无码777| 超碰综合97在线| 日本色色色视频| 国产青青美女玩逼视频| 久操凹凸视频| 97欧美久久久久久久| 亚洲色系另类精品国产| 色九九九综合| 日韩美女啪啪一区| 人妻熟女一区二区三区视频| 涩五月婷婷| 黑白配性爱AV成| 日韩av影片在线观看| 自拍亚洲综合| 日本黄 R色 成 人网站| 欧美热图99| 欧美色婷婷| 人人妻人人爱人人玩| 亚洲美乱| 国产成人综合在线播放| 毛片99-全集电影手机免费观看完整-B029AV | 厕所偷拍在线| 国产精品成人无码av无码免费| 国产女人9999| 99视频只有精品| 免费国产视频| 日本超碰色精品| 国产无码一二三区| 色欲av国内精品久久久久久| 精品v1区| 成人综合久久精品色婷婷| 一区二区三区看视频| 97人肏| 99re免费视频精品全部| 人妻少妇精品久久久| 在线免费观看日韩一区| 精品人妻久久久久一区二区三区| 麻豆视频test| 无码抄逼网| 亚洲欧美不卡线| 日日干夜夜操视频h| 国产黄色影片在线观看| 国产在线激情| 操死我了啊啊啊| 色播五月婷婷| 91夜色| 亚洲综合113页| 殴洲老熟女| 我爱大香蕉| 秋霞免费AV| 无码人妻一区二区三区四区老鸭窝| 婷婷久草一区二区三区| 中日亚韩免费视频| 天天综合网网欲色| 91无码人妻精品一区二区三区蜜桃| 色香色香欲天天天影视综合网| 国产精品露脸在线观看| 亚洲色图亚洲| 亚洲玖玖爱| 黄色二级片网站| 99热最新| 国产精品午夜高潮呻吟久久av| 精品视频在线观看| 日韩本不卡视频在线观看| 亚洲色图20p| 久久久免费一级黄片| 免费观看日本操逼视频| 蜜桃臀av一区二区| 玖玖久久久| 97精品国产精品免费观看| 天天操狠狠日夜夜干超碰撸com视频在线观看| 一级二级三级黑人无码| 中文字幕欧美日韩三级| 99精品九九九九九九| 熟女露脸激情自拍视频| 欧美91网站| 96精品久久久久中文字幕| 丁香五月av| 香蕉国产97| 亚洲十八禁止| 亚洲欧美日韩电影网站一区 | 欧美三级一级| 欧洲与亚洲欧美精品中文字幕| 色97| 大奶啊啊好爽| 不卡超碰护士AV在线免费播放| 九九久久99| 色官网在线| www.久久最新地址| 日韩精品碰碰| 亚洲自拍天堂| 亚洲天堂99| 综合久久欧美| 五月天综合| 国产欧美第五页| 久久人妻视频| 国产suv精品一区二区四| 国产99 中文字幕日韩小视频| 婷婷视频在线免费观看| 久久久精品视频免费观看| 成人免费福利在线观看| 久久婷婷综合国际产色怕| 99re公开精品免费视频| 爱我干综合| 日本色婷婷| 亚洲无码色| 青青草原人妻| 上床不卡网站| 免费综合亚洲中文| 久久东京国产精品视频| 屌逼麻豆| 综合网久久| 超碰久久网| 美女上床网站| 97国产精品视频| 亚洲av性爱电影| 国产福利视频精品视频| www.超碰在线| 黄色十八禁网站| 日本 情色 1区2区3区| 91综合网在线| 国产黄色视频久久| 色五月综合网| 狠狠2050在线观看| 老熟妇91| 亚洲毛片一级带毛片基地| 伊人久久大香大香线蕉中文| 日产国产精品中文久久婷婷| 98超碰日本| 亚洲欧洲激情卡通另类文学四射小说网站| 日韩免费三级黄片电影| 欧美精品999| 丰满翘臀美女影院视频| 亚洲情色在线| 91狠狠综合久久| 久久久久亚洲三级电影| 国产精品熟女乱伦| 超碰综合色| 一区二区三区四区理论片| 中文字幕第23区| 美女诱惑久久| 亚洲色图殴美色图激情乱伦| 日韩一999精品| 黄色一区三区| AV一起草在线| 综合网欧美在线| Aa东京男人的天堂| 午夜福利激情在线视频| 久久熟女人| 久草毛片| 3p国产色噜噜一区| 精品一二三区女同| 夜夜操美女| 天天日天天舔天天喷天天射| 青久久| 最新无码国产| 殴美,日韩国产伦精品| x97av| 国产偷拍网站| 啊啊啊啊啊啊啊国| 超碰在线91| 欧美东京热精品A∨| 国产精品 午夜福利| 伊人麻豆传媒| 麻豆久久久一区二区| 久操| 国内精品久久久久影院亚洲| 国产91丝袜 在线播放| 婷婷视频网| 综合大香蕉美。| 少妇啪啪自拍| 日本五十路在线| 久久超碰国产一区二区三区| 又大又黄国产| 91搡老女人老妇女老熟女歌词翻译| 天天欧美| 天操天操夜操夜月操月年年操| 久久久偷拍| 欧美性爱五月天| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 日韩有码中文字幕女同性恋| 99热精品在线观看| 亚洲欧美首页| 极品粉嫩少妇视频| 国产亚洲女v在线观看| 国内97干免费看| 国产高清精品一区二区三区毛片| 欧美偷偷网| 亚洲操逼无码| 亚洲人妻五月丁香婷婷| 97天天摸天天碰| 亚洲欧美首页| 天天综合网合集91| 天天摸天天插天天日| 无码精品久久久久久亚洲| 日韩乱码Av| 91美女在线观看| 亚洲情色1区| 欧美日韩操逼动图| 欧美色图另类图片| 91人妻丝袜无码| 久久91视频| 日韩青久久| 成人五月香网在线| 无码精品一区二区三区潘金莲| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 男人的天堂久久久| 天堂国产AV| 色乱二区| 日日摸天天爽夜夜欢| 亚洲不卡不卡中文字幕不卡| 亚洲欧综合另类无码一区| 久久有码视频| 天天天乱色综合全| 99热啪啪| av在线播放国产一区| 久操视频在线| 日韩久久艹| 狠狠操综合| 91av熟女人妻| 久久人妻熟女一区二区 | 秋霞网—男女啪啪亚洲免费体验区 | 欧美女同在线| 欧美高潮在线| 日本天天吊| 日逼国产| 影音先锋新男人| 亚洲男人天堂2017| 91国精产品| 超碰久久中文| 国产高潮AA片免费看| 激情小说图片亚洲首页| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 国产三区免费在线观看| 中文字幕精品探花视频| 欧美少妇高潮视频| 熟女91网| 91天美传媒在线观看| 日本久久网| 盗摄女人妻在线| 亚洲一区二区三区在线激情| 久久久久久十| 四虎在线免费视频| 啊啊啊啊啊好大好舒服想要| 九九视品黄色| 日本狠狠干| 9999免费精彩视频| 日韩欧美午夜视频在线| 黄色电影在线播放综合网站| 人人模人人看| 九九九九精品| 中文字幕后石码四区五区| 伊人网一本| 东京热熟女亚洲视频网站| 国产女上位好爽在线| 天天色播| 五月天婷婷综合| 狠狠色婷婷777| 国产强奸超碰AV| 亚洲人妻在线一区| 午夜电影在线观看无码专区| 日本操大逼| 日日噜噜夜夜狠狠视频无| 91P0RNY大屁股人妻| 神马九九| 黄色免费一级在线毛片| 亚洲精品欧美专业| 99精品网站| 国产AV人人 夜夜人人澡| 亚洲国产综合久久天堂| 国产熟女一区二区丰满| www. 男人天堂成人在线| 都市激情人妻一区二区青青操视频| 久久神马影院| 色拍偷亚洲| 中出在线视频| 九九热三级片| 黄色免费一级在线毛片| 高清无码一区二区三区| 九月丁香综合网| 大伊香蕉在线视频免费| 小少妇| 午夜精品99久久久久传媒| 韩国女主播青草福利视频| 九九九综合精品| 久9久9精品| 99热日| 9美女超碰在线免费观看| 96久久久久久久| 丰满人妻aA一区二区三区| 少妇厨房愉情理伦片bd在线观看 | 熟妇艹鸡八| 欧美亚洲se91| AV女资源| 欧美一级特黄淫片在线观看| 97啪啪| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 无码区蜜乳| 在线综合色| 天天操天天插| 熟妇人妻一区二区三在线| 国产精品午夜精品| 草草电影院| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 国产极品馒头逼| 国产一区二区三区免费视频在性观看 | 婷婷五月天激情网| 夜夜人妻爽| 加勒比色99999| 亚洲中字幕日本一区二区三区| 国产久久成人| 香蕉在线一区二区三区| 精品中文一区二区| 国产精品com| 激情接吻视频久久久久久| 天天操天天射青青草| 97超碰总站| 99re在线| 国产精品大香蕉| 国产熟女二区| 一级做a爰片性色毛片久久| 91性高潮久久久久久久久| 欧美精品91| 91综合网站| 日本在线播放不卡一区| 色综合超碰超| 一级片在线观看高清无码| 一道本久久棕合爱| 国产一区二区在线看| 久久东京伊人一本到鬼色| 亚洲欧洲小说图片视频| 欧美九九九| 亚洲国产一区二区入口| 久久111| 男人的天堂2019| 人妻少妇av在线观看| 啊好爽快点-国产一区二区三区撒尿在线-成人AV | 亚洲色系另类精品国产| av大香蕉网站| 激情小说图片亚洲首页| 一本一道人妻久久一区二区三区 | 亚洲丝袜二区| 韩国三级色呦呦| www.色婷婷.com| 5252色欧美在线男人的天堂| 久久久久九九九| 麻豆精品三区视频| 日韩亚洲中文字幕在线| 亚洲色悠悠久久88| 久久一级无码精品毛片6| 嗯嗯啊好大| 人人玩人人添人人澡免费| 殴美综合色88| 看免费的黄片| s片在线观看| 国产一级内射无挡观看| 久久精品高清无码一区| 国产精品久久久久av| 在线 欧美 亚洲| 留下AⅤ黄色片| chaopen97久久| 黄aaaaaaaaaaaaaaaaaa色网站| 欧美黑人91| 久久久免费一级黄片| 蜜桃午夜视频一区二区 | 性九九九九九九| 亚洲操人| 九九九九9999| 青久操| 色婷婷激一区二区三区| 老鸭窝成人| 天天爱天天操| 三级日本一区二区三区| 日韩精品三级片长长久久| 日韩欧美国产一区二区三区四区| 亚洲AV色图一区| 日日夜夜狠狠| 以及麻豆国产入口在线观看免费| 欧美色图97| 人妻av在线| 99久久国产精品免费高潮| 99亚洲人人| 国内精品伊人久久久久影院会| 天天操妹子| 爱欲AV| 18禁的网站在线| 先锋女优在线观看视频| 久久国产精品熟女人妻| 97色色网| 久久夜黄色无码A级大片| 亚洲天天自拍| 美女黑人91神马| a久久| 欧美天天干| 91中出视频| 熟妇高潮一区二| 日韩成人网址| 脫衣舞一区二区三区| 91狠狠综合久久| 美女AV一区二区| 亚洲第一页色| 国人欧美精品一区二区| 蜜乳AV免费观看| 精品二区久久| 亚洲激情色片 | 97精品久久| www.acm成人黄色毛片| 色性荡荡荡荡视频| 99热啪啪| 国产精品免费视频人成| 26uuu欧美日韩| 蜜臀久久99精品久久久久久婷婷 | 美国一区二区免费视频| 99在线免费公开视频| 欧美天天弄| 美女爽到高潮91| 人妻熟妇久草在线| 久久蜜色情在线视频xxx免费观看| 五月天综合在线| 一区二区影院| 99精品欧美一区二区三区桃色| 天天拍夜夜| 黑丝制服中文字幕| 欧洲性人爱视频| 青青草玖玖爱| 999 久久久| 综合网久久| 欧美 传媒 麻豆 日韩 偷拍| 性感女人网页在线观看视频| 日本福利社| 日本三级大片| av九九| 激情综合网激情五月天| 狠狠操狠狠爱| 色九九九九久| 2020视频1区2区3区| 五月丁香成人网| 91狠狠综合久久久久久| 天天爽天天| 色色国产| 丰满少妇一区二区三区专区| 116美女午夜| 日韩偷拍色图| 久久免费看高潮毛片韩国| 日日天天久久啊啊aaa| 超碰在线974| av亚洲天堂资源网站| 97欧美精品综合| 第四色亚洲色图| 欧美亚洲AN| 9999九九九久久久| 婷婷五月天色网| 97网色| 亚洲暴力强奸AV| 亚洲中文人妻色| 五月丁香激情四射| 91精品免费| 亚洲诱惑天堂 | 97久久综合网| 91色欧美| 偷拍偷窥与盗摄视频专区| 美女91在线| 中文操逼字幕| 精品偷拍13p欧美dodk视频| 欧美成人性爱视频免费观看| 久久东京国产精品视频| 欧美少妇熟女| 国产亚洲日本| 91精品导航| 超碰免费人妻人人| 欧美午夜一区二区三区| 激情五月婷| 精品国产一区二区三区久久久蜜臀| 人妻在线大香蕉| 日夜尻逼网| 思思热一热婷婷热一热| 精品高潮| 欧美性爱系列| 久久天天性久久伊人| 99re8免费高清在线| 嗯~啊~轻一点 视频| 欧美不卡五十路| 黄色性爱网网| 后入内射蜜桃臀| 97久久久久久久久久| 试看日韩黄片| 欧美劲爆视频一区二区| 蜜臀AV一区二区三区激情综合| 久久久久久久六六| 亚洲色图欧美一区二区不卡| 把腿张开老子CAO烂你| 夜夜嗨一区二区| 色妇91| 亚洲天天综合| 亚洲天堂99| 亚洲精品蜜桃久久久久久久| 欧美AB在线| 99精品成人免费看| 北京美女一区二区| 久久狠狠色噜噜狠狠狠狠97| 人人透人人操| 热的中文 热的有码 热的国产| 韩国一级做a久久久久| 亚洲AV成人无码久久精品播放| 久久的网站啊啊啊啊啊| 色欲久久99国产精品久久久久久| 人人干人人搞人人摸| 亚洲大色堂| 国产成年女黄特黄| 久操综合在线| 极品色综合| 婷婷天堂站| 四虎影视 亚洲无码| 国产精品亚洲高清在线| 男女激情中文字幕| 国产成人拍国产亚洲精品| 熟女精品一区二区三区| 久久久久久久久久久久97| 风流老熟女一区二区三区l| 91熟女综合| 老司机深夜18禁污污网站| 91女神在线视频| 中文字幕欧美丝袜07资源| 免费精品99| 欧美日韩亚洲天堂| 三级三级三级日本99| 黄色成年| 99这里只有精品| 亚洲天堂加勒比| 国产熟女少妇一区| 精品一级毛片在线观看| 欧洲免费一区二| 成人国产视频在线观看| 色女综合| 国产中文大片资源中文字幕 | 思思热免费在线视频| 97色色,97综合| 2021久久国产综合精品青草| 超碰在线1234区| 精品国产久热在线观看| 欧美自拍网| 欧美亚洲综合色| 日韩成人私密一级精品av| 麻豆天美制片厂网站视频| 国产精品熟女九色九色蜜臀| 午夜综合在线| 成人片在线播放| 日本不卡五区| 久久欧洲| 久久婷婷综合国际产色怕| 色97欧美| 这里是精品| 精品一区二区综合熟妇| 午夜福利 成人 91| 久久99国产综合精品女同| 亚洲国产成人7777| 99re热| 午夜精品久久久久久久男人的天堂| 电家庭影院午夜69久久夜色精品国产69乱 | 日韩97超碰中文字幕| 三级日韩一区二区三区| 亚洲AV在线资源| 五月婷婷色| 五月婷婷丁香六月丁香| 亚洲午夜蜜臀| 日本天堂网| α√在线| 国产资源中文字幕在线| 欧美在线色| 夜夜操2028| 先锋色眉乱伦资源| 亚洲风情在线观看| 精品9区| 人妻激情偷乱视频一区二区三区 | 久久东京国产精品视频| 99久久久无码国产精品性啊聊| 亚洲和欧美裸体美女双飞视频| 丁香婷婷啪啪| 国产黄色影片在线观看| 人人妻人人爽一区二区三区| 超碰98综合网| 人人爽天天爽| 国产精品视频精品一二| se吧提供91精品国产91久久久久久| 综合情欲网| 成人日韩中文字幕| 婷婷成人五月天| 操逼逼福利视频| 国产粉嫩蜜臀av一区二区三区| 欧美国产成人在线| 920日本午夜免费| 亚洲无码太久| 久久风骚城市人| 欧美日本天堂| 亚洲限制级在线| 一本久道久久综合狠狠爱| 欧美强奸乱能| heyZO天然素人无码AⅤ专区| 亚洲另类天堂| 99热一区二区三区四区| 久久久久久九九九九九九| 中文字幕乱碼在线| 不卡超碰护士AV在线免费播放| 色色色色网站| 亚洲午夜福利在线影院| 秋霞成人一级在线观看| 日本操逼视频在线| 啊啊啊想要| 91美女小视频| 欧美大的香蕉有线电视视频| 日韩成人人妻网站| 欧美在线|亚洲| 国产精品不卡一区二区三区| 97硬碰| 青青草视频久久久久| 日韩女优在线| 久久这里精品国产99丫e6| 丰满人妻一区二区三区免费,| 欧美做爰无码A片视频| 国产 无码 一区二区| 啪啪免费| 蜜乳性色无码专日粉嫩骚逼AV| 日韩色| 人人摸人人干人人拍97| 亚洲精品第一| 综合自拍| 久热久| 日本国产二线女色| 96国产精品| 综合少妇网| 人人操人人肉久久精品| 久久这里只有精品9| 久久东京热久久| 水多多映视AV| 久久久久久久久久va| 日本性爱欧美性爱| 欧美成人一级免费电影| 亚洲aV性爱| 五月丁香网站| 成 人 影视 一区 二区 三区 四区 | 精品久久在线区一区| 色综合潮| 啊啊啊啊啊啊啊在线| 九九人妻| 日韩一二三区| 韩国手机不卡无码三级视频| 丰满高潮18xxxx| 可以免费观看的av| 殴美日韩m| 免费草草草草草视频| 日韩本不卡视频在线观看 | 另类 日韩 熟女| 蜜乳av首页| 亚洲男人天堂网久久| 黑人精品久久97| 精品人妻一区二区免费看| 亚洲综合影院| 中文一区在线视频| 懂色综合久久久| 人妻熟女一区二区三区在线| 久9综合在线| 啊啊啊好想要| 久久精品中文字幕无码l| 91中文在线| 好好的日:com久久九九| 高颜值美女口爆高潮浪叫| 另类图片欧美激情综合| 激情啪啪拍91| 白丝jkav| 欧美天天干| 国产精品呦一区二区三区| 黑丝内射一区二区三区| 欧美一区二区三区成人性生活| 久久久蜜桃臀无码视频| 亚洲乱码国产乱码精网站| 大香蕉在线视频15| 中文字幕欧洲有码| 99久久久无码精品国产人| 五月天婷婷基地| 日本熟妇精品九九| 免费精品国偷自产在线在线| 欧美综合区| 国产地址二三| 国产又黄又粗又猛大片 | 国产精品视频在线观看| 香蕉人人操tv| 成人综合网 欧美| 久久久亚洲精品中文字幕人妻| 小日子操bb在线看| 四虎影库国产精品免费| 中文字幕熟女人妻丝袜丝| 国产一在线观看| 中文字日本乱码| 欧美色图20p| 99久久婷婷国产综合精品草原| 日韩精品国模| 精品成人无码| 九九久久99| 美女天天干| 国产日本熟女顶级一区二区三区视频| 亚洲日本大香蕉1| 岛国在线一区二区三区| 最新av在线| 国产 亚洲 一二三四| 日韩在线视频1234| 亚洲国产97| 六六久久日韩不卡| 久久欧美激情| 婷婷五月影院| 99热伊人| 日韩情色视频| 视频国产欧美在线播放| 在线啊啊啊啊| 2020久久免费视频| 高凊专区人人操| 在线97视频| 青娱乐 成人娱乐在线| 男人的天堂2019| 操穴国产| 91在线精品一区二区三区| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 国内精品a| 97自拍一区| 思思热久久成人| 后入式视频国产自| 人人看人人摸人人色| 婷婷探花久久精品一区| 91GD.COM| 夜色91| 九九英色视频| 丰满人妻无码一区二区三区| 久热大香蕉网站| 1769精品一区二区三区| 天天躁日日躁狠狠狠躁| 亚洲中文字幕噜噜噜久久久| 九九九热| 日本东京热大香蕉a片| 日本天天操| 后入人妻无码| 91原创在线观看| 都市久久精品激情亚洲| 很狠操| 小少妇| 欧美激情视频在线一区| 亚洲一区制服诱惑| 日韩AV片| 国产精品久久久久久照片| 亚洲男人天堂视频| 啊啊啊好爽快点啊啊啊嗯嗯| 无遮挡男女激烈动态图| 龙兴卡官方查询| www.久久99| 超清福利精品视频在线| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 亚洲视频二区| 色色99| 成人97人人超碰人人| av草草在线电影| 99热超碰| 中文字幕123| 超碰在线一区二区| 操逼短片| 日韩AV中文字幕电影| 郑州宾馆老熟女露脸啪啪| 天天天肏屄肏屄肏屄欧美欧美| 澳门成人网站久国产日韩| 家庭乱伦网站国产| 精品久久久久久中文字幕视频免费| 9精品久久| 精品国产乱码久久久久久影片| 亚欧成人综合影院| 欧美亚洲高清| 亚洲综人网| 日韩人妻无码精品系列| 五月丁香大香蕉| 岛国网址国产| 婷婷伊人五月| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 欧美激情欧美精品| 六月丁香啪啪| av在线免费一区二区| 91精品国产91综合久久蜜臀| 亚欧操逼片在线观看| 啊啊啊啊啊好大好舒服想要| 黄污污污污| 91天堂色男人的天堂| 被窝影院午夜看片无码| 94色色电影网| chaopen97久久| 亚洲色图 图片| 中文字幕少妇色| julia高潮后不停追击中出| av日韩手机在线影视| 国产福利电影| 亚洲伊人成综合成人网| 日韩欧美女求操每天更新| 九9精品| 国产久久男人天堂| 97色色,97综合| 鸥美精品一区二区久久婷婷| 少妇免费视频| 区日韩亚洲乱码av电影| www.色五月| 狠狠色综合网| 丁香六月激情综合| 久草视频分类在线| 色综合久| 丰满人妻一区二区三区大胸懂色 | 午夜精品久久久久久久| 久久99草| 激情小说亚洲图片| 内射卯月麻衣| 东京热大香焦| 五月天亚洲网| 亚洲色图第四色| 97jingpin| 欧美综合自拍亚洲综合图| 丝袜色综合| 激情内射| 久久精品导航| 东京热毛片177b2viP| 天天久久| 啪啪啪综合网| AV乱伦专区| 天天日天天搞天天干| 亚洲,日韩,欧美,成人播放 | 色眯眯av| 欧美肥臀在线| 九九九九精品精| 啪啪综合网| 92性色国产午夜福利在线661| 精品视频日日夜夜| 91色黑人少妇| 91天天c| 久久后入制服| 色妺妺AⅤ| 国产1024在线播放| 色就色综合| 五月天玖玖资源站| 久久伊人大香蕉| 日本青青草在线| 色麻豆AV| 四虎在线视频| 国内毛片欧美香蕉精品| 一类无码操逼视频| 免费看日产一区二区三区| 天天摸,夜夜摸| 97超碰天天爱天天爱| 免费草草草草草视频| 一二三区精品视频| 看免费一级在线播放毛片| 亚乱色| 超碰三级秋霞| 好舒服视频| 色九久| 国产精品亚洲一级av第二区| 免费精品福利在线观看| 啪啪91| 我想要啊 啊 啊| 一区二区三区国产在线播放 | 亚洲s色图| 国产成人久久精品蜜臀| 国产宅男宅女在线观看| 开心五月深爱五月| 人人妻人人色| 欧美天天干| 欧美日韩激情无码专区| 久久天堂婷婷网| 伊人色综合欧美| 无码天堂| 女人被添高潮免费视频| 国产a级精品| 一区二区三区一亚洲中文字幕、综合区灬| 日本成a人v网站在线观看| 中文字幕aⅴ在线视频| 嗯嗯嗯嗯啊啊啊好紧好大| 日本免费一区二区不卡| 黄色无码高清黄色无码网站| 亚洲福利中文字幕在线| 性性欧美| 91天天| 色色色欧美| 天天躁狠狠躁av| 欧美Ⅴ性爱| 这里有精品| 久久久少妇诱惑精品视频| 欧美真人抽搐一进一出gif| 另类在线| 丝袜视频网国产90| 亚洲天堂一区二区久久| 亚洲免费精品一区| 青青操国产夫妻| 欧美网站免费| 亚洲男人的天堂在线看| 国产又黄又粗又猛大片| 丁香五月影院| 久久久月天| 午夜寂寞欧美| jiujiujiujingpin| 51久久夜色精品国产麻豆| 超碰 97国产熟女| 亚洲不雅视频1区二区| 亚洲欧美日韩综合在线尤物| 加勒比五月天| 日韩精品碰碰| 综合97亚洲| 高潮的A片激情扒开一区| 性色avv| 少妇被c 黄 免费观看| 蜜臀av在线播放一区二区三区| 人人妻人人爽人人精品| 黄色片大香蕉| 91九色丰满高潮| 蜜乳性色无码专日粉嫩骚逼AV| 亚洲精品一区二区免费在线观看| AV天堂国产| 欧美老妇女内射网址| 涩综合导航| 欧美综合在线91| 操逼国产免费| 校园春色综合香蕉| 日韩人成网站在线播放| 91 国产丝袜在线播放-百度| 国产不卡免费在线视频| 狠狠爱夜夜干| 伊人五月天| 黄页| 中文字幕 一区二区 亚洲无码| 91内射| 天天综合欧美综合| 综合久久久久久久综合网| av东京热男人的天堂| 成年人性爱日韩| 国产一区二区精品久久久不卡蜜臀| 欧美日韩性爱精品| 人妻精品一区二区| 人人妻人人操人人乐| 日韩精品资源专区二区| 蜜臀色乳| 美国一区二区免费视频| 欧美同性恋 的搜索结果 - 91n| 免费AV播放| 日韩在线国产字幕| 天天干天天日天天射黄色片| 九九久久一区二区伦理| 午夜视频久久久| 色性综合| 岛国大片国产| 后入合集| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 日韩999| 家庭乱伦麻豆| 9999九九九久久久| 九九在线精品| 成人无码在线视频网站| 日韩特一级久久| 欧美熟爽综合| 蜜桃视频成a人v在线| 色约约一区=区三区| 熟妇一区二区三区| 国产一级黄色片在线观看| 国产精品久久久久久久久久久久久久吹 | 天天插天天干| 一起草欧美| 夜夜性| 丝袜亚洲91| 亚洲麻豆精品二区三区| 久久国产乱子伦精品免费女人| 极品美女嘿咻| 人妻熟女一区二区三区在线| 久久99久久99精品免视看婷婷| 亚洲熟女乱色一区二区三区 | 日本午夜久久电影| 久久精品 六十路 熟女 欧美| 99久在线精品99re8| 欧洲Au麻豆| 亚洲超碰在线| 亚洲精品无码成人久久久99| 9118禁| 天天综合站| 久久久久ab| 插入综合网| 最新日韩黄片| 国产乱色国产精品免费视| 9久久精品| 一区二区三区在线日韩影院观看| 超碰97资源大奶| 五月婷婷五月天| 熟女人妇一区二区三区| 日本成熟少妇A∨网站| 18精品一二区| 高清不卡 中文 人妻| 97硬碰| 玖玖97综合| www五月| 日韩一级片在线看| 久久91视频| 欧洲亚洲国产综合在线| 天美传媒AV在线播放| 插插综合网天天影视网| 日韩欧美资源| 日韩三级在线观看mp4| 久久天天摸| 六月婷婷五月丁香| 久久老子无码午夜伦不卡| 久草免费在线一区二区| 青青草伊人久久| 久久久久骚| 黄污污污污| 婷婷丁香五月综合| 综合久久中文字幕综合日韩精品| 做爱A级亚欧| 免费一级黄色录像影片| 精品国模无码| 测评在线观看AV| 97九色| 亚洲色图综合| 国产熟女精品一区二区| 九九九九久久久久| 干少妇视频| 五月天亚洲色图| 欧美综合网在线| 久操97| 欧美日韩在线视频网站| 国产精品视频内谢女人| 国产精品com| 欧州一区二区三区四区| 富女玩鸭子一级毛片| 青娱乐福利99| 天天激情综合站| 日本性爰一道本| 日本激情免费大片| 成人性爱高清视频免费看| 操逼视频免费日韩无码| 国产一区二区三区精品观看啪| 国产 日韩 另类 视频一区爱| 国产精品免费美女视频| 不卡啪啪视频| 日韩AV片| 色999偷自拍拍| 亚洲精品一卡二卡三卡福利视频网站| 欧美日韩亚洲电影| 久久精品国产97欧美精品亚洲 |