久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

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

基于C# WinForms的MPU6050上位機開發(fā):從串口協(xié)議到姿態(tài)解算

基于C# WinForms的MPU6050上位機開發(fā):從串口協(xié)議到姿態(tài)解算 最近手里有塊GY-521模塊也就是最常見的MPU6050六軸傳感器板子憋著想做個姿態(tài)采集的小項目。可是每次調(diào)試都只能開著串口助手盯那堆十六進制數(shù)字數(shù)據(jù)一變滿屏滾動根本看不出門道。于是花了一個周末直接用Visual Studio寫了個簡單的MPU6050上位機把加速度和陀螺儀數(shù)據(jù)實時畫成波形還加了一個姿態(tài)角顯示區(qū)。這篇文章就把這一整段折騰過程完整記錄一遍硬件怎么接、串口協(xié)議怎么定、C#界面怎么寫、姿態(tài)解算怎么落地每一步都盡量講透。適合手里有MPU6050模塊、準備搞畢業(yè)設計、或者想入門上位機開發(fā)的同學參考看完你完全可以照著搭出一套能用的工具。1. 項目拆解與方案選型1.1 這個項目到底要做什么先把這個項目是什么說清楚。MPU6050是一個六軸運動傳感器內(nèi)部整合了三軸加速度計和三軸陀螺儀能輸出X/Y/Z三個方向的加速度值以及繞三個軸旋轉(zhuǎn)的角速度值。所謂上位機就是運行在電腦上的數(shù)據(jù)接收、顯示和控制軟件。所以整個項目做的事就是下位機單片機讀取MPU6050的原始數(shù)據(jù)通過串口把數(shù)據(jù)打包發(fā)送給電腦上位機接收并解析數(shù)據(jù)幀把數(shù)據(jù)繪制成實時波形并解算出姿態(tài)角度roll/pitch這個鏈路看起來直接但里面涉及的細節(jié)很多。串口數(shù)據(jù)是對字節(jié)流沒有任何結(jié)構(gòu)怎么讓上位機準確區(qū)分出“一幀完整的數(shù)據(jù)”單片機發(fā)出來的原始量程數(shù)值和實際物理角度之間怎么換算界面實時刷新怎樣才不會卡頓這些問題不親手做一遍光看書是體會不到的。1.2 上位機技術(shù)方案為什么是C# WinForms做上位機的技術(shù)路線其實不少我自己常用的幾種方案對比如下方案優(yōu)點缺點適合場景C# WinForms串口類內(nèi)置、界面拖拽快、資料多界面風格偏傳統(tǒng)中小型工具類上位機Python PyQt開發(fā)快、繪圖庫豐富打包發(fā)布麻煩、實時性能一般快速原型Qt C跨平臺、性能好學習成本高、環(huán)境略重大型工業(yè)項目Web前端 WebSerial界面炫、免安裝瀏覽器兼容性折騰展示型Demo我最后選了C# WinForms原因是這個項目本身不復雜.NET自帶的SerialPort類開箱即用Visual Studio里拖控件就能搭界面Chart控件也夠畫實時曲線完全不用引入第三方庫。對于“簡單上位機”這個定位它是最快能落地的組合。另外一個很現(xiàn)實的因素是資料量。無論是博客還是視頻社區(qū)C#上位機開發(fā)的案例一搜一大把遇到問題基本都能查到現(xiàn)成答案。對新手來說這條路的容錯率要高得多。1.3 整體架構(gòu)和數(shù)據(jù)處理流程整個系統(tǒng)的數(shù)據(jù)流是這樣的MPU6050傳感器 → I2C總線 → 單片機Arduino/STM32→ 串口 → 上位機串口接收 → 數(shù)據(jù)幀解析 → 波形顯示/姿態(tài)解算 → 界面刷新下位機負責采集和發(fā)送上位機負責接收、解析和可視化。兩者之間的“語言”就是通信協(xié)議后面我會重點講協(xié)議設計這是整個項目的關鍵一環(huán)。2. 開發(fā)環(huán)境與硬件準備2.1 Visual Studio 2022安裝與配置用Visual Studio 2022社區(qū)版就夠了官方免費下載功能對這個項目完全夠用。安裝的時候有一個非常關鍵的步驟工作負載一定要勾選“.NET 桌面開發(fā)”。漏掉這個的話你打開新建項目會發(fā)現(xiàn)找不到Windows窗體應用模板回頭還得去修改安裝。如果安裝過程中遇到“Windows Installer服務不可用請重啟系統(tǒng)”這種報錯多半是系統(tǒng)服務被停用了或者是后臺還有VS的殘留進程在占用。先重啟電腦用管理員身份重新運行Visual Studio Installer一般就能解決。還有個小建議安裝路徑盡量別帶中文部分老項目對路徑編碼敏感容易埋坑。新建項目時選“Windows窗體應用”框架我建議選.NET Framework 4.7.2或者.NET 6以上版本都行。WinForms項目里不需要額外裝包用到的SerialPort和Chart控件都是自帶的。2.2 硬件清單與接線要點我手頭的配置是一塊GY-521模塊和一塊Arduino Uno另外準備了一個USB轉(zhuǎn)TTL小板。如果你手里是STM32開發(fā)板原理完全一樣只是底層讀取代碼需要按寄存器操作重寫。GY-521模塊的引腳和開發(fā)板接法如下GY-521引腳Arduino Uno引腳VCC3.3V或5VGNDGNDSCLA5SDAA4這里有個常見坑GY-521模塊的VCC雖然很多板子標5V但MPU6050芯片本身是3.3V器件模塊上通常帶穩(wěn)壓芯片才敢接5V。接之前看一下模塊背面有沒有穩(wěn)壓IC沒有的話老老實實接3.3V。我第一次就是把3.3V的傳感器接到了5V上結(jié)果模塊直接發(fā)燙報廢了一塊。2.3 串口通信基礎參數(shù)串口參數(shù)也就是波特率、數(shù)據(jù)位、停止位和校驗位這些參數(shù)下位機和上位機必須嚴格一致否則收到的就是亂碼。下位機里設置115200波特率、8個數(shù)據(jù)位、1個停止位、無校驗上位機的SerialPort控件也要配成同樣的參數(shù)。波特率不是越大越好。雖然115200確實能傳輸更多數(shù)據(jù)但對這個項目來說每幀數(shù)據(jù)十幾個字節(jié)9600波特率都綽綽有余。選115200主要是考慮調(diào)試時輸出的調(diào)試信息可能比較多留足了余量。3. 下位機MPU6050數(shù)據(jù)采集與協(xié)議設計3.1 MPU6050初始化步驟下位機我用Arduino來演示因為代碼可讀性最好。初始化MPU6050的步驟可以拆成三步第一步初始化I2C總線并喚醒傳感器。MPU6050在剛上電時是休眠狀態(tài)必須往電源管理寄存器寫入喚醒命令才能讀到數(shù)據(jù)。第二步確認I2C地址。MPU6050的I2C地址是0x68還是0x69取決于AD0引腳的電平。AD0接地就是0x68接高電平就是0x69。絕大多數(shù)模塊默認接地用0x68。第三步設置量程。加速度計可選±2g、±4g、±8g、±16g陀螺儀可選±250、±500、±1000、±2000 dps。量程越大能測的范圍越大但分辨率越低。我這個項目放在桌面測試不會劇烈運動所以加速度計用±2g陀螺儀用±250dps。Arduino的初始化代碼很簡單用的Jeff Rowberg的MPU6050庫#include Wire.h #include MPU6050.h MPU6050 mpu; void setup() { Wire.begin(); mpu.initialize(); // 內(nèi)部會自動喚醒并設置默認量程 mpu.setFullScaleAccelRange(MPU6050_ACCEL_FS_2); mpu.setFullScaleGyroRange(MPU6050_GYRO_FS_250); Serial.begin(115200); }讀數(shù)據(jù)的代碼更簡單int16_t ax, ay, az; int16_t gx, gy, gz; mpu.getMotion6(ax, ay, az, gx, gy, gz);這里讀出來的int16_t原始值就是三個軸的加速度原始值和三個軸的陀螺儀原始值。后面的換算在上位機做或者也可以在單片機里先換成物理單位再發(fā)送兩種方案我都試過。在單片機上換算是以占用MCU計算時間為代價的但對于Arduino Uno這種性能比較弱的板子建議把換算放到上位機單片機只負責采集和發(fā)送把壓力留給PC端。3.2 數(shù)據(jù)幀協(xié)議設計防亂碼的關鍵一步這是整個項目里最值得講的部分。串口傳數(shù)據(jù)是一個字節(jié)流上位機收到的是一串沒有邊界的字節(jié)。如果下位機只是把六個int16原始值直接往外發(fā)上位機根本不知道哪里是一幀的開頭、哪里是結(jié)尾。更麻煩的是串口線纜或USB轉(zhuǎn)TTL在干擾下可能丟字節(jié)、錯字節(jié)導致數(shù)據(jù)錯位后一直錯下去。解決思路就是給每一幀數(shù)據(jù)定義清晰的結(jié)構(gòu)。我用的幀格式是這樣幀頭1幀頭2數(shù)據(jù)長度數(shù)據(jù)區(qū)校驗和0xAA0x55數(shù)據(jù)字節(jié)數(shù)12字節(jié)6個軸的原始數(shù)據(jù)累加和為什么幀頭用連續(xù)兩個字節(jié)0xAA 0x55如果只用一個0xAA做幀頭數(shù)據(jù)區(qū)里如果恰好出現(xiàn)0xAA就會導致收端誤判幀頭。使用“AA 55”連續(xù)模式后數(shù)據(jù)區(qū)里同時出現(xiàn)這兩個連續(xù)字節(jié)的概率非常低誤判的可能性基本可以忽略。為什么要有數(shù)據(jù)長度字節(jié)因為接收端需要知道這一幀數(shù)據(jù)總長度到底是多少才能把整幀全部取走。加了這個字段即使數(shù)據(jù)區(qū)里出現(xiàn)和幀頭相同的字節(jié)也不會把幀切錯。校驗和方法是從數(shù)據(jù)長度字節(jié)到數(shù)據(jù)區(qū)里所有字節(jié)的累加和取低8位放在幀尾。接收端按同樣方式計算一遍和幀尾的校驗值比對不一致就丟掉這一幀。串口傳輸偶爾會受到干擾產(chǎn)生誤碼沒有校驗的話錯誤數(shù)據(jù)會直接顯示成亂跳的波形有了校驗壞幀會被直接丟棄寧可丟一幀也不顯示錯誤數(shù)據(jù)。3.3 下位機發(fā)送程序?qū)崿F(xiàn)把數(shù)據(jù)打包成幀并發(fā)送的代碼void sendFrame(int16_t ax, int16_t ay, int16_t az, int16_t gx, int16_t gy, int16_t gz) { uint8_t buf[16]; int16_t data[6] {ax, ay, az, gx, gy, gz}; buf[0] 0xAA; buf[1] 0x55; buf[2] 12; // 6個int16 12字節(jié) uint8_t sum 0; for (int i 0; i 6; i) { buf[3 i * 2] data[i] 0xFF; // 低字節(jié) buf[4 i * 2] (data[i] 8) 0xFF; // 高字節(jié) sum buf[3 i * 2] buf[4 i * 2]; } buf[15] sum; Serial.write(buf, 16); }這里用低字節(jié)在前、高字節(jié)在后的順序發(fā)送也就是所謂的小端模式上位機解析時按同樣的順序拼回來就行。注意左右順序一定對齊兩端定義清楚不然數(shù)據(jù)的高低字節(jié)反了波形會變成完全沒有意義的負數(shù)值亂跳。主循環(huán)里按固定周期發(fā)送我用的10ms一幀也就是100Hz刷新率。這個頻率對姿態(tài)顯示來說足夠了每秒100幀數(shù)據(jù)畫面非常流暢。提高頻率意義不大反而增加CPU占用也沒必要。void loop() { static unsigned long lastTime 0; if (millis() - lastTime 10) { int16_t ax, ay, az, gx, gy, gz; mpu.getMotion6(ax, ay, az, gx, gy, gz); sendFrame(ax, ay, az, gx, gy, gz); lastTime millis(); } }4. 上位機C#界面與串口解析實戰(zhàn)4.1 界面布局清爽但不寒酸上位機界面我分成了三個功能區(qū)。頂部是串口設置區(qū)一個端口號下拉框、一個波特率下拉框、一個“打開串口”按鈕。端口號不用手動輸入程序啟動時自動枚舉所有可用串口填充到下拉框里。中間是數(shù)據(jù)顯示區(qū)用一個多行文本框顯示解析后的原始數(shù)值方便做調(diào)試和核對。每收到一幀數(shù)據(jù)就把當前數(shù)值刷新進去。底部是波形顯示區(qū)放一個Chart控件繪制三軸加速度和三軸角速度的實時曲線。我自己做這個界面時就是幾個GroupBox把區(qū)域框起來配合Label和下拉框純拖拽半個小時就能排完。真正花時間的反而是數(shù)據(jù)解析和刷新的邏輯。4.2 串口接收事件與線程處理SerialPort控件接收數(shù)據(jù)是發(fā)生在后臺線程的這是許多新手最容易栽坑的地方。絕對不能直接在DataReceived事件里去操作UI控件。比如直接在事件里執(zhí)行textBox1.Text xxx運行時會拋出InvalidOperationException異常提示“線程間操作無效”。正確做法是先把數(shù)據(jù)解析成可用的變量然后用控件的BeginInvoke方法把UI更新操作切回到主線程執(zhí)行。這是C#窗體編程里很經(jīng)典的一個模式我的代碼結(jié)構(gòu)是這樣的private void serialPort1_DataReceived(object sender, SerialDataReceivedEventArgs e) { int bytesCount serialPort1.BytesToRead; byte[] buffer new byte[bytesCount]; serialPort1.Read(buffer, 0, bytesCount); lock (recvBuffer) recvBuffer.AddRange(buffer); ParseData(); this.BeginInvoke(new Action(() { // 在這里更新文本框、Chart等UI控件 })); }需要解釋一下BeginInvoke的邏輯。串口DataReceived事件在.NET的端口接收線程里觸發(fā)UI控件只能在主線程訪問。BeginInvoke就是把待執(zhí)行的方法“排個隊”交回主線程執(zhí)行這樣UI更新就是線程安全的了。4.3 數(shù)據(jù)幀解析從字節(jié)流中摳出有效數(shù)據(jù)解析函數(shù)是整個上位機的核心代碼里我用了一個列隊緩存來處理流式數(shù)據(jù)。因為串口接收是隨時可能發(fā)生的比如下位機發(fā)了3幀數(shù)據(jù)可能一次接收事件里全到也可能被拆成兩次到。如果每次只處理收到的字節(jié)遇到半幀數(shù)據(jù)就會傻眼。處理思路是把每次收到的數(shù)據(jù)追加到緩存List里然后在一個while循環(huán)里不斷嘗試從緩存頭部取出一整幀。判斷順序是查找0xAA確認下一個字節(jié)是0x55讀數(shù)據(jù)長度字段檢查緩存剩余字節(jié)數(shù)是否夠一幀校驗和驗證提取6個int16數(shù)據(jù)刪除緩存中已處理的部分private void ParseData() { while (recvBuffer.Count 16) { int start recvBuffer.IndexOf(0xAA); if (start 0) { recvBuffer.Clear(); return; } if (start 0) recvBuffer.RemoveRange(0, start); if (recvBuffer.Count 3) return; if (recvBuffer[1] ! 0x55) { recvBuffer.RemoveAt(0); continue; } int len recvBuffer[2]; int totalLen 3 len 1; if (recvBuffer.Count totalLen) return; int sum 0; for (int i 2; i 3 len; i) sum recvBuffer[i]; sum 0xFF; if (sum recvBuffer[totalLen - 1]) { short[] values new short[6]; for (int i 0; i 6; i) { int low recvBuffer[3 i * 2]; int high recvBuffer[4 i * 2]; values[i] (short)(low | (high 8)); } accX values[0]; accY values[1]; accZ values[2]; gyroX values[3]; gyroY values[4]; gyroZ values[5]; } recvBuffer.RemoveRange(0, totalLen); } }這段代碼有幾個細節(jié)值得講一下。IndexOf(0xAA)之后如果緩存里第一個字節(jié)不是0x55就只移除開頭的0xAA這個字節(jié)而不是把整個緩存清掉防止丟掉后面可能存在的新幀頭。校驗失敗時也要把這一幀完整移除避免同一個壞幀反復解析導致死循環(huán)。校驗失敗的幀要不要丟棄這一點上我吃過虧。開始我以為校驗失敗說明幀壞了該丟棄后來發(fā)現(xiàn)如果干擾發(fā)生在幀頭附近把整個數(shù)據(jù)對齊打亂后續(xù)幾幀可能連續(xù)校驗失敗。這時候如果把緩存從壞幀之后繼續(xù)解析反而會因為錯位導致一系列誤判。所以能通過幀頭幀頭校驗的基本都是合法幀凡是校驗不過的一律清空重建。這個“寧丟勿錯”的處理思路在工程上是值得一試的。4.4 Chart波形繪制與刷新優(yōu)化Chart控件畫實時曲線最容易出現(xiàn)的問題是越畫越卡。原因是默認情況下每個新點都會往Series里無限追加數(shù)據(jù)量大了之后重繪成本直線上升。我的處理方式是限制每個Series只保留最近500個點超過后自動移除最舊的點。500個點對實時監(jiān)控來說既能看到波形趨勢又能保證刷新流暢。private void UpdateChart() { for (int i 0; i 6; i) { if (chart1.Series[i].Points.Count 500) chart1.Series[i].Points.RemoveAt(0); } chart1.Series[0].Points.AddY(accX); chart1.Series[1].Points.AddY(accY); chart1.Series[2].Points.AddY(accZ); chart1.Series[3].Points.AddY(gyroX); chart1.Series[4].Points.AddY(gyroY); chart1.Series[5].Points.AddY(gyroZ); }Chart的X軸默認是索引序號直接AddY就能自動排布不需要額外設置。你也可以給X軸設置一個時間遞增字段但簡單項目用索引就夠了。刷新頻率也要控制。下位機每10ms一幀數(shù)據(jù)如果每幀都觸發(fā)一次Chart刷新UI線程壓力不小。我實際的做法是把刷新節(jié)流到50ms一次也就是每秒20次。人眼對這個頻率的波形更新已經(jīng)很流暢了CPU占用卻低很多。5. 姿態(tài)解算從原始數(shù)據(jù)到真實角度5.1 加速度計和陀螺儀各自的優(yōu)缺點有了六軸原始數(shù)據(jù)下一個問題就是怎么把它們變成直觀的姿態(tài)角度。加速度計能測出重力在各個軸上的分量。當模塊水平靜止時重力全部落在Z軸X和Y軸接近零。當模塊傾斜時重力會在傾斜的軸上產(chǎn)生分量通過反三角函數(shù)就能算出傾斜角。但加速度計有個問題它測到的值里既有重力分量也有運動加速度分量。如果模塊在移動或震動算出來的角度就會抖動得非常厲害。而且加速度計對高頻抖動尤其敏感靜止時很穩(wěn)定一動起來噪聲就很大。陀螺儀測的是角速度把角速度對時間積分就能得到角度。但積分有個致命問題零偏漂移。陀螺儀即使靜止不動輸出也不是絕對的零而是有個固定偏移再加上隨機噪聲積分時間一長角度會越偏越遠。我一開始只靠陀螺儀積分算角度放桌上靜止不動幾分鐘后角度顯示已經(jīng)轉(zhuǎn)了30多度完全不能用。5.2 互補濾波簡單有效的融合方案單獨用加速度計或陀螺儀都不行那就把它們?nèi)诤掀饋?。最?jīng)典也最實用的是互補濾波思路就是陀螺儀積分得到的角度動態(tài)響應快、短期準確但長期會漂移加速度計算出的角度長期穩(wěn)定、不漂移但動態(tài)時噪聲大讓陀螺儀主導短期變化加速度計慢慢矯正長期漂移公式是這樣的angle 0.98 * (angle gyroRate * dt) 0.02 * accAngle這個公式里0.98和0.02是權(quán)重系數(shù)。陀螺儀占98%的權(quán)重它負責最后輸出的變化趨勢加速度計占2%的權(quán)重負責把長期累積的漂移拉回來。這個系數(shù)不是隨便寫的。系數(shù)越大陀螺儀作用越強響應越快但零點漂移也更大系數(shù)越小加速度計矯正力度越強抗漂移更好但對運動越敏感。我實測下來0.98/0.02這個配比適合絕大多數(shù)桌面姿態(tài)監(jiān)控場景。如果用在自平衡車這種動態(tài)響應要求高的場合可以適當加大陀螺儀權(quán)重到0.99左右。但注意如果weight太小比如0.9你會發(fā)現(xiàn)模塊稍微一晃角度也跟著劇烈晃動因為加速度計的噪聲被放大了十倍。5.3 姿態(tài)角度計算的代碼實現(xiàn)C#代碼里先根據(jù)量程把原始值換算成物理單位。加速度計±2g量程下的靈敏度是16384 LSB/g陀螺儀±250dps下的靈敏度是131 LSB/dps。float accGX accX / 16384.0f; // 單位g float accGY accY / 16384.0f; float accGZ accZ / 16384.0f; float gyroDX gyroX / 131.0f; // 單位dps float gyroDY gyroY / 131.0f; float gyroDZ gyroZ / 131.0f;加速度計算roll和pitch角度float accRoll (float)(Math.Atan2(accGY, accGZ) * 180.0 / Math.PI); float accPitch (float)(Math.Atan2(-accGX, Math.Sqrt(accGY * accGY accGZ * accGZ)) * 180.0 / Math.PI);這里坐標系的定義是X軸朝前、Y軸朝左、Z軸朝上不同模塊的安裝方向可能不一樣。如果發(fā)現(xiàn)傳感器旋轉(zhuǎn)A軸上位機顯示的是B軸在動不用懷疑代碼寫錯了直接把對應軸的角度取反或者交換軸順序就行。這個調(diào)試過程很正常?;パa濾波float dt 0.01f; // 10ms采樣周期 roll 0.98f * (roll gyroDX * dt) 0.02f * accRoll; pitch 0.98f * (pitch gyroDY * dt) 0.02f * accPitch;等等這里有個細節(jié)我要多說一句。陀螺儀的角速度單位是dps度每秒乘以dt秒之后得到的是這一小段時間里角度變化量單位是度。加速度計算出來的accRoll直接就是度的單位。兩邊單位統(tǒng)一公式才成立。這是融合算法最容易出錯的地方單位沒對齊波形會亂得不像話。5.4 把角度顯示到界面上角度顯示我用兩種方式一是頂部數(shù)值顯示實時刷新roll/pitch/yaw的數(shù)值二是儀表盤效果在Chart里單獨開兩個Series曲線顯示角度變化趨勢看到角度曲線穩(wěn)定收斂就說明融合效果不錯。Yaw角偏航角只靠MPU6050內(nèi)部磁力計我們是算不出來的因為陀螺儀積分出來的yaw同樣會漂移。所以本項目里只顯示roll和pitch這已經(jīng)能反映大多數(shù)姿態(tài)場景了。如果你要yaw角就得換九軸傳感器比如MPU9250那又是一套新的算法了。調(diào)試時有個技巧模塊靜止在桌面看角度曲線是不是能穩(wěn)定在初始值附近波動幅度應該在1度以內(nèi)。如果波動超過兩三度檢查一下數(shù)據(jù)刷新率和濾波系數(shù)是否合理。如果角度隨時間緩慢漂移說明濾波效果還沒到位微調(diào)一下weight值或者檢查是不是dt設置和下位機實際發(fā)送周期對不上。6. 常見問題排查與避坑清單6.1 問題速查表把我在實際調(diào)試中踩過的坑和解決辦法整理成一個表供你直接對照現(xiàn)象可能原因排查方向串口打開失敗端口被占用/驅(qū)動異常換USB口、重裝驅(qū)動、檢查是否被串口助手占用上位機收不到任何數(shù)據(jù)波特率不一致/硬件接線問題用串口助手直接收原始數(shù)據(jù)驗證硬件鏈路收到數(shù)據(jù)但全是亂碼波特率不對/電平不匹配檢查兩端的波特率確認USB轉(zhuǎn)TTL電平是3.3V還是5V程序一打開就閃退沒找到串口或控件初始化順序問題加try-catch日志檢查硬件連接波形劇烈抖動未按幀解析/加速度計噪聲大檢查幀頭校驗邏輯檢查濾波參數(shù)界面卡頓嚴重DataReceived里直接操作UI/Chart點太多改用BeginInvoke限制Chart點數(shù)角度一直在飄陀螺儀零漂/濾波系數(shù)太小增加加速度計權(quán)重檢查dt設置是否準確模塊和上位機數(shù)據(jù)對不上字節(jié)序不一致確認低字節(jié)在前還是高字節(jié)在前統(tǒng)一協(xié)議6.2 幾個值得注意的經(jīng)驗技巧先把上位機界面寫通再把硬件接上。我強烈建議你先用假數(shù)據(jù)調(diào)試上位機。也就是在解析函數(shù)里隨機制造合法的數(shù)據(jù)幀推給上位機處理。這樣能把上位機的解析、顯示、姿態(tài)計算代碼全部驗證完畢再連硬件就只需要排查一個串口鏈路。聯(lián)調(diào)一次性通過的概率會高很多。很多人上來就接硬件出了Bug還要去分辨是下位機的問題還是上位機的問題白白浪費很多時間。另外下位機的數(shù)據(jù)發(fā)送頻率和上位機實際采樣頻率要保持一致。如果下位機10ms發(fā)一幀上位機refresh也是10ms那dt就應該是0.01。如果你的主循環(huán)里有delay實際周期可能不是10ms建議用millis()統(tǒng)計實際間隔再作為dt傳入算法這樣姿態(tài)解算會更穩(wěn)。關于硬件電源之前提到3.3V和5V的區(qū)別這里再補充一個點模塊和主控的供電要穩(wěn)定。如果發(fā)現(xiàn)波形偶爾出現(xiàn)尖峰或毛刺先懷疑電源線性穩(wěn)壓電源的紋波是傳感器噪聲的一個重要來源。另外USB轉(zhuǎn)TTL小板質(zhì)量參差不齊換個貴的芯片的型號誤碼率可能直接降一個數(shù)量級。關于串口協(xié)議還有一種更簡單的方案是直接用文本格式比如每幀數(shù)據(jù)用逗號分隔、換行符結(jié)尾。這樣調(diào)試更直觀但解析效率和穩(wěn)定性不如二進制幀格式。如果只做Demo文本格式也可以如果要做成穩(wěn)定工具二進制幀格式才是正路。文本格式最大的問題在于數(shù)據(jù)里如果出現(xiàn)干擾導致一個字符變了整行解析就廢了而且沒有校驗機制錯誤數(shù)據(jù)無從察覺。二進制協(xié)議加校驗和雖然多了幾個字節(jié)但可靠性完全是兩個檔次。最后關于Visual Studio開發(fā)效率我建議你在寫代碼時打開錯誤列表窗口和即時窗口調(diào)試時利用斷點檢查緩存List里的字節(jié)序列能很直觀地看到協(xié)議問題出在哪一步。這套項目做完之后我自己最大的體會是上位機開發(fā)其實并不難核心就是數(shù)據(jù)結(jié)構(gòu)設計和線程處理兩件事。串口協(xié)議設計得越規(guī)范后面所有環(huán)節(jié)越省心。C# WinForms雖然不是什么新潮技術(shù)但作為工具型上位機的開發(fā)方式它到現(xiàn)在依然非常能打。如果你做完基礎版想繼續(xù)擴展可以沿著這幾個方向走加一個姿態(tài)的3D顯示用OpenTK或者Unity做一個小立方體把歐拉角灌進去旋轉(zhuǎn)支持數(shù)據(jù)錄制成CSV文件回放分析或者把串口換成藍牙模塊做成無線姿態(tài)傳感器。整個架構(gòu)我現(xiàn)在跑著很順手后續(xù)如果加了新功能我可能還會再寫一篇補充。一點個人建議別把第一個版本的目標定得太高先讓波形能畫出來、數(shù)據(jù)能看懂你就已經(jīng)成功了。后面每一個小功能都是錦上添花但你的串口功底和對數(shù)據(jù)處理的理解會在這個過程里越扎越深。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
91性情| 人、人、摸,人、人、草| 久久人人妻| 2019精品国产无码成人| 蜜区区视频79| 99xav| 麻豆2区1区天美| 热无码中文亚洲H一道本一区二区| 麻豆激情综合| 麻豆黄色五月天| 成人午夜小视频手机在线看| 97香蕉网| 国产精品不卡少妇白| 欧美黄色图片| 视频在线观看一二三区| 在线99热| 少妇 综合| 亚洲一级性爱视频免费看| 香蕉99秘 一区精品蜜桃臀| 欧美情色贴图| 精品十三区| 五月天婷婷小说| 波多野结衣一级视频| 干B网| 欧美激色| 色网1| 日韩丝袜人妻AV| 国产成人无码高清| 色哟哟511老熟女| 久久久九九九| 大象AV在线| 91操熟女视频| 欧美日综合| ai欧美亚洲小说| 国产精品久久久视频| 91三级理论片播放器| 日韩免费在线观看不卡| 1240青青草一区二区三区视频天爱| 日日干夜夜欢| 啊嗯嗯啊好大好爽| 久久精品中文| 综合色久欲| 91AV天美在线视频| 欧亚日韩综合精品国产| 人妻夜爽夜夜爽| 97超碰色中文字幕| 日韩无码一级黄色av片| 搡老女人老91妇女老熟女| 九九九九免费| 国产91亚洲精品一区二区三区| 欧洲精品一级二级精品综合视频综合 | 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 国内毛片国产专区二| 岛国免费视频在线| 亚洲暴力强奸AV| 久久久久人妻二区精品叶可怜| 欧美激情综合| 无码137片内射在线影院| 97香蕉网| 欧美精品成人在线播放| 综合婷婷| 日韩AV一区二区三区三州三州| 天天综合日韩网| 乱人伦 国语对白:视频直接看| 日本肉体xxxx裸交| 91老熟女逼| 国产怡红院| 少妇与黑人高潮在线| 欧美久久久15P| 天天插夜夜爽| 欧美丝袜亚洲| 为用户提供免费看黄网址在线观看| av网站国产主播在线| www.久久制服糖| 欧美午夜一区二区三区| 玖色AV| 欧美综合第一| 国产一国产一级毛片古装| 另类TS人妖一区二区三区| 做爱A级亚欧| 午夜男女爽爽爽在线视频 | 精品少妇高潮久久| 51国产午夜精品视频| 五月婷网站| 一起草av| 综合97亚洲| 精品一区二区三区18| 国产午夜精品理论片a大结局| 操操操五月天婷婷丁香影院| 天天天天天天天天天天干美女| 怡红院一区二区熟女人妻| AA丁香综合激情| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 997色在线| 国产成人精品网站| 日韩精品在线观看观看| 蜜臀国产AV中文字幕| AV99热18这里只有精品| 国产高清视频无码在线| 色综合天天| 少妇丝袜在线观看AV| 97色综合中文网| 温婉少妇玩3p| 久久亚洲色图中文字幕| 交换娇妻呻吟声不停中文字幕| 操操碰| 亚洲熟女乱熟乱熟妇综合网二区| 欧美天天综合在线| 国产亚洲色婷婷久久99精品91葵花宝典| 国产高潮AA片免费看| 人妻出轨一区二区三区| 97国产超碰| 国产精品久久久久亚洲av| 日韩久久三区| 综合另类| 蜜桃在线观看一区二区三区| 九九综合九九综合| 1024亚洲中文字幕久在线看片你懂的| 精品一区二区三区18| 中文字幕日韩人妻视频一区二区三区 | www.狠狠| 超碰在线1234区| 亚洲av综合色区图片亚洲| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 成人草草视频| 一级啊性爱在线视频| 免费看污网站| 91被操| 美女高潮视频91| 欧美性xxxxx狂欢| 亚州国产精品乱| 亚洲精品黄码久久久久| 亚洲一区深夜| 国产又猛又粗又爽又黄| 粉嫩AV一区夜夜嗨| 日韩一区二区高清在线观看的| 91视频成人福利网站在线一区 | 麻豆AV一区二区| 美女久久久| 91亚洲不卡一区| 看日韩黄片| 性色高清在线| 国产精品久久久久中文字幕| 91亚洲图片| 天天肏美女| 91性高朝久久久久久久久| 91人妻视频在线| 伊人精品久久网站| 欧美女同在线| 亚州操操穴网| 成人a大片在线观看| 亚洲激情色片| 亚洲av夫妻操穴网| 久久激情亚洲精品无码?V| 少妇九九九九| 大香蕉男人的天堂| 国产97综合| 三级三久久线久久99久目本WW| 九九九九九九九九九国产精品| 国产精品交换一区二区| 午夜AV人气不卡| 4tube欧美女厕所| 高清不卡一二三区视频......| 欧美人与动性人交a| 久久久久ab| 免费啪啪啪网站18岁| 91熟女网| 狠狠干妹子| 熟妇人妻精品一区二区视频色欲| 香蕉黄色一级视频| 国产91 丝袜在线播放 | 亚洲欧洲日韩中文字幕一区| 亚洲综合春色| 91第一页| 综合网亚洲1| 98一区二区精品| 性暴力欧美猛交在线直播| 欧美一区二区三区成人性生活| 五月丁香啪啪啪| 人人弄人人摸| 国产h小视频在线观看免费| 欧美91精彩| www.yw尤物| 国产午夜在线观看视频| 欧美熟妇色| 欧亚第一综合网| 黑人黄片在线免费观看| av在线观看不卡网站| 北野未奈加勒比av| 亚av顶级裸体一区二区三区四区五区 | 亚洲美女黄色| 用力操死我| 国产在线视视频有精品| 摸奶性爱视频网站在线免费播放| 校园春色亚洲色图| 啊啊啊好疼| 中文字幕一区 二 区 三 四 五 区日 日 骚 | 丰满人妻一区二区三区| 午夜视频好爽啊| 亚洲乱色熟女一区| 国产精品久久久久久久久久久久久久久久久久 | 欧美成不卡网| 3571色综合一区二区二区| 欧美18 在线观看| 黄色成年| 91熟女视频网| 91人妻人人澡人人爽人人精品| 人妻夜爽夜夜爽| av操操不卡| 97色色视频| 精品国产肉丝袜在线拍国语| 成人a大片在线观看| 人人操人人色网| 久久激情四射婷婷丁香五月天| 爽爽爽免费视频| 91粉嫩萝控精品福利网站_精品影音先锋国| 亚洲国产精品久久AV| 四虎影视国产精品| 亚洲丝袜二区在线| 三级色影综合网| 亚春色色| 亚洲成人精品久久久| 久草久热| 亚州中文字幕超碰97| www.一本大99| 国产精品久久久777| 成人A片男人的天堂| 目产99999久久999| 中字一区| 久久二| 麻豆 美女 丝袜 人妻 中文| 国内一级精品| 中文字幕在线免费观看| 色视频蜜乳| 亚洲免费成人在线高清无码视频| 95自拍视频在线观看| 免费黄色片。| 亚洲蜜桃V妇女| 中国一区二区亚洲人妻| 亚洲精品视频在线播放| 久久这里都是精品| 免费草草草草草视频| 久草精品一区| 亚洲男人电影天堂| 国产h片在线观看视频| 亚洲图片欧洲图片aⅴ| 无码在线亚洲| 日夜啪电影| 9/A片| 久久亚洲不卡一区二区三区| 2026国产精品视频| 亚洲春色欧美| 欧美高清18A片| 亚洲图片激情综合另类| 91日韩在线| 超碰国产情侣自拍网| 艳尻美人妻| 在线中文AV| 在线五区| 麻豆三极片| 国产精品亚洲天堂网址| 九九毛片这里只有精品| 欧美激情色婷婷花野真衣一区二区| 少妇熟女视频一二三区| 欧美后入| 在线v中文字幕一区二区三区 | 91色欧美| 国产网红精品| 日韩97视频!在线| 热久日综合| 夜夜躁狠狠躁日日躁av| 国产无马视频| 欧美天堂第二区| 国产熟女完整版中字| 人人做人人妻人人夜视频| 又黑又大又粗 | 色婷婷视频| 欧美男人一区| 日韩欧美三级| 极品美女福利在线观看| 久插综合| 国产精品点击进入在线影院高清 | 国产日韩在线播放| 国产农村妇女精品1区二区| 伊人久久亚洲色欲综合网站| 国产精品又黄又猛又粗| 性色一线| 中文字幕福利视频一区二区三区在线观看| 久热精品在线国产| 综合色图,成人综合网| 日日嗨AV一区二区夜夜| 日韩黄片视频试看| 宗合情欲网| 特污精品女优骚货黄色视频在线免费观看| 亚洲女毛多水多21P| 妇女视频网站| 欧美日韩性爱电影在线| 色哟哟国产精品免费网址| 97在线欧| 69精品久久久久中文字幕| 青青草日本中文字幕| 久久久天堂| 久久精品三级影视| 国产精品suv一区| 青青草好吊色| 日韩乱码Av| 久久久久久久9| 激情丁香婷婷| 黑人性欧美| 神马久久久久久伦理片| 久久亚洲欧美一区二区三区-亚洲国产精品第一区二区 | 九九人妻| 国产av美女被艹的乱叫| 日韩AV噜噜噜一区二区三区四区 | 白嫩91在线亚洲| 在线强奷到舒服的无码视频| 91 国产丝袜在线播放-百度| 欧美精品第3页| 97超碰欧美中文字幕| 99色在线视频| 中文字幕一区二区日韩网| 久久久性爱视频| 丁香五月天婷婷姐| 人人操人人色人人摸| 亚洲AV不卡在线观看尤物| 999亚洲国产视频| 久久精品高清无码一区| 久草综合京东| 极品尤物女神在线观看| 噜噜噜噜久久久精品免费| 色噜噜狠狠色综无码久久合欧美| 女人天堂av在线播放| 操人妻逼91| 亚欧国产无码精品在线| henhen91| 精品一久久久| 再深点灬舒服灬太大了好硬好爽| 91亚洲网| 日韩精品电影| 日韩人妻少妇 一区二区三区| 懂色Av| 日本孕妇孕交| 98一区二区精品| 国产亚洲精品激情| 国产区在线| 德国一二三不卡| 午夜精品久久久久久久99蜜桃一| 凹凸视频在线一区二区| 99精品久久久久久| 人妻天堂综合网| 精品国产91av一区二区三区| 四虎精品永久在线观看| 欧美性爱一区二区三区四区| 欧美综合站| 久久久久久亚洲中文| 天天欲望网| 九九国产热| av天天在线观看| 欧美日韩亚洲一区二区在线观看| 日本影视久久免费| 亚洲天堂一二| 91在线/欧洲| 91视频国品一二三区| 亚洲男人久久综合天堂| 超碰精品国产无码| 亚洲影院365| 蜜臀va69| 91AV天美在线视频| 嗯嗯啊啊好大好爽| 精品国产国产AV| 国产精品久久久蜜臀| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 超碰91在线| 欧美强奸乱能| 国产视频一区二区三区在线免费观看| 老女人综合网| 欧美碰碰综合色| 97操B| 中文字幕伊人| 欧美男人亚洲天堂| 久久久久久中文版| 亚洲区限制级| 中字一区| 亚洲交换| 亚洲在线观看| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | 搞中出视频在线观看| 综合亚洲情色| 狠狠躁天天躁日日躁| 日本人妻一区二区| 中文字幕天天天天天| 天天综合91在线| 亚欧精品久久久久久久久久久| 久久综合婷婷| 少妇超碰在线| 一二三四日本视频高清| 亚 欧 美 综合| 中文字幕在线24| 天天日天天舔| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 97亚洲精品超碰| 深夜视频| 啊啊啊啊啊在线| 九九碰九九爱97超| 久久国产逼| 波多野结衣一级视频| 精品人妻一区二区视频| 秋霞蝌科网日本一区| 国产精品激情久久久久久久| 日本人人操人人操| www.色五月| 久久麻豆一区二区| 玖玖爱综合| 四虎视频在线观看| 国产精品午夜精品| 99热| 亚洲强奸乱伦影视网| 国产AV毛片| 在线看免费无码AV天堂的| 99热这里只有精品地址 | 97超级久久| 97综合| 久久久久亚洲三级电影| 亚洲操人| 国产福利夜| 精品国产乱码久久久影院| 人妻丝袜一区二区三区在线| 91欧洲国产成人久久精品网站| 亚洲第一页第二页激情| 欧亚乱色熟女一区二区| 蜜色网色哟哟| 性九九九九九九| 亚洲色图A| 翔田千里无码中出中文字幕| 婷婷激情五月| 久久日本熟女精品一区| 操逼操逼操| 强奸乱伦av电影| 黄色大片一区二区密桃丝袜| 色女99一级片在线观看| 超碰97 线线 在现| 成人a大片在线观看| 婷婷性爱| 国产在线精品电影观看| 欧美成人性爱视频在线播放| 人人扣人人操| 综合天天网| 久久国产乱子伦精品免费女,网站| 亚洲AV麻豆Aⅴ无码电影一| 1禁看欧美黄片免费看| 骚货人妻偷情自拍在线视频| 精品久久久久久久久久久久| 亚洲图片欧美| 九九久久精品| 97欧美色综合| 超碰国产精品久| 无码99| 麻豆一区二区AV天美| 成人a大片在线观看| 口爆综合网| 久久99干一本高清| 免费伦费视频在线观看| 九九热超碰97亚洲最新香蕉 | 免费看A片毛毛片在线播| 91xingse| 床戏久久久av一区二区麻豆| 八人操人人摸人人看| 欧亚乱色熟一区二区三四区| 9Ⅰ超碰| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 久久国产999| 国产美女自拍AV| 久久视网78| 国产精品操| 日韩女模中文造逼| 97精选久久| 综合久久久久久久综合网| 91最新综合| aV中亚| 中文字幕二区日韩天堂| 97 色综合| 日本韩欧美在线播放a| 91操人| 黄片aaaaa一区| 亚洲美女色图| 亚洲AV资源| 九九草| 亚洲综合五月天婷婷丁香| 欧亚三区动漫| www.狠狠干.coom | 男生通女生屁股| 日本一区二区做爱的视频| 嗯嗯啊啊视频一区二区三区| 日韩无码精品综合久久| 97精品久久久久中文字幕| 激情抓乳插进去啪啪啪日韩| 啊啊啊好舒服好爽啊啊啊视频| 一区二区三| 91亚州日韩高清| 国产AB视频| 五月天婷婷久久| 99人妻| yazhousetuoumei| 国产精品一区二区校花| 蜜臀在线看片| 欧美精品四区| 亚洲一区二区三区春色| 欲射影视| 婷婷五月天网| 白天啪啪晚上啪啪视频| 后入人妻无码| 午夜欧美J进J出白浆流出久久久 | 五月丁香婷婷色| 久久性爱视频免费看| 日韩天天本| 婷婷五月av| 国内偷自视频区视频综合| 青草园大香蕉| 999日韩中文精品观看视频。| 色色毛片| 亚洲综合草草| 熟妇精品juliaannAV| 这里都是精品在线观看| 在线午夜成人无码视频| 中文无线日韩一区| 精品熟女一区=区三区| 玖玖玖玖精品国产剧情| 欧美91精品国产自产| 天堂伊人久久| 亚洲中文字幕噜噜噜久久久| 免费观看国产不卡av| 日本506070| 亚洲欧美在线综合| 中文字幕丝袜美腿| www.色操逼| 91精品亚洲内射孕妇| 色欧洲| 伦理日韩国产久久| 成人女人国产| 日本 欧美 亚中文字幕| 特级毛片特黄久久免费看| 3PAV乱伦视频| 中文字幕在线免费观看| 日日碰视频网| 91劲爆| 亚洲淫色网中文| 日本美女性生活久久久久久久| 亚洲精品第一| 97干色| 亚洲图片 欧美电影| 九七人妻在线| 九九九精品一区二区无码| 久久精品视频久久久| 欧美日韩操逼嗦吊| 国产极品粉嫩馒头一线天av| 欧美成年人性爱视频免费观看| 久热网| 九九九九九九九九九九九蜜桃| 97中文字幕色| 欧美在线啊啊啊 | 思思热在线视频免费| 一起草在线视频| 五月天婷婷社区| AV在线播放网址| 精品综合久久久久久97| 青青草玖玖爱| 亚洲 欧美 日韩另类 麻豆| 九九av| 亚洲999综合| 亚洲欧美日韩国产丝袜自拍中文| 搡老女人老91妇女熟女| 超碰97欧美日韩| 日韩78m视频| 久久大陆| 国产精品色约约| 女人18精品一区二区三区| 97超碰色中文字幕| 大逼色网站| 亚洲日韩美女丝袜美腿人妻视频| 亚洲色图欧美| 日韩成人高清一区二区| 丰满人妻被猛烈进入中| 干日本人少妇午夜寂寞影院| 国产精品蜜乳AV| 精品一区二区成人动漫| 九九热精品| AV丝袜少妇| 好看的久久不射无码影视影院| 天天内射| 天天日天天干天天摸天天操| 日韩特一级久久| 女人综合网| 精品人成视频在线观看| αⅴ天堂| 日本午夜精品理论片A级APP发布| 亚洲骚女一区二区三区| 国产不卡中文字幕免费avi| 好屌色综合| 天天操福利视频综合网站| 漂亮人妻被强中文字幕hd| 青草成人免费视频一com| 手机午夜电影神马久久| 亚洲美女自拍偷拍视频| 五月激情综合网| 我中文字幕6区| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 久久国产精品,久久国产| 人妻人妻天天碰| 久久九九精品一区二区| 一二三区操逼国产91| 日本一区二区做爱的视频| 六月婷婷激情| 日本97久久久精品| 情色大香蕉| 精品午夜福利国产一区二区在线观看| 婷婷丁香熟妇综合网| 91九色丨国产丨爆乳| 97超碰色中文字幕| 黄色香蕉视频网站一区| www色色com| 999综合色| 搡老女人老熟女91老熟女综合网| 青春草莓视频在线观看网址| 婷婷五月在线视频| 懂色Av| 蜜桃久久综合视频| 欧美久久人体| 91色人妻| 精品一区二区三区最新| 中国少妇啪啪视频| 亚洲第一狼人丝袜美女另类| 亚洲高清视频在线观看| 九九热三级片| 五月丁香激情综合网| 91在线/欧洲| 翔田千里AⅤHD无码| 日本熟妇熟色97一本在线观看| 拍拍拍拍大尺度黄色三级片拍拍拍拍拍照| www.亚洲成人一区| 亚州操操穴网| 骚女天天综合网| 狠狠狠狠狠狠| 色九久| 九九人人操| 国产精品丝袜在线| 人妻-91porn| 国产丁香精品露脸视频| 国产成人无码网站在线视频| 人妻素股| 99热只有这里有精品| 久久综合久色欧美综合狠狠 | 日韩激情电影中文字幕| 九九无码久久精品视频| 91这里只有精品| 亚州国产精品乱| 国产91精品在线免费| 国产不卡精品91| 亚洲男人天堂av| 成人影 天天操 亚洲| 97免费在线观看| 日本三级日本三级三级人妇四虎| 亚洲加勒比久久日本道| 久久久久日本视| 欧美亚洲系列| 日韩有码一区三区| 水多多映视AV| 三上制服丝AV| 男人高清无码一区二区| 日韩av情韩国爱禁区av一区二区| 亚洲乱码国产乱码精网站| 91激情综合| 综合网色| 精品亚洲| 日韩99神马视频播放| 国产AV中文| 丝袜综合| 激情九月婷婷| 麻豆天美一区二区| 人人爽人人精品乱人伦AV| 日韩Va亚洲va欧美Ⅴa久久| 97欧美色综合| 精品国产一区二区三区av在线资源| 国内外内射高清视频| 伊人成人情色综合| 天天看天天在线精品| 国产丁香精品露脸视频| 精品女人999| 国产成人99久久亚洲综合| 久久久婷婷| 国产一区二区视频在线播放| 久久久久女教师免费一区| 99re这里只有精品中心播放| 久操网视频| 黄色成年| 精产国品一区二三产品| 黑人嘿嘿嘿超爽免费视频| 国产精品剧情| 亚洲老司机123专区| 欧美疯狂做爰xxxx| 97超级久久| 在线观看视频91| 人妻22p| 日本伦乱九九九综合| 亚洲 无码 有码 中文字幕| 国产精品久久久亚洲一区| 中国一级操逼视频| 91性感在线| 欧美熟女逼久久久久久| 高潮内射在线| 色欲日韩欧美在线一区| 亚洲 欧美 日韩 国产一区二区| 搡老女人老91妇女熟女| 91超碰人人| 日韩人妻免费精品| 波多野结衣一级视频| 久久久久久加勒比| 美国三级日本三级久久99| 青青草啪啪网| 炮色五月| 久久综合99| 久久草草亚洲蜜桃臀| 少妇淫妇久久久久久久| 少妇内射视频| 日日夜夜青青草母狗| 116美女午夜| 操碰97| 日本成人电影资源网| 蜜乳AV.COM| 欲香欲色| 中国少妇啪啪视频| 深喉吞精| 国产精品高朝久久久久久久| 日日夜夜草草草| 亚洲情色五月天 | 强奸少妇AV导航网| 欧美激情总合网| 久99热| 国产精品无码论坛| 另类小色呦| 国产一级操B视频| 大香蕉www.超碰| 日韩三级av片| 97超碰香蕉| 色妺妺AⅤ| 91观看 国产白丝| 亚洲视频精选| 激情欧美97| 欧美成97爱| 91网站18禁| 78超碰| 久久系列| 亚洲色图欧洲| site:sinbotex.com| 一区二区影视| 国产熟妇 码视频户外直播| 天天操夜夜操| 日本成a人v网站在线观看| 欧美在线91| 午夜视频久久久久一区| 樱花蜜乳av| 国产白嫩漂亮KTV在线| 欧美性爱精品一区二区| 国产精品青草综合久久| 色综合色综合网| 狼天天狼天天大香蕉| 国产不卡片| 欧美亚洲影视| 日本顶级天天操狠狠操夜夜操中文字幕| 国产乱码久久久久久| 国产后入清纯| 亚洲AV永久无码精品成人调教| 大香蕉日韩| 尤物网站91| 99久久精品无码一区二区毛片免费| 91在线超高颜值国产| 亚洲国产成人精品无码专区| 岛国片在线观看视频亚洲| 国产在线精品偷| 成人五月香网在线| 91国产大片| 91新在线欧美| 91精品操美女| 亚洲 暴爽 AV人人爽日日碰| 伊人黄色片| 大香蕉黄色一区| 久久久久精| 午夜毛片高清免费不卡| 91丝袜视频在线观看| 欧美性生活男人的天堂| 伊人激情五月天一区二区| 激情五月综合网| 另类亚洲图色| 久超碰这里只有精品| 亚洲精品久久久久毛片A片拉屎 | 日韩一级片在线看| 久jiu久神马影院| 亚洲色欲一区二区三区| 亚洲色图8| 成全动漫视频观看免费下载| 人人射人人操人人摸| 日韩精品人妻中文字幕有码午| 伊人aaa| 99re这里只有精品9| 人人摸人人干人人拍97| 无码一区二区三区四区五区六区七区八区九区十区视频 | 夜夜操91744565| 另类成人首页一区| A 天堂| 久操热| 日本好吊色视频| 搡老女人911熟妇老熟女| 久久精品99| 999九九精品| 免费AV中文网在线观看| 日日狠狠久久偷偷色综合免费| 日韩噜噜69| 97免费在线视频| 91校园春色长篇| 久久天堂网| 奇米狠999| 美日韩在线不卡人妻| 综合网欧美| 色婷婷五月综合| 国产超碰97| 久久久久久久亚洲Av无码| 国产13区| 肏逼视频日本| 久久久999日本大片| 熟女熟妇一区二区三区视频| 成人性爱美曰韩| 亚av顶级裸体一区二区三区四区五区| 国产精品 视频| 9/A片| 大香蕉综合网| 五月天激情网图片| 97免费视频在线| 亚洲精品成人| 啊啊啊操死我了| 狠狠综合网| 青青草五月份天| 看免费一级在线播放毛片| 欧美日韩国产中文精品字幕自在自线,| 夜夜春夜夜操| 国产乱伦性爱区| 九区国产| 国产极品美女高潮无套在线观看 | 久久久久九九九| 日韩欧美视频青青| 亚洲精品久久久久毛片A片拉屎| 美女黄色一级A视频| 久久精品超碰| 欧美日日夜夜| 国产狂喷潮在线精品| 97人人中文网| 人妻少妇被猛烈进入中| 少妇专区一二三四五| 国产精品女生av| 很狠操| 日本一级性爱| 91女色| av大香蕉网站| 国产操逼视频在线观看| 久久精品免费| 天天色黄色影院天天操| 欧美青青草视频| 久久99久久99久久99人受| 美女91AV| 偷拍亚洲高清图片| 欧美系列在线一区二区| 91综合天天看| 伊色综合天堂色97| 乱伦图av| www男人天堂| 亚洲情色五月天| 国产毛片在线| 大鸡巴久久| 91肏屄网| yellow网站免费观看日韩高清无码| 国产精品丝袜久久亚洲不卡| 激情五月天婷婷| 乱性AV| 中亚黄色三级大片| 久久久一级| 国产精品人妻一区二区| 呦女网站| 九一亚洲国产免费| 欧美亚洲日本视频久久久| 69久久| 日欧美色| 成人性爱电影网| 五月婷婷丁香六月丁香| 天天影视之亚洲综合网| 蜜臀久久99精品久久久久久久久| 国产性爱在线视频一区二区| 日韩内| 亚洲图片欧美制度| 日本欧美成人片AAAA| 两女互慰AV高潮喷水在线观看| 97免费视频在线观看视频| 黑丝内射一区二区三区| 又大又长又粗又爽又黄| 精品免费视频国产一区| 操老熟女AV| 91丝袜激情在线| 可以免费观看的AV| 女人 A一级| 亚洲人成网站7777| 啊啊啊男女| oumeizonghese,www| 亚殴在线| 久9视频| 欧美十八禁网站| 秋霞成人一级在线观看| 国产美女自拍视频| 精品国产乱码久久久久久久| 久久一二三四不卡| 九九色图| 亚洲中文字幕精品久久久久久直播| 国产强奸AV在线| 国产91精品在线免费| 亚洲精品97p| 青青草日韩免费观看高清在线| 丝袜喷水在线| 丝袜AV一二三区| 国产又大又硬又长又粗| 日本性交操一区二区不卡系列| 久久久久久999| 97亚洲色图| 午夜福利合集| 蜜臀一二三区| 玖玖爱伊人玖玖爱| 91丝袜美腿片| 久久久久久久久久久久久女过产乱-少妇高潮一区二区三区喷水-成人AV | 亚洲高清视频在线免费观看| 欧美宗合网| 中文字幕伊人| 夜夜嗨免费视频| 97超碰精品成| 久久久9 9 9精品| 亚洲精品97中文字幕| 超碰97欧美在线| 精品91摸| 国产久久久9999| 人妻出轨一区二区三区| 啊啊啊 在线观看| 91亚洲不卡一区| 男人干美女| 亚洲熟女综合| 老女人碰碰在线碰碰视频| 嗯嗯啊啊视频一区二区三区| 麻豆AV96熟妇人妻| 成人久久久精品| 亚洲天堂日本| 欧美同性恋 的搜索结果 - 91n| 男人天堂久久精品不卡| 性欧美| 午夜男人的天堂| 91亚洲欧美| 老外又粗又长一晚做五次| 素人一区二区三区日韩| 久久九九视频九九视频| 牛黄色久午久| 牛牛aV| 97人人超| 国产怡红院| 欧美激情总合网| 佐山爱中文字幕| 香蕉免费一区二区三区不读| 超碰97久久国| 亚洲在线观看| 亚洲欧洲激情卡通另类文学四射小说网站 | 黄色片G G G| 尤物视频新赏网鲜网色诱网| 中文字幕激情小说| 日本2020一区二区| 又大又大又大又粗爽高潮观看| yiqicaoav| 黄色在线网站| 天天做日日做天天欢。| 99亚洲天堂| 午夜天堂网| 精品一区二区三区蜜桃| 操碰97| 91社操逼| 麻豆 欧美 日韩| 熟女AV一区| 丝袜足交视频| 国产无码高清操逼视频| 婷婷亚洲综合| 一区麻豆 高清中文字幕| 偷拍亚洲情色| 国产第12页| 91超碰人人操| 亚洲中文字幕日产无码久久| 国产熟码AV| 超碰无码加勒比| 翔田千里无码中出中文字幕| www.色操逼| 久久久av爱| 啊啊啊啊啊啊啊在线| 91精品人妻一品二品三品| 欧美偷拍区| 99性爱视频| 蜜臀久久在线视频| 亚洲色图91| 久久高清欧美国产| 操人妻逼91| 日韩一卡二卡三卡| 在线性黄高清免费视频| 天天干一区二区| 丝袜美女诱惑 91 视频| 狠狠操,使劲操| 99久久久久| 少好三P| www.久久制服糖| 欧亚乱色熟一区二区三四区| 蜜桃臀一区二区三区久久| 九九精品99| 久悠悠av| 精品国产乱码久久久久久蜜臀| 久久av一级av少妇av高潮| 免费A V在线| 91精品操美女| 淫荡熟女乱伦网| 亚洲色91C| 91国产操逼视频| 免费视频在线观看啊啊啊啊啊| 99久久久| 曰韩av中文字幕专区| 亚洲色悠悠久久88| av天堂天堂av日韩| 天天舔九色婷婷| 日韩美女啪啪一区| 97香蕉人人乳| 天天天干977| 久热超碰| 96国产精品| 国内毛片无码一级毛片| 精品成人女人久久| 日韩欧美中文| 天天影视射综合网| 亚洲自拍天堂| 色九九九九| 国产中文精品一区二区在线观看| 欧美性暴力猛交XXXX | 少妇高潮流水av免费| 欧美精品丝袜久久久中文字幕| 久久 精品| 久久久久久久 九九九九九九九| 伊人麻豆传媒| 欧美日韩夜夜| 色在线视频导航| 99999无码| 欧美不卡在线一区二区| 伊人久久大香蕉线AV五月天| A一区片| 欧美综合制服在线| 日韩A优精品在线观看| 亚洲色悠悠久久88| 精品少妇一区二区三区在线视频| 91熟女视频网| 懂色AV一区二区三区| 久久加勒比| 蜜桃在线观看一区二区三区| 日本性感人妻91| 国产噜噜噜噜噜久久久久久久久| 伊人精品久久网站| 亚洲国产97在线精品一区| 九月色婷婷| 性色AV网站| 2026国产精品视频| 色婷婷色99国产综合精品| 肥佬影院91| 婷婷综合在线观看| 蜜乳av一区二区| 欧美性高潮在线| 日韩中字av一区| 午夜亚洲WWW湿好大| 伦理弟一页| 国产黄色 A 片免费看| 综合网亚洲在线| 色爱欲亚洲| 欧美另类综合久久| 五月天AV资源| 色哟哟国产精品免费网址| 色吧5亚洲| 色偷偷超碰亚洲| 亚洲春色激情小说| 日本熟女免费視颖| av橘色网站| 内射日韩大臀美女| 欧美很很操视频| 日韩欧美日韩| 夜夜春夜夜操| 色婷婷成人综合| 99热这里是精品| 一级人妻性爱视频| 欧美色综合网| 色 亚洲 91| 97人肏| 亚洲超碰AV| 婷婷在线视频在线观看| 精品人妻一区二区蜜桃视频| 亚洲激情 欧美色图| 免费看日产一区二区三区| 国产超碰AV在线精品| 91女日逼| 嗯嗯啊啊日韩精品| 久久综合五月天| 色噜噜人妻丝袜a∨先锋影| 亚洲国产成人精品999| 极品肉射| 激情婷婷丁香网| 中文字幕精品乱码| 欧州色图区| 天天做天天爱| 操操逼操操逼操操逼逼| 91在线精品一区二区三区| 亚州五月| 国产一区二区在线播放,久久亚洲精品中文字幕第一区,亚洲精品在线中文字幕视频 | 91 在线亚洲| 色哟哟av网址| 久久 国产精品 一区| 亚洲色色探花| 欧美综合网A| 0755午夜福利视频| 国产肏屁眼视频| 国产最新AV| 乱人伦 国语对白:视频直接看| 免费簧片在线观看| 欧美性爱中文字幕无线码| 2024年最新色情网站在线观看| 精品国产99999| 丰满丝袜少妇AV| 91国产丝袜美女| 吉川爱美亚洲二区在线| 欧美久久婷婷| 国产无遮挡| 欧美天天谢综合网| 中文字暮97| 青青草九九九九九| 丁香五月久久| 激情第四色| 亚洲黄色网址视频| 日韩一区二区三区四区五区| 亚洲成人久久一区二区| 人人摸.人人色| 亚洲欧美自拍偷拍| 色就色综合| 国产女乱淫真高清免费视频| 岛国在线免费视频| 国产人伦a片信息免费片| 亚洲?V无码专区在线电影| av最新免费中文字幕| 久久久新亚洲AV| 日韩啊V| 精品久久久久久中文字幕三区| 超碰在线欧美性爱激情| 午夜福利无毒不卡| 另类小说综合网|