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

ARTICLE DETAIL

資訊詳情

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

C#串口溫度采集上位機源碼:從字節(jié)解析到實時曲線完整實現(xiàn)

C#串口溫度采集上位機源碼:從字節(jié)解析到實時曲線完整實現(xiàn) 簡介一份基于C#開發(fā)的溫度采集上位機程序源碼專為需要掌握上位機開發(fā)、串口通信及傳感器數(shù)據(jù)讀取的開發(fā)者準備。程序圍繞DS18B20溫度傳感器展開涵蓋初始化、溫度讀取、異常過濾、平均值計算、閾值報警等關(guān)鍵環(huán)節(jié)并采用多線程將UI與數(shù)據(jù)采集分離整體結(jié)構(gòu)清晰適合初學者對照學習也是中高級開發(fā)者快速搭建類似采集系統(tǒng)的參考模板。資源包為zip壓縮格式共2個文件總大小399KB其中rar文件為核心C#源碼工程html文件為解壓密碼及相關(guān)說明便于使用者快速打開工程。已有1281人瀏覽學習說明該資源在工業(yè)自動化、物聯(lián)網(wǎng)溫度監(jiān)測場景中具有不錯的實用價值。通過源碼可同時獲得Windows Forms界面布局、SerialPort串口通信、數(shù)據(jù)持久化存儲等典型實踐有助于系統(tǒng)性提升C#項目開發(fā)能力。1. C# 溫度采集上位機源碼從串口裸數(shù)據(jù)到實時曲線的完整閉環(huán)拿到這份 C# 編寫的溫度采集上位機源碼最直接的用法是接上下位機就能看到實時溫度曲線。下位機每 200ms 通過串口發(fā)一幀數(shù)據(jù)上位機要做的就是把裸字節(jié)解析成溫度值、繪制曲線、落盤存檔再留出歷史查詢的入口。聽起來不復(fù)雜真正跑起來斷幀、亂碼、UI 卡死、串口被占用每一個都能讓人折騰一下午。這份源碼把串口通信、幀解析、實時曲線、CSV 存儲和參數(shù)配置串成了完整鏈路適合做環(huán)境監(jiān)測、設(shè)備聯(lián)調(diào)或產(chǎn)線數(shù)據(jù)采集的開發(fā)者直接改來當基礎(chǔ)工具新手能順著跑通熟手能快速替換協(xié)議和界面。2. 串口鏈路先立住通信參數(shù)、幀協(xié)議與數(shù)據(jù)完整性校驗溫度采集上位機本質(zhì)上是串口數(shù)據(jù)的消費端。下位機單片機或采集模塊把傳感器測到的溫度按固定幀格式發(fā)出來上位機要做的第一件事是把這條鏈路確認清楚。鏈路參數(shù)對不上后面解析、曲線、存儲全是徒勞。拿到這份源碼我建議別急著點擊運行先把通信參數(shù)和幀協(xié)議逐項核對一遍再開始跑數(shù)據(jù)。2.1 通信參數(shù)怎么定波特率、數(shù)據(jù)位與校驗位常見硬件拓撲有兩種一種是 PT100 或熱電偶經(jīng)過變送器轉(zhuǎn)成 RS485 信號接到 USB 轉(zhuǎn)串口模塊再進 PC另一種是單片機直接采樣 DS18B20 或 NTC把溫度值打包成幀從串口發(fā)出。不管是哪種串口參數(shù)都是由下位機固件決定的上位機只能去適配這和網(wǎng)絡(luò)通信里客戶端適應(yīng)服務(wù)端是同一個道理別指望上位機改了參數(shù)下位機就跟著變。參數(shù)常見值適用場景波特率9600抗干擾強長線傳輸優(yōu)先溫度采集完全夠用波特率115200高頻采樣或多設(shè)備輪詢時用但對線材質(zhì)量要求高數(shù)據(jù)位8絕大多數(shù)協(xié)議都是 8 位停止位1常規(guī)配置現(xiàn)場干擾大時個別設(shè)備用 2校驗位None協(xié)議內(nèi)部帶 CRC 時硬件校驗可以關(guān)掉校驗位Even部分老工業(yè)儀表默認偶校驗這里有個容易誤判的點如果下位機協(xié)議已經(jīng)做了 CRC16 校驗硬件校驗位設(shè) None 就夠了再疊一層偶校驗會讓數(shù)據(jù)位多出一個 bit兩邊對不齊反而更亂。確認參數(shù)后數(shù)據(jù)仍然亂碼建議先用串口調(diào)試助手抓原始字節(jié)看幀頭是否和協(xié)議文檔一致再判斷是硬件問題還是解析問題不要一上來就懷疑波特率。2.2 SerialPort 的接收寫法事件驅(qū)動還是輪詢C# 里讀串口有三種常見姿勢。一是 DataReceived 事件數(shù)據(jù)到達時在后臺線程觸發(fā)回調(diào)實時性最好代碼最省二是開一個后臺線程循環(huán)讀配合 ReadTimeout 控制阻塞三是用 SerialPort.BaseStream 做異步讀。多數(shù)溫度采集項目用 DataReceived 就夠了下面的代碼就是這套源碼里的標準寫法。private SerialPort _serialPort; private readonly object _syncLock new object(); public bool InitSerialPort(string portName, int baudRate 9600) { try { _serialPort new SerialPort(portName, baudRate, Parity.None, 8, StopBits.One); _serialPort.DataReceived OnDataReceived; _serialPort.ReadTimeout 200; // 同步 Read 的等待上限防止極端情況卡住后臺線程 _serialPort.Open(); return true; } catch (Exception ex) { Console.WriteLine(串口打開失敗: ex.Message); return false; } } private void OnDataReceived(object sender, SerialDataReceivedEventArgs e) { SerialPort sp (SerialPort)sender; byte[] buffer new byte[sp.BytesToRead]; int count sp.Read(buffer, 0, buffer.Length); if (count 0) { AppendToBuffer(buffer); // 統(tǒng)一進接收緩沖區(qū)由解析邏輯拆幀 } }邏輯說明OnDataReceived 在后臺線程被調(diào)用里面不能直接操作任何 UI 控件。Read 一次把當前緩沖區(qū)里的字節(jié)全部取出BytesToRead 表示此刻串口接收緩沖區(qū)里的字節(jié)數(shù)它并不等于一幀數(shù)據(jù)的長度。數(shù)據(jù)交給 AppendToBuffer 統(tǒng)一入緩沖由后續(xù)拆幀邏輯處理。ReadTimeout 參數(shù)在事件驅(qū)動模式下平時用不上但某些驅(qū)動在異常狀態(tài)下會導致 Read 阻塞設(shè)置一個超時算保險。portName 不要寫死程序啟動時用 SerialPort.GetPortNames() 枚舉當前可用端口做成下拉框讓用戶選。USB 轉(zhuǎn)串口拔插后 COM 號會變寫死端口是本場景最常見的翻車原因之一。提示GetPortNames() 返回的端口名有時帶硬件描述比如 USB-SERIAL (COM3)解析時只取括號里的 COM 號即可。2.3 幀協(xié)議與校驗CRC16 計算和緩沖區(qū)拆幀串口是流式協(xié)議不保證一次收到完整一幀上位機必須自己維護緩沖區(qū)按幀協(xié)議做字節(jié)對齊。這套源碼里的幀格式如下AA 55 幀頭設(shè)備地址 1 字節(jié)溫度數(shù)據(jù)兩個字節(jié)高字節(jié)在前最后是 CRC16 低字節(jié)在前、高字節(jié)在后的雙字節(jié)校驗整幀 7 字節(jié)。幀頭選 AA 55 這類在二進制數(shù)據(jù)里出現(xiàn)概率低的組合能明顯降低誤判。public static ushort Crc16Modbus(byte[] data, int length) { ushort crc 0xFFFF; for (int i 0; i length; i) { crc ^ data[i]; for (int j 0; j 8; j) { if ((crc 0x0001) ! 0) crc (ushort)((crc 1) ^ 0xA001); else crc 1; } } return crc; }邏輯說明這是 Modbus RTU 標準的多項式算法初始值 0xFFFF。調(diào)用時傳入幀中除去校驗字節(jié)的部分即前 5 個字節(jié)算出的結(jié)果與幀尾 2 字節(jié)比較一致才認為這一幀有效。CRC16 能檢出單比特和大部分多比特錯誤工業(yè)現(xiàn)場強烈建議保留不要圖省事用所有字節(jié)求和取低 8 位的累加校驗抗干擾能力差一個量級。拆幀邏輯集中在一個循環(huán)里完成核心代碼如下private Listbyte _recvBuffer new Listbyte(); private void AppendToBuffer(byte[] data) { lock (_syncLock) { _recvBuffer.AddRange(data); TryParseFrame(); } } private void TryParseFrame() { const int FRAME_LEN 7; while (_recvBuffer.Count FRAME_LEN) { int headIndex _recvBuffer.IndexOf(0xAA); if (headIndex 0) { _recvBuffer.Clear(); // 連幀頭都沒有清掉避免內(nèi)存膨脹 return; } if (headIndex 0) { _recvBuffer.RemoveRange(0, headIndex); } if (_recvBuffer.Count FRAME_LEN) { return; // 幀頭已找到但數(shù)據(jù)不完整等下一批 } if (_recvBuffer[1] ! 0x55) { _recvBuffer.RemoveAt(0); // 第二字節(jié)不是幀頭丟一個字節(jié)重新對齊 continue; } ushort calcCrc Crc16Modbus(_recvBuffer.ToArray(), 5); int low _recvBuffer[5]; int high _recvBuffer[6]; ushort recvCrc (ushort)((high 8) | low); if (calcCrc ! recvCrc) { _recvBuffer.RemoveAt(0); // 校驗失敗丟掉當前字節(jié)繼續(xù)對齊 continue; } byte address _recvBuffer[2]; short rawTemp (short)((_recvBuffer[3] 8) | _recvBuffer[4]); double temperature rawTemp * 0.1; OnFrameParsed(address, temperature); // 觸發(fā)業(yè)務(wù)事件 _recvBuffer.RemoveRange(0, FRAME_LEN); // 消費掉完整幀 } }邏輯說明IndexOf 定位幀頭 0xAA幀頭前的殘留字節(jié)直接清掉幀頭后第二字節(jié)不是 0x55 就丟掉一個字節(jié)繼續(xù)找?guī)^匹配且長度夠 7 字節(jié)后先算 CRC16對不上就丟第一個字節(jié)重新對齊而不是整段清空——這樣最多丟一幀不會把后面連續(xù)有效的數(shù)據(jù)全廢掉。解析完成后通過 OnFrameParsed 事件拋出去上層只關(guān)心溫度值不碰字節(jié)邏輯。這個循環(huán)里 while 而不是 if 是關(guān)鍵。如果緩沖區(qū)里同時到了兩幀半的數(shù)據(jù)while 會連續(xù)消費掉完整幀直到剩余字節(jié)不夠一幀才退出。真遇到頻繁誤判先懷疑協(xié)議設(shè)計幀頭選得太常見比如 0xFF就必須改用更長幀頭或加設(shè)備地址預(yù)校驗。3. 溫度解析與實時展示從 byte[] 到 Chart 控件的完整實現(xiàn)鏈路通了之后核心就是三件事解析、展示、存儲。這一章按數(shù)據(jù)流向展開把溫度值怎么從兩個字節(jié)變成人看得懂的曲線和表格講清楚。解析層保持獨立是最重要的——不要在前面 TryParseFrame 里直接寫 UI 代碼否則后面加存儲、加多通道都會被迫改動拆幀邏輯。3.1 溫度值解析字節(jié)拼接、符號位與單位換算溫度數(shù)據(jù)在串口幀里通常以定點數(shù)傳輸而不是浮點數(shù)。原因是浮點數(shù)占 4 字節(jié)且字節(jié)序在不同平臺上容易出錯定點數(shù)用 short 表示單位 0.1°C解析簡單還省帶寬。上面幀協(xié)議里 rawTemp 是帶符號 short范圍 -32768 到 32767乘 0.1 后能覆蓋 -3276.8°C 到 3276.7°C對溫度采集綽綽有余。private double ParseTemperature(byte highByte, byte lowByte) { // 高低字節(jié)拼成帶符號 16 位整數(shù)單位 0.1°C short raw (short)((highByte 8) | lowByte); double celsius raw * 0.1; // 合理性過濾把明顯越界的值擋在業(yè)務(wù)層外面 if (celsius -50 || celsius 150) { return double.NaN; // NaN 在曲線和表格里會被跳過不畫出毛刺 } return celsius; }邏輯說明(highByte 8) | lowByte 是大端序拼接如果下位機發(fā)的是小端序低字節(jié)在前要改成 (lowByte 8) | highByte。C# 的 short 是帶符號的若下位機用 ushort 表示溫度0xFFFF 是某個大正數(shù)而不是 -1就必須換成 ushort 再轉(zhuǎn) double。還有一點容易踩byte 在運算時會隱式提升為 int(highByte 8) 的結(jié)果是 int直接賦給 short 需要顯式強轉(zhuǎn)不然編譯報錯。合理性過濾這塊很多人想省但實際非常有用。工業(yè)現(xiàn)場偶爾會出現(xiàn)設(shè)備上電瞬間的異常值或者通道懸空時的 0xFFFF如果不擋曲線圖上會蹦出一根直插天際的毛刺回放歷史數(shù)據(jù)時特別扎眼。過濾閾值按你實際的量程范圍設(shè)不一定非用 -50 到 150。3.2 Chart 實時曲線滾動窗口與跨線程刷新WinForms 的 Chart 控件畫實時曲線核心是兩點跨線程更新和點數(shù)裁剪??缇€程問題在事件驅(qū)動的串口讀取里必然出現(xiàn)因為 OnDataReceived 跑在后臺線程直接操作 chart1.Series 會拋跨線程異?;蚺及l(fā)崩潰。chart1 上需要先建一個名為 Temperature 的 Series可以在窗體設(shè)計器里加也可以在 Load 事件里用 chart1.Series.Add(Temperature) 創(chuàng)建。private void UpdateChart(double temperature, DateTime time) { if (chart1.InvokeRequired) { chart1.Invoke(new Action(() UpdateChart(temperature, time))); return; } Series series chart1.Series[Temperature]; series.Points.AddXY(time, temperature); // 滾動窗口最多保留 3000 個點超出后從頭部刪 while (series.Points.Count 3000) { series.Points.RemoveAt(0); } // X 軸跟隨最新時間滾動只顯示最近 5 分鐘 DateTime maxTime time.AddSeconds(5); chart1.ChartAreas[0].AxisX.Maximum maxTime.ToOADate(); chart1.ChartAreas[0].AxisX.Minimum maxTime.AddMinutes(-5).ToOADate(); }邏輯說明InvokeRequired 判斷當前線程是否和創(chuàng)建控件的線程一致不一致就用 Invoke 把更新切回 UI 線程。這個模式是串口上位機里最穩(wěn)妥的跨線程寫法比手動維護 delegate 簡單。AddXY 的 X 軸值是 DateTimeChart 控件內(nèi)部會轉(zhuǎn)成 OADate 數(shù)值所以手動設(shè)置 AxisX.Maximum/Minimum 時也要先 ToOADate()否則軸范圍設(shè)置會錯位。點數(shù)裁剪用 while 循環(huán)刪頭部。實際性能瓶頸不在刪點而在 Chart 控件重繪所以更新頻率要控制。如果每幀都觸發(fā)曲線刷新200ms 一幀就是每秒 5 次能跑但沒必要。我一般會加一個刷新節(jié)流數(shù)據(jù)解析和存儲逐幀完成UI 用 System.Windows.Forms.Timer 每 500ms 拉一次最新值刷曲線和數(shù)值框。這樣做還有一個附帶好處UI 刷新頻率和數(shù)據(jù)采樣頻率解耦之后要調(diào)采樣率不用動界面代碼。3.3 數(shù)據(jù)落盤CSV 高頻寫入的緩沖策略溫度采集是長時間運行的任務(wù)數(shù)據(jù)落盤不能每幀都打開文件寫一次磁盤 IO 會成瓶頸SSD 也被頻繁小寫傷到。常規(guī)做法是內(nèi)存里攢夠一批再寫代碼里用 StringBuilder 做緩沖。private StringBuilder _csvBuffer new StringBuilder(); private int _csvBufferedCount 0; private const int FlushThreshold 100; // 攢夠 100 條寫一次文件 public void AppendCsvRecord(DateTime time, double temperature) { if (double.IsNaN(temperature)) return; // 過濾后的異常值不落盤 _csvBuffer.AppendLine( string.Format({0:yyyy-MM-dd HH:mm:ss.fff},{1:F2}, time, temperature)); _csvBufferedCount; if (_csvBufferedCount FlushThreshold) { File.AppendAllText(_csvPath, _csvBuffer.ToString(), Encoding.UTF8); _csvBuffer.Clear(); _csvBufferedCount 0; } } public void FlushCsv() { if (_csvBuffer.Length 0) { File.AppendAllText(_csvPath, _csvBuffer.ToString(), Encoding.UTF8); _csvBuffer.Clear(); _csvBufferedCount 0; } }邏輯說明File.AppendAllText 每次調(diào)用會打開、寫入、關(guān)閉文件一次100 條一攢就是把 100 次 IO 合并成 1 次。FlushCsv 必須在窗體關(guān)閉時調(diào)用否則最后不足 100 條的數(shù)據(jù)會丟。文件名建議帶日期比如 Temperature_20250712.csv一天一個文件后續(xù)歸檔和按月整理都很方便。長期運行且有查詢需求的項目可以換成 SQLite但如果交付目標只是讓用戶能用 Excel 打開數(shù)據(jù)CSV 是最省事的。提示程序被任務(wù)管理器強殺時緩沖區(qū)里未落盤的記錄會丟。數(shù)據(jù)完整性要求高的場景把閾值降到 20 左右再配合進程退出時的 Flush 兜底。4. 踩坑與排查串口亂碼、斷幀、UI 卡死等五個高頻問題溫度采集上位機項目不大但坑極多而且很多坑只在跑了一兩個小時甚至過夜后才暴露。下面五條是這套源碼對應(yīng)場景里最高頻的問題每條按現(xiàn)象、原因、解決三部分拆開寫調(diào)試時可以直接對著查。4.1 串口層的三個坑亂碼、斷幀與設(shè)備掉線坑一解析出來的溫度偶爾跳變曲線帶毛刺現(xiàn)象溫度值大部分時間正常但每隔幾秒冒出一個 -273.15 或 65535 之類的異常值回看 CSV 也能找到這些臟數(shù)據(jù)。原因兩種情況。一種是上位機把串口數(shù)據(jù)當字符串讀了用 Encoding.ASCII 或 Default 去解碼二進制幀字節(jié)對不上自然亂另一種是下位機發(fā)送的數(shù)據(jù)里那一幀本身就是設(shè)備上電或復(fù)位瞬間的未定義值上位機沒做合理性過濾。解決二進制幀全程用 byte[] 處理任何環(huán)節(jié)都不要轉(zhuǎn) string。解析側(cè)保留合理性過濾超出物理范圍的值直接返回 NaN 丟棄。還有一個檢查技巧把異常值出現(xiàn)的時刻和下位機設(shè)備日志對比如果每次都出現(xiàn)在上電瞬間說明是設(shè)備側(cè)問題上位機只需要做到不把臟數(shù)據(jù)畫上曲線??佣粠瑪?shù)據(jù)被拆成兩三次收到解析大面積失敗現(xiàn)象DataReceived 觸發(fā)時 BytesToRead 只有 3~4 個字節(jié)如果按收到字節(jié)即完整幀去解析每次都差幾個字節(jié)日志里全是解析失敗記錄。原因串口是流式協(xié)議字節(jié)到達時間取決于發(fā)送方和驅(qū)動事件觸發(fā)的是有數(shù)據(jù)可讀不是一幀完整到達。解決緩沖區(qū)累積模式每次讀到的字節(jié)先追加再去緩沖區(qū)里找完整幀對應(yīng)本章 TryParseFrame 的 while 循環(huán)邏輯。幀頭找到了但長度不夠就等下一批字節(jié)。接收緩沖區(qū)要加超時清空策略超過 2~3 秒沒有新數(shù)據(jù)把半截幀丟棄否則設(shè)備重啟后發(fā)的第一幀會和殘留字節(jié)拼成錯幀??尤诖虿婚_或者跑著跑著設(shè)備掉線現(xiàn)象程序啟動時 Open() 拋異常提示端口被占用或者 USB 轉(zhuǎn)串口連接的下位機半夜斷連第二天早晨數(shù)據(jù)斷檔一整段。原因端口被占用多數(shù)是上一次程序異常退出時沒釋放掉線的元兇經(jīng)常是 Windows 電源管理把 USB 設(shè)備休眠了USB 轉(zhuǎn)串口芯片和電腦之間的連接被系統(tǒng)掐斷。解決Open() 用 try/catch 包裹并在界面上給出明確提示程序退出時釋放串口資源代碼里統(tǒng)一寫在窗體關(guān)閉事件里。protected override void OnFormClosing(FormClosingEventArgs e) { if (_serialPort ! null _serialPort.IsOpen) { _serialPort.Close(); _serialPort.Dispose(); } FlushCsv(); base.OnFormClosing(e); }同時在設(shè)備管理器里把對應(yīng) USB 根集線器的允許計算機關(guān)閉此設(shè)備以節(jié)約電源勾掉。代碼層面再加一層防護定時發(fā)心跳查詢命令超過 N 秒沒回應(yīng)就自動重連這個邏輯對長時間無人值守的采集站是剛需比人工半夜起來拔插 USB 靠譜得多。4.2 界面層的兩個坑UI 卡死與曲線內(nèi)存暴漲坑四程序跑起來界面卡頓拖窗口像幻燈片現(xiàn)象數(shù)據(jù)刷新看著正常但界面響應(yīng)極差鼠標拖動窗口延遲明顯點下拉框要反應(yīng)半天。原因跨線程更新沒正確編組或者解析存儲邏輯直接放在 UI 線程。DataReceived 回調(diào)里如果同步操作 Chart、TextBox后臺線程和 UI 線程互相搶資源界面就被拖死。解決解析和存儲全放后臺線程UI 只根據(jù)最新溫度值刷新??缇€程統(tǒng)一用 InvokeRequired Invoke 模式更推薦的做法是定時器節(jié)流刷新500ms 更新一次數(shù)值和曲線UI 線程負載降下來整個程序就順了。還有一個容易被忽略的細節(jié)串口調(diào)試階段加的 Console.WriteLine 在頻繁調(diào)用的路徑上會拖慢程序正式跑之前記得刪掉或注釋。坑五跑一晚上內(nèi)存漲到幾個 G最后崩掉現(xiàn)象程序啟動時內(nèi)存 50MB運行 8 小時后到 3GB曲線越來越遲鈍最終無響應(yīng)。原因Chart 控件的 Points 無限累加畫了幾十萬個點也不做裁剪同時每次刷新時反復(fù)綁定 DataSource強制控件全量重繪內(nèi)存和 CPU 一起爆。解決限制 Points 數(shù)量超出滾動窗口就 RemoveAt(0)刷新用定時器節(jié)流繪制用 AddXY 追加避免重復(fù)綁定 DataSource。如果采集頻率很高比如 10ms 一幀建議把歷史數(shù)據(jù)落盤后從曲線里淘汰曲線只保留最近時間段全量數(shù)據(jù)交給 CSV 或數(shù)據(jù)庫別讓 UI 控件扛全量。5. 進階落地離線回放、多設(shè)備輪詢與 CSV 導出的三個實戰(zhàn)技巧鏈路穩(wěn)定跑起來之后有三件小事能讓它從能用的工具變成省事的生產(chǎn)工具。都是小改動但日常維護和排查問題時的體驗完全不一樣。5.1 原始字節(jié)留檔排查現(xiàn)場問題的后悔藥private FileStream _rawLogStream; private void InitRawLog() { string file raw_ DateTime.Now.ToString(yyyyMMdd_HHmmss) .bin; _rawLogStream new FileStream(file, FileMode.Append, FileAccess.Write); } private void OnDataReceived(object sender, SerialDataReceivedEventArgs e) { SerialPort sp (SerialPort)sender; byte[] buffer new byte[sp.BytesToRead]; int count sp.Read(buffer, 0, buffer.Length); if (count 0) { _rawLogStream.Write(buffer, 0, count); // 原始字節(jié)留檔 _rawLogStream.Flush(); AppendToBuffer(buffer); } }現(xiàn)場數(shù)據(jù)對不上、曲線莫名跳變的時候手里有原始字節(jié)流就能在開發(fā)機上離線重放復(fù)現(xiàn)解析邏輯的問題不用跑到現(xiàn)場接設(shè)備盲猜。二進制日志按天切換文件名避免單文件過大?;胤艜r把文件里的字節(jié)按同樣節(jié)奏喂給解析函數(shù)配上時間戳打印問題定位很快。5.2 多設(shè)備擴展按地址分表管理前面幀協(xié)議里的第二字節(jié)是設(shè)備地址。要接多路溫度不需要改串口鏈路只要在解析層加一個字典把不同地址的幀分發(fā)到不同通道。private Dictionarybyte, ChannelData _channels new Dictionarybyte, ChannelData(); private void OnFrameParsed(byte address, double temperature) { if (!_channels.ContainsKey(address)) { _channels[address] new ChannelData(address); } _channels[address].Push(temperature); }ChannelData 內(nèi)部維護自己的曲線序列和 CSV 文件界面列表按行刷新即可。要注意如果下位機是上位機發(fā)查詢命令才回數(shù)據(jù)的請求應(yīng)答模式還需要加一個查詢隊列輪流發(fā)送查詢幀每個通道一個超時計時器超時重發(fā)兩次再標記斷連。這套邏輯加進去后單機掛載的通道數(shù)取決于波特率和輪詢周期9600 波特率下輪詢 8 個通道、每通道秒級更新是可以接受的。5.3 CSV 導出 Excel 不亂碼BOM 頭那點事用 UTF-8 編碼直接寫 CSV在 Excel 里打開大概率亂碼因為 Excel 默認按本地 ANSI 碼頁解碼。解決方法是文件開頭寫一個 BOM 標記。File.WriteAllText(path, \uFEFF csvContent, Encoding.UTF8);\uFEFF 是 UTF-8 的字節(jié)序標記。加了它Excel 能正確識別編碼中文表頭和溫度數(shù)值都正常顯示。如果交付對象明確要求 GB2312用 Encoding.GetEncoding(GB2312) 寫也可以但默認情況下優(yōu)先 UTF-8 with BOM跨平臺兼容性更好記事本、WPS、Excel 都能正確打開。從那以后我每次寫串口上位機都把原始字節(jié)留檔列為第一步哪怕協(xié)議再簡單也先抓幀再寫解析。少了現(xiàn)場往返的折騰也少了很多看起來對不上號的玄學問題。這套源碼的工程文件、協(xié)議注釋和配置示例是配套的按這篇的順序把端口參數(shù)和幀協(xié)議改成一比一對應(yīng)再處理好 UI 刷新策略基本就能穩(wěn)定跑起來。希望幫到你。本文還有配套的精品資源點擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
97超碰色屌| 啊啊啊啊啊在线| 天天综合网~91| 2024人人操人人摸| 性色综合网| 120分钟婬片免费看| 超碰久超碰久| 97综合国产精品高潮久久| 亚洲αv一区二区三区| 秋霞一区二区三区四区五区六区七区| 综合操逼| 日本欧美一区二区三区视频麻豆| 强奸熟女一区二区三区| 国产亚洲精品自在线亚洲情侣| V A在线| 中文字幕中文字幕一区二区| 性交一区二区在线播放| 成人精品视频| 草久久久| 色婷婷丁香五月| 少妇久久久久久久久| 激情视频一二三| 久久无码电影| 曰韩人妻中文字幕在线| 成人无码在线视频网站| 粉嫩AV一区二区夜夜| 日本 成 人 小说 电影 一区二区| 尤物av网站免费在线播放| 欧洲精品一区二区三区| 成人性爱电影网| 天久久久噜噜噜久久国产精品爽爽 | 大香蕉综合网| A片大香蕉在线| 免费超碰97久久| 国产精品一区二区三区在线密挑| 黄片免费视频2019| 日韩不卡在线一区二区| 99re久久| 91老司机在线视频免费观看| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 骚逼高潮久久精品| 精品国产www久久| 久久精品 六十路 熟女 欧美| 国产精品在线一区二区| 久久大线蕉一区| 亚洲国产综合久久久性感熟妇| 97超碰日韩| 国产伦精品| 日本孕妇孕交| 亚洲欧美不卡线| 97天天摸天天爽| 日本大香蕉综合网| 麻豆精品.欧美精品.日韩精品.| 超碰97在线中文| 91欧美情色| 五月天久久人妻| 亚洲精品九九九| 91成人18| 91福利网在线观看| 91无码西班牙视频在线| 最新中文字幕精品在线| 青娱乐日韩无码| 日韩精品中文字幕二区| 丰满人妻一区二区三区免费,| 国产又操| 国产精品老师| 亚洲国产一区二区三区在线 | 亚洲天堂一区二区| 免费男人的天堂| 久 久无码人妻AV| 亚州综合网| 一级特黄aaa大片在线观看成人一级片在线观看 | 粉嫩小泬久久久一区二区| 中文字幕在线观看AV| 伊人97色天使| 2020中文字幕在线| 一二三四区电影| 爱妻综合网| 欧美草草高清日韩视频| 91av熟女人妻| 国产精品视频精品一二| 99色在线视频| 五十路二区在线| 天天摸天天舔天天操| 精品97久久| AV和黑人在线播放| 色五月婷婷五月天| 夜夜黄| 日本Suv精品一区二区| 操逼网站网站| 欧洲精品一区二区三区| 国内毛片欧美香蕉精品| 99这里有精品视频| 在线观看午夜婷婷久久久久清性观看| 欧洲黄色网| 伊人久久在线视频观看| 色播综合| 免費人妻夜夜爽天天爽爽一区| 欧美综合狠| 亚洲精品国语在线播放| 久妇网| 成人精品视频| 成人日本视频人妻在线| 蜜臀99999| 96麻豆精品一区二区三区| 黄在线| 亚洲av淫乱| 91日日| 亲子敌伦对白在线播放| 久久久久久AV无码免费网站| 成人在线永久| 日韩免费三级黄片电影| 伊人综合色网| a级免费在线观看| 国产AV高清AV无码| 91国产丝袜白虎| 大香蕉日韩| 日本精品高清一二区一本到| 性性欧美| 女人被男人桶爽视频网站| 久久久成人国产精品无码| surenchaopeng| 9色国产精品一区粉嫩| 91婷婷| 欧美丝袜91| 无码聚合| 大香蕉视频啪啪啪啪| 亚洲成人综合在线| 殴美色网| 亚洲一区二区专区-国产丝袜精品丝袜-成人AV | 岛国黄片网站| 刺激精品视频| 日韩成人精品| 我要色综合网站| 日本午夜福利影院| 精品人妻一区二区三区不卡断 | 欧美日韩不卡传媒| 色女网日韩| 亚洲国产精品无码AV久久久| 伊人96在线| 在线岛国新天堂8| 中文字幕精品资源在线| 97久久久久| 久久乐| 91免费看一区二区三区| 久久綜合很很很| 精品欧美А∨无码黑人大荫蒂 | 天天天天天干夜夜夜夜夜操| 视频不卡中文字幕| 亚洲视频一二区| 欧美,日韩,亚洲视频| 强奸熟女一区二区三区 | 欧美自拍网| 欧美后进式| 校园春色美腿丝袜| 日韩草久视频| 国产精品久久久久久照片| 亚洲日韩东京热一区| 熟女人妻一区二区三区| 亚洲一区日韩精品中文字幕| 69丨亚洲丨精品丨入口免费播放| 丁香六月激情综合| 蜜臀久久99精品久久久久久婷婷| 九九九午夜| 美女极品一区二区三区| 九九九九国产| 2020天天色综合| a男人的天堂| 中国一级特黄大片护士| 精品在线78| 黄色乱论网站| 人人乐大香蕉| 国产尤物AV尤物在线观看不卡| 青草伊人网| 久草精品国产蜜臀| 农村妇女一级二级三级视频| 性影在线视频| 国产激情在线| 人妻五十路在线| 九九成人| 国产精品久久久三级无码| 热99这里有精品综合久久| 1024午夜激情男人的天堂| 亚洲欧美在线观看免费| 国产品精品自在在线午夜免费| 亚洲第91页 | 精品丰满熟妇人妻一区| 怡春苑东京热| 人妻在线臀日韩| 欧美精品999| 欧美性爱中文字幕无线码| 夜夜爽夜夜操| 东北老熟女| 性性欧美| 亚洲精品美女操逼| 久久国产精品熟女人妻| 夜夜高潮夜夜爽高清视频一| 精品久久久中文字幕不| 淫妻综合网| 亚洲成人碰碰| 丰满人妻一区二区三区四| 欧美激情中文字幕另类小说| 国产成人bd在线观看| 欧美黄色手机在线观看| 偷拍亚洲| 亚洲国产ⅴ高清在线观看| 欧美综合网| 无毛精品| 蜜桃臀久久| 中文一区二区婷婷视频| 五月婷婷综合在线| 天天舔天天 | 四虎在线免费视频| 天美麻豆黄色录像| 日本免费二区三区| 日本精品加勒比海一区| 久久99国产精品| 婷婷爽人人婷婷爽视频| 蜜臀99久久| 亚洲另类春色| 欧美人人操人人插| 亚洲精品三| 亚洲啪啪性视频| 天天躁日日躁AAAXX| 欧美性爱五月天| 再深点灬舒服灬太大了好硬好爽| 成人片在线播放| 婷婷五月色| 天天干美少妇一区| 国产91精品久久久久久久网曝门| 国产肏屁眼视频| 二三四区精品| 日本亚洲嫩草影院啪啪| 波多野结衣AV无码一区| 做爱A级亚欧| 第一高清av中文字幕| a网站免费观看| 手机不卡视频不卡在线一二三区| 99色婷婷中文字幕乱色| 久久久久久久久国产| 亚洲不卡一| 亚洲青色欧美| 怡红院成人视频| 精品国模无码| 8050无码八戒| 区一在线观看| 青青五月天| 蜜乳AV免费观看| 性开放中文AV高清无码免费看| 中文字幕精品资源在线| 国产视频三区四区| 物业黑人 AV一区| 啊啊啊操死我| 成人美女av| 中文字幕123| 九九伊人网| 激情五月丁香五月| 九九九九日本 | 人妻99p| 色哟哟的毛片| 久久人体一区二区| 国产高清视频无码在线| 欧美做爰无码A片视频| 国产天天骚| 青青草国产一区二区三区| 亚洲日韩国产精品| 丁香五月天堂网| 九一精品牛牛一区二区| 亚洲日韩天堂| 96精品在线| 99热线麻豆 | 日韩av色图综合| 97超碰9| 亚洲最新av无码成人精品区| 中文字幕精品丝袜| 久久国产乱子伦精品免费女,网站| 999精品国产高清一区二区| 久久婷五月天| 大但人体久久久久| 免费一级a毛片久久久久久鸭绿欲 国产精品亚洲天堂网址 | 天天日B狠狠操| 欧美 日韩第一性色| 日本性爱欧美性爱| 91是天天| 国产h小视频在线观看免费| 大伊香蕉在线视频免费| 骚货操死你| 欧美性爱一级操| 鸥美插入视频| 午夜激情成人在线观看| AV天堂电影网| 亚洲国产av中文字幕久久| 一区,二区,三区网站| 男人的天堂VA| 狠狠爱综合网| 综合网欧美| www.狠狠干.coom| 亚洲欧美综合| 天天日天天舔东京热 | 一区中文字幕二区日韩| 欧亚日韩综合精品国产| 无套内射人妻在线播放| 九九九九97| 欧美劲爆第一页| 黑人精品XXX一区一二区| 中文字幕精品免费一区二区| 国产精品久久久视频| 精品午夜福利| 国产suv精品一区二区四区999| 大香蕉99999| 6080yy午夜理论三级一区二区三区无码| 国产农村妇女毛片精品久久| 天天插天天插| 蜜臀一区二区三区在线 | 疯操AV| 亚洲欧美国产日本一区二区三区| juliaann丝袜| 91影视亚洲| 91粉嫩萝控精品福利网站_精品影音先锋国 | 伊人久久大香线综合无码| 韩三级a视频在线观看 | 18禁的网站在线| 欧美草草高清日韩视频| av操操不卡| 久操av在线| 色综合久久久久| 国产无码成人无码| 久久精品电影| 欧美制服网站美腿丝袜| 蜜乳av一区二区| 91九色丰满高潮| 好淫网一二三视区| 国产女人操逼视频| 欧美日韩1234| 亚洲欧美变态| 嗯……啊…嗯嗯…啊…好舒服| 欧美强奸乱能| 中国一级αV| 啊啊啊啊啊啊啊网址在线观看| 欧美后进式| 亚洲精品国产熟女| 91综合网| 少妇久久久久| 夜夜免费视频| 久久亚洲不卡一区二区三区| 熟女人妻av在线资源,黄色的资源| 岛国毛片在线观看免费| 少妇久久久久久| 超碰在线97国产| 91美女丝袜诱惑视频| 精品一区二区在线针对华人免费观看这里只有精品免费观看 | 2019午夜福利视频| 欧美97在线观看| 日本福利二区视频| 九九干| 国产 日韩 欧美一区| 欧美最大综合网| 五月天色电影| 久久夜嗨| 久久色激情一区二区三区| 国产精品久久久久久久久AV大片 | 色综合加勒比四四季| 成人网址在线观看| 人妻精品视频一区二区| 国产精品成人蜜臀AV在线| 人人干人人操人人爱| 亚洲精品91| 加勒比东京热五月天天堂网| 欧美伦乱爱| 熟妇一区二区三区| 久久免费中文字幕在线观看| 日本超碰在线国产一区| 婷婷尹人大香蕉免费| 无码国产精品午夜不卡(| 午夜无码精品免费看性色| 日本性爱视频一级| 日韩欧洲操屄视频| 欧美一级黄色免费专区| 秋霞色色影院| 一级做a爰片性色毛片久久| 色综91| 国产99999| 日本色日夜干| 日本一级特级毛片视频| 色综合一本| 欧美后入| 东京热视频网| 高清成年美女黄网站免费大全| 少妇一区二区三区精选| 草草影院日本第一页| 日韩精品碰碰| 五月丁香六月婷| 久热这里| 亚洲综合码| 在线观看视频91| 99在线啪| 夜夜嗨视频| 爱妃国产亚洲视频中文字幕| 无码人妻精品一区二区中文| 亚洲国产麻豆一区二区三区| 日本日逼视频网| 日本三级韩三级99久久| 影音综合网| 999 久久久| 熟女久久| 黄色AV免费| 操日韩第| 亚洲欧洲偷拍一区| 超碰中文字幕人妻草一区| 蜜臀一二三| 易易A毛视频| 欧美18老人禁| 91三级理论片播放器| 欧美成人一区二区三区在线播放| 口爆综合网| 久久久18禁| 色婷婷日韩精品一区二区三区| 麻豆av一区二区| 午夜男女爽爽爽影院视频| 人人人人插| 超碰在线99| 草蕉影视亚洲无码| 嗯嗯啊啊啊好爽| 亚洲精品乱码线路中文字幕| 欧美 亚洲 偷拍自拍| 成人AV素股で擦久久| 日韩三级性| 在线日韩日本亚洲国产| 久久久成人国产精品无码| 蜜桃精品一区二区三区ww| 色香伊人| 强奸乱伦AV一天堂网| 久久久久久精品免费看A级| 久久国产精品91| 色婷婷一区二区三区久久午夜 | 亚洲情色1区| 久久噜噜噜精品国产亚洲综合| 欧美精品宗合| 99热综合| 亚洲区小说| 草草影院日本第一页| 日韩在线视频1234| 久久精品国产97欧美精品亚洲 | 青草一区二区| aⅴ日韩成人电影av在线免费看av大全| 91蜜臀在线久久久久| 天天综合网亚洲综合网| 岛国黄色短视频| 欧美亚洲丝袜美女电影| 最近二区三区视频大全| 久久九九网| 成年人免费观看网站| 欧美性爱18观看| 中文字幕日韩国产传媒欧美精品| 黄页网站成人免费| av资源在线观看少妇| 天天综合网~91入口| 国产v片在线免费观看| 色性综合| 日日摸天天爽夜夜欢| 九九色婷婷| 婷婷五月天色网| 国产久久av| 歐美性天天| 樱花蜜乳av| 神马久久久久久久久久| 日韩熟女操逼| 亚洲av热热色| 亚洲日韩美国人妻| 久久视频,这里只有精品| 中国少妇XXXX做受| 91丝袜在线视频| 日本欧美一区二区三区免费| 一区二区三区色综合| 琪琪精品免费一区二区三区 | A片大香蕉在线| 4141514逼喷水三级片| 日产操逼| 99re95| 夜夜操青青草| 蜜桃臀一区二区aV| 性爱综合网| 干少妇视频| 人妻天天爽夜夜爽爽| 伊人网免费视频| 欧美五区| 玖玖爱免费观看视频| 999久久芭蕾| 久9热| 屁股久久久久久久久久| 一区中文字幕二区日韩| 日韩一级成人毛片免费观看 | 久久久久久99AV无码免费网站| 99久久综合| 国模无码一区二区三区在线| 男人的天堂Va| 夜夜操av亚洲一区二区| 亚洲av综合色| 国产精品一区二区三区免费视频| 色爱综合网欧美| 1769一区二区| 天天噜| 在线亚洲丝袜视频网站| 91大学精品激情戏| 欧美精品一区二区少妇免费A片| 青操影院| 91在线美女| 国产激情av女片自拍| 天天网综合| 涩涩久久精品| 免费看污网站| 动漫爆乳3D奶水一区在线观看| 欧美激情久操网| 欧美色图在线视频少妇| 日本伦理一区二区| 久久久五月天| 中文字幕一区电影在线观看| 91天天| 少妇蹲下买菜露大唇0| 色精品极品| 免费黄色A片| www.色吧5.com| 天天综合网~91| 91色伦综合| 熟女丝袜视频| www.久久爱| 大香蕉专区| 成人小说另类在线| 亚洲人妻爽爽爽| 亚洲鸥美色图| 国产又大又粗又色生活片亚洲国产精品成人久久久综合免费 | 精品人妻少妇| 精品无码一区二区人妻久久蜜桃| 综合网欧| 高树玛利亚无码流出| 久热99| 日韩欧美字幕亚洲一区二区| 小日子操bb在线看| 国产无码三级视频在线观看| 麻豆视频一区二区| 亚洲一区二区av| 亚州精品人妻一二三区| 色眯眯av| 久久久久国产| 日本黄色裸日本黄色裸体| www.狠狠干.coom| 亚洲另类在线观看| 超碰免费人人| 婷婷色网| 九九热免费视频| 亚洲中文字幕av| 日韩国产中文字幕| 久热久| 日本免费中文一区二区三区四区 | 亚洲精品久久久久久| 天天干人妻| 欧美亚洲se91| 97丝袜亚洲在线播放| 9长久久精品| 九九国产热| 伊人精品国产| 夜夜嗨一区二区三区三州加勒比 | 国产成人无码久久精品| 午夜色婷婷| 色99视频| 中文字幕一区二区三区蜜臀| 久久一留热品黄| 欧美 青青草| 91九九九小逼| 黑人干亚洲| 欧美色爱综合| 国产精品福利视频| 无码高清少妇久久| 亚洲欧美在线观看2021| 日韩国产中文字幕| 国产黄a三级三级三级av在线看 | 澳门黄片一香蕉视频| heyZO天然素人无码AⅤ专区| 免费观看的黄色的网站| 日韩中文欧美| 亚洲码和欧洲精品激情系列| 国产青青美女玩逼视频| 男人天堂无码| 激情婷婷综合久久| 乱伦1色页| 九九亚洲视频| 75大香蕉| 99少妇| 欧洲性爱无码区| 欧美大香蕉同搞| 99热在线观看| 磁力99AV| 国产精品一区二区三区在线| 天天干天天舔| 亚洲综合色婷婷| 国产传媒日本欧美专区| 青青草中日韩在线| 放黄片放3级黄片没穿衣服| 成人AV超碰免费在线| 黑人黄片在线免费观看| 色女网日韩| 青青青草伊人精品| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 91站街按摩店老熟女熟女| 精品人人| 亚洲,欧美,综合网| 欧美Aⅴ| 激情五月天视频| 精品176精品2| 亚洲牲交| 狠狠爱综合网| 男女性扦B| 人人性爱视频免费| 天天操夜夜操| 国产97在线播放| 中文字幕一区二区日韩网| 99色色网| 日日AAvv| 强奸乱伦日韩AV| 人妻大相焦在线| 国产熟女精品一区二区| 五月香婷婷| 久久 久久国内精品亚洲| 国产精品高潮久久久无码| 热九九精品| 欧美人妻另类在线| 久久东京伊人一本到鬼色| 91n美女视频| 怡红院成人视频| 免费看日产一区二区三区| 91N综合在线| se吧提供国产乱老熟视频胖女人| 91丨国产丨白浆| 香港久久久| 国产精品成人无码av| 日韩精品国模| 亚洲情色中文字幕一区| av东京热男人的天堂| 亚洲 中文字幕 精品| 亚洲情色五月天 | 思思热免费在线视频| 亚洲精品一二三四区| 女性91网站| 人人色97| 亚洲天天综合| 观看免费区二区三区二| 日韩肏逼视频| 夜夜操夜夜爽夜夜高潮| 久久性爱视频99| 欧美一区二区三区大综合| 天天干天天操天天操夜夜操天天操| 男人天堂一区二区| 中文字幕一区二区视频在线观看| 精精夜夜| 午夜.DJ高清在线观看免费7| 性性欧美| 欧美亚洲日本视频久久久| 中国熟女91| 在线啊v一区| 国产农村妇女毛片精品久久| 亚洲少妇色| 久久精品国产亚洲5555| 欧美在线啊啊啊| 久操网址| 97欧美日韩精品| 天美精品av| 大屁股人妻女教师撅着屁股| 青青草乱入乱欲视频在线观看| 日本免费中文字幕在线| 激情婷婷丁香网| 男人天堂一区二区| 视频一区二区三区精品| 九七毛片九九毛片| 国产这里只有精品| 色综合国产在线观看| 亚洲欧美日韩电影网站一区| 这里都是精品在线观看| 91在线免费精品视频| 丝袜翘臀后入欧美校园亚洲自拍另类小说一区中文字幕少妇诱惑 | 97人妻碰碰中文无码久热丝袜| 91精品国产一区三一| 男女激情中文字幕| 欧美啪啪女女| 人人妻碰人人免费| 五月天AV资源| 人妻天天爽夜夜爽精品2| 亚洲国产精品无码AV在线| 变态综合色| 久久大陆| 亚洲人成色9999精品久久| 精品中文字幕第一页| 啊啊啊慢点| 色 亚洲 91| 久久黄色网址| 国产成人自拍视频在线| 日韩字幕一区| 日本不卡一二区| 亚洲精品一区二区免费在线观看| 激情综合五月| 欧美系列在线一区二区| 五月天婷婷在线看| 精品97久久| 蜜乳av一区二区三区四区不卡| 理论久久婷婷网 8| www.av在线观看| 日韩成人在线性爱视频| 神马久久午夜| 亚洲天在线| 91影视亚洲| 玖玖综合色| 懂色AV一区二区三区| 日韩乱伦视频| 欧美,日韩综合久久| 在线日韩日本亚洲国产| 91熟女网| 凹凸 69堂 在线播放| 激情人妻另类| 成人熟女区| 91色五月俺来也| 亚州情色j区| 久热无码| 亚洲男人的天堂一区二区| 黄片在线免费在线观看| 亚洲乱伦图片视频| 午夜.DJ高清在线观看免费7| 国产精品人妻无码久久久互動交流| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 91丝袜在线观看| 天天色综合影视网| 青青草在线视频播放器| 自拍亚洲综合| 夜夜免费视频| 超碰碰小说97| 久久9999 | 大香蕉乱级| 人人人摸人人| www.久久制服糖| 亚洲一区操| 亚洲欧美精品国产一区二区| 内射小黄片| 97资源视频| 久久首页| 日韩视频啪啪| 免费精品福利在线观看| 国产在线精品偷| 综合色99| 蜜桃成人1区2区3区| 欧美三级不卡| 亚洲影院小综合| 99久在线精品99re8a| 后入式视频国产自| 日日骚av| 啊啊啊啊啊在线| 激情黄色片在线观看| 曰韩精品视频一区二区| 极品尤物自安慰| 久久久国产成人一区二区三区在线| 国产精品久久久鸭无码的功能| av中文在线| 欧美大香蕉在线观看| 超碰性爱97| 天天天操天天天爱| 粉嫩av一区二区三区天美传媒| 亚洲精品九九九| 国产精品99精品视频网站| 18禁美女裸体无遮挡啪啪| 综合欧美日本三级| 四虎影视在线| 亚州色阁| 97综合久久| 成人精品一区二区91毛片不卡| 欧美极度丰满熟妇hd| 很很干很很操| 国产白丝在线| 男人的天堂va在线| 操操吧亚洲乱伦视频| 在线观看综合精品亚洲| 91爱综合| 无码操逼天堂| 国产一国产一级毛片古装| 福利社区午夜一区二区| 亚洲超碰在线| 欧美日动态视频| 四虎影视欧美| 精品人妻av在线播放| 99色视频| 岛国不卡超碰护士AV在线播放| 国产精品亚洲天堂网址| 久久久国产成人一区二区三区在线| 九九九九九九成人| 白嫩国模丰满一二三区| 久久中久文96| 天堂岛av| 肏逼福利网站| 伊人久久亚洲色欲综合网站 | 久草成人影片| 精品久久久九九九孕妇| 日韩三A大片在线观看| 97视频在线免费| 激情综合97| 综合久久欧美| 都市久久精品激情亚洲| 亚洲天天在线| 天天日熟妇| 黑人中出21连凳花野真衣| 日本99视频| 中国东北熟女老太婆内谢| 乱欲视频| 久午视频| 欧美性第1页| 欧美成人一区二区| 色婷婷婷五月天激情四射| 五月丁香色色网| 亚洲日韩精品在线播放| 午夜偷拍久久熟女| 亚洲国产av中文字幕久久| 欧州一区二区三区四区| 欧美综合亚洲综合| 青青五月天| 78m啪啪啪| 午夜操一视频一区| 日韩无码人妻中字久久三区四区| 国产精品3| 天天操天天日天天干| 精品无码人妻一区二区免费蜜桃| 亚洲性爱高潮影院| 97超碰碰碰| 丁香五月婷婷基地| 色五月首页| 97国产超湿| 一区黄二区黄| 欧洲小说色图视频另类| 久久精品视频一区三区小泽玛利亚| 97爱b| 另类成人首页一区| 丝袜天堂网| 国产精品久久久久999| 久湿久久 | 青青国产在线拍揄自揄拍| 91日产欧美| 亚洲男人天堂2017| 精品欧美老熟女一二区| 亚洲色图尤物视频| 成人七区| 丁香五月婷婷基地| 99www.bibizy香蕉资源国产一区二区三区高清| 国产美女激情| 国产熟女精品一区二区| 午夜无遮挡男女啪啪视频| 国产激情av女片自拍| 五月香婷婷| 四季AV一区二区凹凸精品小说| 欧美日韩亚洲国产中文永久天天看| 天天日天天干少妇日| 久久性爱精品一区| 激情综合五月| 欧美亚洲宗合色性图| 亚春色色| 黄色一级视| 嫩草 人人网精品| 亚洲欧美变态| 人人摸人人干人人拍97| 深夜啪啪啪视频免费| 青青草色插素人| 一二三区操逼国产91| 强奸乱亚洲| 狠狠做深爱婷婷久久二区| 国产在线综合福利网站| 五月天婷婷综合| 密臀在线一区尤物| 91动漫操逼视频| 欧美天天在线| h无码动漫在线观看| 欧洲乱码一区二区| 襙一襙| 草蕉影视亚洲无码| 老子午夜伦不卡影院| 日日橹狠狠爱欧美超碰| 99无码狠狠久久| 性爱动态120秒| 97超碰色| 久久久久久久久九九久孕交| 国产精品96| 啊啊啊啊啊操我视频| 100啪啪视频大全| 蜜臀亚洲中文| 日本精品无码三级网站| 97欧美久久久久久久| 国产高清无码一区二区三区四区皇冠| 精品美女人人干| 激情专区综合| 欧美少妇人妻| 传媒免费一区二区三区| 亞洲久久直播| 91熟女丨91老女人| 四虎 精品 WWW| 亚洲va有码在线天堂| 天天天操天天天爱| 一区二区 韩日AV| 麻豆视频国产一区二区| 亚洲欧洲色情高清| 99热啪啪| 欧美偷拍区| 日本国产二线女色| 国产精品久久久亚洲一区| 超碰97人妻免费在线| 啊啊啊啊啊啊啊网址在线观看| 日韩不卡av一二三| 亚洲欧美日韩制服另类| 亚洲日韩东京热一区| 久久综合18p| 国产高清成人传媒影视| 黄片视频观看| 亚春色色| 伊人青青一区成人视频在线观看区| 91精品国| 久99久视频| 骚鸭AV| 中日高清无码操逼视频| 亚洲天堂性爱| 极品色综合| 欧美亚洲影视| 婷婷色婷婷| 1769国内精品视频| 97资源站日韩| 97人人干| 国内一级精品| 五月婷在线| 精品偷拍13p欧美dodk视频| 午夜小电影在线插入淫高潮| 久久成人东京热人妻| 欧美激情亚洲情色| 四虎免费看黄| 色鬼在线综合| 狠狠搞 亚洲91| 欧色综合| 中国小夫妻勾搭露脸淫荡对白| 性色中出| 韩国嫰模上门援交视频| 亚州黄站| 欧美高清91| 999热这里只有精品| 亚欧美综合网| 3PAV乱伦视频| 摸奶性爱视频网站在线免费播放| 亚洲女人91| 91性高朝久久久久久久久| 热无码中文亚洲H一道本一区二区| 国产精品电影大全| 国产强奸乱伦xd| 全球成人中文在线| 五月丁香综合激情| 色第一页| 日本二区不卡| 91色综合| 欧美做爰无码A片视频| 色蜜AV| 97se综合| 成人精品无码| 久久精品国产亚洲AV无码电影| 久久肏大逼| 久久久影院| 欧美高潮| 国产家庭乱伦表演| 嫖老熟女A片一二三区| 日本大片日本一区二区免费高清| 亚洲免费97免费| 黑人在线91| 操逼1区| 91人人看| 麻豆视频一区二区| 久久高清欧美国产| 91l欧美在线| 亚洲本色精品一区二区久久| 青娱乐日韩无码| 九一性生活免费视频| 97综合久久| 日韩欧美女优电影| 亚洲第一视频 欧美风情 日韩| 91精品久久久| 物尤视频一区二区| 性色AV蜜色av色欲av| 亚洲天堂男人在线| 91天天爽| 婷婷色网| 91老司机精品| 97人肏| 久久一区二区蜜桃| 天天插天天射| 中文字幕97| 久久色一区| 亚洲国产91精品一区二区久久| 炮色五月| 亚洲密乳AV| 欧美A√综合网| 日本性爰一道本| 黄站在线免费观看| 色五月AV在线| 丁香激情网| 亚洲国产精品成人综合| 又黄又粗又硬又长又大| 91人妻最真实刺激绿帽| 欧美久久久15P| www.人人cao| 人妻天堂网| 久日91在线| 超碰人人干| 中文字幕五月婷婷免费| 久久精品人妻一区二区三区| 五月激情综合网| 国产真乱mangent| 亚洲久草AV色图| 欧美一区二区三区大综合| 亚洲一级性爱视频免费看| 伊人性在线视频| 97国产天堂岛| 天天综合网站| 乱伦a片视频| 国产精品999aaa| 国偷自 一区| 人妻天天爽夜夜爽精品2| 91精品久久综合熟女| 天天日天天干天天操| 欧美人妻另类在线| 国产青青美女玩逼视频| 首页亚洲国产高跟丝袜诱惑视频| 岛国在线免费视频| 校园春色亚洲色图| 99999这里都精品| 噜噜噜久久亚洲精品色情| 97人妻色| 91啪啪视频| 人妻精品视频一区二区| 人人看人人爰人人操| 97超碰超碰| 懂色Av| 极品销魂美女一区二区| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 最新av网站在线观看| 天天射日日干| 人人妻人人玩人人澡人人爽| 91精品少妇搡搡搡| 超碰在线1234区| 男人天堂久久精品不卡| 九九国产| 亚洲精品蜜桃久久久| 五月天欧美色图| 久操免费电影| 日韩三级av片| 九九碰九九爱97超碰| 密臀视频三区免费网站| 99热在线播放| 91国产操逼视频| 免费簧片在线观看| 无码自拍SM| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 91亚洲不卡一区| 99热99re超碰精品| 91狠狠综| 午夜AV人气不卡| 久久精品国产亚洲AV高级北京| 天天做日日爱夜夜爽| 五月花婷婷| 91中文精品日韩欧美在线| 色在线69堂| 久久久91| 欧美老妇曰批的视频| 伊人91| 亚洲熟女乱色一区二区三区久久久 | 五月天AV资源| 国产精品 视频| 国产精品无码在线| 熟女在线视频| 亚洲AV色图| 亚洲色系另类精品国产| 亚洲性爱高潮影院| 97干综合网| 东京热男人天堂| 爽 好舒服 无码刺激久久| 国产青视频| 麻豆久久一区二区三区| 大香蕉黄色一区| 啊啊啊啊啊啊啊在线| 午夜福利1区2区3区| 色性荡荡荡荡视频| 国产999精品久久久| 国产成人精品日本视频| 91国产美女丝袜足交精品视频| 久久天堂| 按摩中文字幕| 97综合网| 97天天搞在线| 久久国产AⅤ| 伊人久久青青草| 九九综合九九综合| 国产av白丝| 天天躁日日躁AAAAXXXX国产 | 加勒比综合网| 青娱乐导航AV| 日产欧美电影一区二区三区| 91新在线欧美| 免费观看性欧美一级| 欧美爆操91| 欧美人与性动交a美精品| 亚洲诱惑| 乱伦系列一区二区| 亚洲欧美97| 男人天堂.AB| 人人 操人人 操人人| 天天日天天屌天天操| 亚洲免费人妻在| 欧洲精品二区| 色五月第四色| 超碰人人干| 69视频入口| 美女骚尻视频| 91人妻超碰| 成人性爱美曰韩| 亚洲小说视频| 亚洲色图加勒比| 欧美极度丰满熟妇hd| 男人的天堂2018| 伊人久久亚洲色欲综合网站 | 中国黑人三级片网站上区| 国产一级作爱毛片| 热99这里有精品综合久久 | 综合网少妇| 夜夜欧美 | 韩国一级婬片A片无码天美 | 18禁免费视频| 亚洲综合第一页| 91九色丰满高潮| 男人的天堂欧美| 嗯啊不要在线| 日韩性爱小视频| 欧美久久久15P| 国产成人亚洲精品无码最新在线| 国产超碰人人爽人人做| 青青操日韩| 亚洲天堂日本| 色婷婷综合视频| 色综合一本| 欧美中字二区| 国产日韩在线播放| 性爱网站一区二区| 91岛国动作片| 久久久久深夜无码| 丁香五月天婷婷姐| 久久无码精品| 欧美成人精品一区二区男人蜜臀| 97硬碰| 91国产精品熟女| 97干日韩| 人妻天天爽夜夜爽精品2| 国产性感骚丝袜在线| 裸体美女国产免费久久久网站| 国内外色色色色色成人视频| 国产欧美一区激情交| 在线观看国产黄色| 91精品丝袜在线观看|