免费国产精品自在自线-91精品国产色综合久久久浪潮-99热久久免费频精品-国产精品国模在线观看-久久亚洲国产精品成人?V秋霞-久久国产一级A片免费播放-亚洲国产欧洲综合97久久-久久国产白嫩美女呻吟高潮

ARTICLE DETAIL

資訊詳情

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

VB.NET掃描槍串口收碼源碼解析:從斷包重組到編碼避坑

VB.NET掃描槍串口收碼源碼解析:從斷包重組到編碼避坑 簡(jiǎn)介一套VB.NET條形碼電子掃描槍客戶端源碼面向需要開(kāi)發(fā)掃碼錄入場(chǎng)景的VB開(kāi)發(fā)者可配合掃描槍實(shí)時(shí)讀取并展示單號(hào)、所屬客戶、機(jī)器型號(hào)、條碼號(hào)、掃描時(shí)間及備注等信息適用于倉(cāng)儲(chǔ)、生產(chǎn)記錄、物料追蹤等條碼應(yīng)用環(huán)節(jié)。壓縮包內(nèi)共24個(gè)文件以11個(gè).vb窗體/模塊源碼為主輔以4個(gè).resx資源文件、.sln與.vbproj工程文件并包含.mdb數(shù)據(jù)文件和.dll引用整體僅195KB結(jié)構(gòu)緊湊且目錄層次清晰便于二次學(xué)習(xí)與改造。目前已有419人學(xué)習(xí)瀏覽代碼采用多窗體分段設(shè)計(jì)主顯示區(qū)清晰呈現(xiàn)每條掃描記錄兼顧數(shù)據(jù)接收、界面綁定與數(shù)據(jù)庫(kù)寫入等流程通過(guò)研讀源碼可掌握掃描槍輸入處理、界面更新及簡(jiǎn)單數(shù)據(jù)持久化的典型寫法對(duì)VB.NET桌面應(yīng)用與硬件交互入門均有良好參考價(jià)值。1. VB.NET條形碼掃描槍源碼到底解決什么問(wèn)題做上位機(jī)的同行應(yīng)該都有過(guò)這種經(jīng)歷倉(cāng)庫(kù)那邊拿著一把電子掃描槍說(shuō)“你幫我接一下掃一條碼要能自動(dòng)進(jìn)系統(tǒng)”。等你過(guò)去一看槍是USB口的插上確實(shí)能出字可焦點(diǎn)不對(duì)、回車多一個(gè)、數(shù)據(jù)還時(shí)不時(shí)斷成兩截最后只能寫個(gè)VB.NET小程序兜底。這套VB.NET條形碼電子掃描槍源程序干的就是這件事——把掃描槍當(dāng)成一個(gè)可靠的輸入源通過(guò)串口把條碼讀進(jìn)來(lái)按幀拼好再吐給業(yè)務(wù)系統(tǒng)。它適合兩類人一類是剛接觸上位機(jī)開(kāi)發(fā)的需要一套能跑通的參考代碼另一類是現(xiàn)場(chǎng)已經(jīng)翻過(guò)車的想看看別人怎么處理斷包、亂碼和結(jié)束符這幾個(gè)經(jīng)典問(wèn)題。源碼本身不復(fù)雜但串口收碼這件事細(xì)節(jié)全在協(xié)議和數(shù)據(jù)的邊界條件里。2. 掃描槍的數(shù)據(jù)鏈路為什么是串口協(xié)議參數(shù)怎么定2.1 掃描槍的三類輸出模式USB鍵盤、USB串口、傳統(tǒng)串口市面上絕大多數(shù)電子掃描槍物理接口看著都是USB但工作模式其實(shí)能分成三種。第一種是USB鍵盤模式也叫HID模式掃描槍模擬鍵盤按鍵條碼字符一個(gè)個(gè)“敲”進(jìn)系統(tǒng)焦點(diǎn)在哪就輸?shù)侥牟恍枰?qū)動(dòng)也不用寫代碼但焦點(diǎn)亂跳、回車多余、輸入法干擾這些毛病全集中在這條路上。第二種是USB串口模式需要在設(shè)備管理器里裝一個(gè)虛擬COM口驅(qū)動(dòng)操作系統(tǒng)把掃描槍映射成一個(gè)串口應(yīng)用程序通過(guò)COM口收數(shù)據(jù)。第三種是傳統(tǒng)串口也就是DB9接口工業(yè)現(xiàn)場(chǎng)的老設(shè)備還在用信號(hào)電平是RS232協(xié)議最簡(jiǎn)單直接。這套VB.NET源碼默認(rèn)走的是第二種和第三種的共同邏輯把掃描槍當(dāng)作一個(gè)串口設(shè)備來(lái)讀。我在實(shí)際項(xiàng)目里踩過(guò)坑才明白庫(kù)房的老槍很多是USB口插上去系統(tǒng)只認(rèn)鍵盤這時(shí)候必須用掃描槍配套的設(shè)置軟件把輸出模式從“USB鍵盤”切到“USB串口”或者直接換一把帶串口的槍。源碼本身不負(fù)責(zé)切換模式那一步要在掃描槍的硬件配置里完成。2.2 串口協(xié)議參數(shù)波特率、校驗(yàn)位與結(jié)束符的默認(rèn)值串口通信的核心就是一個(gè)約定兩端得用同一套參數(shù)說(shuō)話否則收到的一定是亂碼。VB.NET里SerialPort控件需要配的參數(shù)不多但每一個(gè)都有講究。波特率是每秒傳輸?shù)奈粩?shù)掃描槍出廠默認(rèn)大多在9600也有部分型號(hào)是115200。數(shù)據(jù)位基本固定是8校驗(yàn)位一般選None停止位是One這套組合寫出來(lái)就是“9600, 8, N, 1”也是源碼里最常見(jiàn)的初始化配置。我接手別人的源碼時(shí)會(huì)先看一個(gè)細(xì)節(jié)結(jié)束符是什么。很多掃描槍在掃完一條碼之后會(huì)自動(dòng)補(bǔ)一個(gè)后綴常見(jiàn)的是回車符CR也就是\r或者回車加換行CRLF。這個(gè)參數(shù)直接影響上位機(jī)怎么判斷“一條條碼已經(jīng)完整到達(dá)”。源碼里通常用NewLine屬性來(lái)聲明結(jié)束符或者干脆在代碼里手動(dòng)對(duì)比字節(jié)。這里有個(gè)新手容易忽視的點(diǎn)掃描槍本身的設(shè)置里可以關(guān)掉后綴但如果上位機(jī)代碼已經(jīng)按回車符來(lái)切分?jǐn)?shù)據(jù)關(guān)掉后綴反而會(huì)讓數(shù)據(jù)粘連在一起。先確認(rèn)槍的配置再改代碼順序不能反。2.3 源碼里的數(shù)據(jù)幀結(jié)構(gòu)起始、條碼內(nèi)容與結(jié)尾標(biāo)識(shí)掃描槍發(fā)出來(lái)的數(shù)據(jù)除了條碼本身其實(shí)是一個(gè)完整的幀。幀的頭部可能包含前綴字符不過(guò)大多數(shù)場(chǎng)景下前綴是空的內(nèi)容就是條碼的ASCII字符比如一長(zhǎng)串?dāng)?shù)字最后是結(jié)束符。源碼里收碼的邏輯就是在數(shù)據(jù)流里找“內(nèi)容開(kāi)始”和“內(nèi)容結(jié)束”這兩個(gè)邊界。常見(jiàn)做法是用SerialPort.ReadLine()它的工作方式就是不斷讀直到碰到NewLine屬性里指定的字符才返回一行這一行就是完整的條碼。這套源碼里比較值得看的是它對(duì)“邊界”的處理如果掃描槍設(shè)置了前綴和后綴代碼里要有對(duì)應(yīng)的剝離邏輯如果槍什么都沒(méi)設(shè)那就只有內(nèi)容本身。我拿到源碼后會(huì)先在窗體上放一個(gè)TextBox把收到的原始字節(jié)以十六進(jìn)制形式打出來(lái)先看清楚真實(shí)的數(shù)據(jù)幀長(zhǎng)什么樣再?zèng)Q定要不要改切割邏輯。這個(gè)習(xí)慣幫我在好幾個(gè)項(xiàng)目里省掉了“看起來(lái)沒(méi)毛病但就是不對(duì)”的排查時(shí)間。3. 把源碼跑起來(lái)解壓、開(kāi)工程、連掃描槍3.1 工程文件清單與項(xiàng)目結(jié)構(gòu)拿到源碼包第一件事不是急著雙擊運(yùn)行而是先看一下目錄結(jié)構(gòu)搞清楚哪些文件是核心哪些是Visual Studio自動(dòng)生成的輔助文件。一個(gè)典型的VB.NET WinForms串口收碼工程主要會(huì)包含這些文件文件/文件夾作用是否可以改動(dòng).sln 解決方案文件整個(gè)工程的入口雙擊它打開(kāi)Visual Studio不動(dòng).vbproj 項(xiàng)目文件記錄項(xiàng)目引用和編譯配置一般不動(dòng)Form1.vb窗體和業(yè)務(wù)邏輯代碼串口配置和數(shù)據(jù)接收都在這核心改動(dòng)區(qū)Form1.Designer.vb窗體上控件的布局和初始化代碼可能不動(dòng)Form1.resx窗體的資源文件圖標(biāo)和字符串資源在這里不動(dòng)bin/Debug或bin/Release編譯生成的exe文件目錄運(yùn)行看效果我一般會(huì)先把Form1.vb完整讀一遍重點(diǎn)關(guān)注三個(gè)位置Form1_Load里的串口初始化、DataReceived事件處理函數(shù)、以及條碼封裝的屬性。源碼包里如果還有使用說(shuō)明文檔或接線圖優(yōu)先看文檔里的串口參數(shù)說(shuō)明。有些工程會(huì)附帶一個(gè)“測(cè)試模式”不需要接真槍也能模擬收數(shù)這對(duì)調(diào)試特別有用。3.2 串口初始化的代碼位置與參數(shù)表打開(kāi)Form1.vb最關(guān)鍵的初始化學(xué)代碼通常在窗體的Load事件里。常見(jiàn)寫法如下Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load 配置串口參數(shù)參數(shù)必須與掃描槍硬件設(shè)置一致 With SerialPort1 .PortName COM3 串口號(hào)按設(shè)備管理器實(shí)際值修改 .BaudRate 9600 波特率掃描槍默認(rèn)一般是9600 .DataBits 8 數(shù)據(jù)位固定8位 .Parity Parity.None 校驗(yàn)位無(wú)校驗(yàn) .StopBits StopBits.One 停止位1位 .ReadTimeout 500 讀超時(shí)單位毫秒防卡死 .NewLine vbCr 行結(jié)束符設(shè)為回車符 .ReceivedBytesThreshold 1 緩存區(qū)有多少字節(jié)觸發(fā)DataReceived事件 End With 打開(kāi)串口如果端口被占用會(huì)拋異常要加Try...Catch Try SerialPort1.Open() Label1.Text 串口已打開(kāi) SerialPort1.PortName Catch ex As Exception Label1.Text 打開(kāi)失敗 ex.Message End Try End Sub這段代碼里的參數(shù)要逐條說(shuō)清楚。PortName必須和設(shè)備管理器里顯示的COM號(hào)完全一致包括大小寫COM3和com3在某些系統(tǒng)里能通但別賭這個(gè)。BaudRate是兩邊通信的“語(yǔ)速”掃描槍出廠默認(rèn)9600但也有廠家默認(rèn)38400的確認(rèn)方法是看槍的說(shuō)明書(shū)或者用廠商工具讀配置。NewLine是最容易被忽略的它必須和掃描槍發(fā)出的結(jié)束符一致如果槍發(fā)的是回車加換行這里只寫vbCr那串口會(huì)讀到兩次回車邏輯多出一條空行。ReceivedBytesThreshold設(shè)為1的意思是緩沖區(qū)里只要有一個(gè)字節(jié)就觸發(fā)DataReceived事件這個(gè)值越小響應(yīng)越快但對(duì)數(shù)據(jù)處理邏輯的要求越高。3.3 連接真機(jī)掃碼測(cè)試與信號(hào)確認(rèn)代碼能編譯通過(guò)只是第一步接上真槍才算真正跑通。連接流程我用四個(gè)步驟走先把掃描槍的USB線插到電腦上打開(kāi)設(shè)備管理器展開(kāi)“端口(COM和LPT)”節(jié)點(diǎn)確認(rèn)有沒(méi)有出現(xiàn)新的COM口。如果槍是USB鍵盤模式這里顯示的是“USB輸入設(shè)備”而不是COM口需要先用廠商的配置軟件把模式切到串口再重新插拔COM口才會(huì)出現(xiàn)。然后把源碼里PortName改成步驟一看到的COM號(hào)點(diǎn)Visual Studio里的“啟動(dòng)”按鈕運(yùn)行程序窗體上會(huì)顯示串口已打開(kāi)。接著拿一張條碼對(duì)準(zhǔn)掃描槍扣扳機(jī)如果一切正常條碼內(nèi)容會(huì)出現(xiàn)在窗體的文本框里。這時(shí)候要注意看光標(biāo)落點(diǎn)如果程序自動(dòng)把條碼賦值到指定輸入框說(shuō)明收碼流程通暢如果出現(xiàn)了亂碼八成是編碼問(wèn)題下一步就要看核心收碼代碼是怎么處理字節(jié)流和字符集的。最后測(cè)三組不同類型的條碼純數(shù)字的、含字母的、含符號(hào)的確認(rèn)內(nèi)容完整無(wú)丟失。這一步不是走過(guò)場(chǎng)很多現(xiàn)場(chǎng)問(wèn)題就是混合條碼掃到一半卡住的。4. 核心代碼拆解從DataReceived到完整條碼4.1 事件驅(qū)動(dòng)的收碼邏輯SerialPort的DataReceived事件是異步的數(shù)據(jù)到達(dá)串口緩沖區(qū)時(shí)會(huì)觸發(fā)但這個(gè)事件運(yùn)行在一個(gè)獨(dú)立的線程上不能直接操作窗體控件必須用Invoke切回UI線程。這是VB.NET串口編程里最基礎(chǔ)也最容易翻車的地方。Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived 此事件在后臺(tái)線程觸發(fā)不能直接操作窗體控件 Dim receivedData As String Try ReadLine會(huì)讀到NewLine屬性指定的結(jié)束符為止 如果設(shè)置的是vbCr那這里讀到的是不含回車符的條碼內(nèi)容 receivedData SerialPort1.ReadLine() Catch ex As Exception 如果結(jié)束符不匹配或超時(shí)會(huì)拋異常這里記錄下來(lái)便于排查 Debug.WriteLine(讀取異常 ex.Message) Return End Try 用Invoke把結(jié)果交回UI線程避免跨線程操作控件報(bào)錯(cuò) Me.Invoke(Sub() textBox1.AppendText(receivedData Environment.NewLine) End Sub) End Sub這段代碼的精髓在Invoke這一步。有人圖省事直接在里面寫textBox1.Text receivedData運(yùn)行起來(lái)會(huì)隨機(jī)報(bào)“線程間操作無(wú)效”的錯(cuò)這就是跨線程訪問(wèn)控件的問(wèn)題。DataReceived事件觸發(fā)頻率極高每一個(gè)字節(jié)都可能觸發(fā)一次ReceivedBytesThreshold1時(shí)如果用ReadLine它內(nèi)部會(huì)等夠一行數(shù)據(jù)才返回這樣能把高頻觸發(fā)合并成一條完整數(shù)據(jù)。Debug.WriteLine則是一個(gè)排查利器它把異常寫到Visual Studio的輸出窗口現(xiàn)場(chǎng)看不到界面變化時(shí)看輸出窗口能定位問(wèn)題。4.2 斷包重組為什么不能只讀一次ReadLine寫起來(lái)簡(jiǎn)單但它有邊界條件如果結(jié)束符不是預(yù)期的vbCr或vbLf或者掃描槍被設(shè)置成無(wú)后綴模式ReadLine會(huì)一直等直到ReadTimeout時(shí)間到才拋異常。這類問(wèn)題在源碼里通常換一種寫法不依賴結(jié)束符自己拼字節(jié)。Private unprocessedBuffer As New StringBuilder() Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived Dim byteBuffer(SerialPort1.BytesToRead - 1) As Byte SerialPort1.Read(byteBuffer, 0, byteBuffer.Length) 轉(zhuǎn)換成字符串后拼到緩沖區(qū) Encoding.ASCII適用于標(biāo)準(zhǔn)條碼如果含中文需要用對(duì)應(yīng)編碼 Dim segment As String System.Text.Encoding.ASCII.GetString(byteBuffer) unprocessedBuffer.Append(segment) 檢查緩沖區(qū)里是否有結(jié)束符假設(shè)結(jié)束符是回車 If unprocessedBuffer.ToString().Contains(vbCr) Then Dim fullLine As String unprocessedBuffer.ToString() Dim lines() As String fullLine.Split(New String() {vbCr}, StringSplitOptions.RemoveEmptyEntries) 最后一段可能是不完整數(shù)據(jù)留在緩沖區(qū)等下一批 If not fullLine.EndsWith(vbCr) Then unprocessedBuffer.Clear() unprocessedBuffer.Append(lines(lines.Length - 1)) Array.Resize(lines, lines.Length - 1) Else unprocessedBuffer.Clear() End If For Each completeLine As String In lines Me.Invoke(Sub() textBox1.AppendText(completeLine Environment.NewLine) End Sub) Next End If End Sub這種做法的核心思路是每次事件到達(dá)先把緩沖區(qū)里的字節(jié)全部讀出來(lái)轉(zhuǎn)成字符串再判斷這一批數(shù)據(jù)有沒(méi)有湊成完整的一行。如果上一批數(shù)據(jù)到一半這批補(bǔ)上后半段通過(guò)\unprocessedBuffer\變量在多次事件之間保存狀態(tài)。Array.Resize那段處理的是“一次收到多行”的情況比如掃描槍連續(xù)掃了兩張條碼緩沖區(qū)里有兩個(gè)回車符拆完第一行后剩下的第二行還要再回傳。這個(gè)邏輯在只處理單條碼的小程序里看不出差別但對(duì)接連續(xù)掃描場(chǎng)景時(shí)是必須的。4.3 編碼陷阱ASCII與GB2312的亂碼邊界條碼數(shù)據(jù)本身是ASCII字符集數(shù)字、字母、符號(hào)都能覆蓋。但實(shí)際項(xiàng)目里有個(gè)繞不開(kāi)的場(chǎng)景條碼內(nèi)容里可能帶中文或者掃碼之后要連帶讀取一個(gè)中文名稱。這時(shí)候用Encoding.ASCII去解碼中文字符會(huì)全部變成問(wèn)號(hào)而且字節(jié)數(shù)對(duì)不上。正確做法是查代碼頁(yè)用GB2312或UTF-8解碼。 ASCII解碼只適用于純英文數(shù)字條碼 Dim asciiData As String System.Text.Encoding.ASCII.GetString(byteBuffer) 中文環(huán)境建議用GB2312注意代碼頁(yè)936對(duì)應(yīng)的就是GB2312 Dim gbData As String System.Text.Encoding.GetEncoding(GB2312).GetString(byteBuffer) 如果硬件配置的是UTF-8那就用UTF8別和GB2312混 Dim utf8Data As String System.Text.Encoding.UTF8.GetString(byteBuffer)我見(jiàn)過(guò)最典型的翻車現(xiàn)場(chǎng)是這樣的一臺(tái)工業(yè)掃描槍條碼里是數(shù)字備注字段是中文上位機(jī)用ASCII解碼數(shù)字正常中文全是“???”。查了很久才發(fā)現(xiàn)不是硬件問(wèn)題是軟件解碼編碼不對(duì)。還有一次是掃描槍本身設(shè)置成了UTF-8輸出代碼里寫死GB2312結(jié)果數(shù)字沒(méi)事字母“é”變亂碼。正確思路是先用十六進(jìn)制顯示工具看原始字節(jié)再反推編碼不要靠猜。5. 避坑與排查掃描槍接入上位機(jī)的五個(gè)常見(jiàn)問(wèn)題5.1 掃描沒(méi)反應(yīng)串口號(hào)被占用或驅(qū)動(dòng)缺失現(xiàn)象程序點(diǎn)“打開(kāi)串口”報(bào)錯(cuò)或者打開(kāi)了但掃碼槍扣扳機(jī)完全沒(méi)反應(yīng)。原因最常見(jiàn)的是COM口被其他程序占用比如掃描槍廠商的配置工具、某個(gè)串口調(diào)試助手甚至上一次運(yùn)行的程序沒(méi)退出把COM口鎖住了。第二個(gè)常見(jiàn)原因是USB轉(zhuǎn)串口驅(qū)動(dòng)缺失設(shè)備管理器里看到的不是COM口而是一個(gè)帶黃色感嘆號(hào)的未知設(shè)備。解決先關(guān)閉所有可能占用串口的軟件拔掉掃描槍重新插上然后打開(kāi)設(shè)備管理器看端口狀態(tài)感嘆號(hào)就用驅(qū)動(dòng)精靈或驅(qū)動(dòng)光盤裝驅(qū)動(dòng)如果COM口號(hào)特別大比如COM17在設(shè)備管理器里手動(dòng)把它改成COM3這種短號(hào)再改代碼里的PortName。5.2 數(shù)據(jù)斷成幾截ReceivedBytesThreshold與拼接邏輯現(xiàn)象條碼內(nèi)容明明是一整條程序里卻分兩次顯示中間還夾著亂碼或空行。原因掃描槍發(fā)送數(shù)據(jù)的速度和串口讀數(shù)據(jù)的節(jié)奏不一致。ReceivedBytesThreshold設(shè)成1時(shí)一個(gè)字節(jié)到達(dá)就會(huì)觸發(fā)DataReceived但ReadLine邏輯是OK的問(wèn)題往往出在用的是ReadExisting或Read方法并且沒(méi)有把多次讀取的內(nèi)容拼起來(lái)。解決方案有兩個(gè)取舍。如果掃描槍的結(jié)束符設(shè)置可靠直接用ReadLine它能等完整行。如果槍沒(méi)設(shè)結(jié)束符就用我之前寫過(guò)的StringBuilder拼接方案。一個(gè)調(diào)試技巧在DataReceived開(kāi)頭把BytesToRead的值打出來(lái)如果每次只有幾個(gè)字節(jié)說(shuō)明數(shù)據(jù)確實(shí)是分批發(fā)過(guò)來(lái)的代碼必須有拼接能力如果一次就是幾十字節(jié)說(shuō)明槍是一次性發(fā)完的簡(jiǎn)單處理也行。5.3 中文變問(wèn)號(hào)編碼不匹配現(xiàn)象條碼里的字母和數(shù)字正常中文全部顯示為或者變成亂碼符號(hào)。原因源碼里默認(rèn)用了Encoding.ASCII解碼ASCII不包含中文字符集高位字節(jié)全部被替換。另一種可能掃描槍的配置文件里把輸出編碼設(shè)成了UTF-8而上位機(jī)代碼用的GB2312解碼兩邊不一致。解決先確認(rèn)掃描槍的編碼設(shè)置用廠商工具讀一下通常出廠默認(rèn)是ASCII或GB2312。然后把代碼里的解碼方式改一致。注意一點(diǎn)修改編碼后要重新掃碼因?yàn)橹耙呀?jīng)解碼錯(cuò)誤的數(shù)據(jù)不會(huì)自動(dòng)恢復(fù)。5.4 自動(dòng)回車帶出多余換行結(jié)束符設(shè)置現(xiàn)象每掃一條碼文本框里會(huì)多出一個(gè)空行或者數(shù)據(jù)下面會(huì)多出一個(gè)換行。原因掃描槍默認(rèn)設(shè)置了回車加換行后綴CRLF而上位機(jī)的NewLine只設(shè)了vbCr那么收到CR之后ReadLine返回接著來(lái)的LF又被當(dāng)成新數(shù)據(jù)讀了一次顯示出來(lái)就是空行。反過(guò)來(lái)也可能代碼按CRLF切分槍只發(fā)了CR數(shù)據(jù)就粘連在一起。解決看設(shè)備管理器里的硬件配置讀出掃描槍的后綴設(shè)置。如果槍是CRLF代碼的NewLine就寫vbCrLf如果只有CR就寫vbCr。我的習(xí)慣是統(tǒng)一讓槍只發(fā)CR代碼里也只認(rèn)CR這樣最簡(jiǎn)單少一個(gè)字節(jié)出錯(cuò)概率就低一分。5.5 USB槍插上沒(méi)COM口模式切換與虛擬串口現(xiàn)象插上掃描槍設(shè)備管理器里怎么找都沒(méi)有COM口看起來(lái)就是鍵盤設(shè)備。原因掃描槍出廠默認(rèn)是USB鍵盤模式不會(huì)映射串口。要切換到USB串口模式必須用槍的廠商設(shè)置軟件生成配置碼用掃描槍掃一下配置碼條碼完成切換。解決搜“掃描槍型號(hào)設(shè)置碼”一般就兩種方式一種是掃配置碼一種是打開(kāi)設(shè)置軟件點(diǎn)選模式再確認(rèn)。切換后重新插拔USB線設(shè)備管理器里會(huì)出現(xiàn)新COM口。這個(gè)模式切換是一次性的記憶在掃描槍的Flash里換電腦也不用重新設(shè)置。如果切換后依然沒(méi)有COM口換個(gè)USB口試試有些老式USB口供電不足也會(huì)導(dǎo)致掃描槍不枚舉串口。6. 進(jìn)階把掃碼結(jié)果接進(jìn)業(yè)務(wù)流附多線程與校驗(yàn)技巧源碼基礎(chǔ)功能跑通之后下一步就是和業(yè)務(wù)系統(tǒng)對(duì)接。常見(jiàn)的需求是掃到條碼后自動(dòng)查詢數(shù)據(jù)庫(kù)或者自動(dòng)錄入Excel再進(jìn)一步可能要求連續(xù)掃碼不停頓。這時(shí)候有幾個(gè)習(xí)慣性做法值得直接落地。第一個(gè)是前臺(tái)顯示和后臺(tái)數(shù)據(jù)分離。DataReceived事件里拿到條碼后不要急著刷新界面而是判斷一下業(yè)務(wù)規(guī)則再?zèng)Q定要不要顯示。比如倉(cāng)庫(kù)需要校驗(yàn)條碼前綴代碼里加一個(gè)正則判斷不匹配的就彈警告音而不錄入系統(tǒng)。下面是加校驗(yàn)的示例Private Sub ProcessBarcode(fullBarcode As String) 業(yè)務(wù)校驗(yàn)前綴必須是RM長(zhǎng)度為13位否則警告 If Not fullBarcode.StartsWith(RM) OrElse fullBarcode.Length 13 Then Beep() Debug.WriteLine(非法條碼 fullBarcode) Return End If 校驗(yàn)通過(guò)后把數(shù)據(jù)交給UI線程顯示 Me.Invoke(Sub() DataGridView1.Rows.Add(fullBarcode, DateTime.Now.ToString(HH:mm:ss)) End Sub) End Sub第二個(gè)技巧是手動(dòng)觸發(fā)掃描。某些掃描槍在串口模式下支持發(fā)送觸發(fā)指令上位機(jī)可以主動(dòng)發(fā)一個(gè)字符讓掃描槍開(kāi)燈掃一次。常見(jiàn)做法是發(fā)送一個(gè)“喚醒碼”具體指令看槍的指令手冊(cè)代碼里一行即可 發(fā)送觸發(fā)指令讓掃描槍開(kāi)始一次掃描具體指令值以硬件手冊(cè)為準(zhǔn) SerialPort1.Write(Chr(H07))第三個(gè)是UI卡頓的處理。掃碼槍快速連續(xù)掃的時(shí)候DataReceived事件會(huì)頻繁觸發(fā)如果在Invoke里做復(fù)雜的數(shù)據(jù)庫(kù)操作UI線程會(huì)被拖死。我一般把掃碼結(jié)果丟進(jìn)一個(gè)隊(duì)列后臺(tái)線程去消費(fèi)這樣界面永遠(yuǎn)流暢。這個(gè)做法在日掃千件的倉(cāng)庫(kù)場(chǎng)景里很有用。最后補(bǔ)一個(gè)血淚教訓(xùn)以我自己的習(xí)慣凡是涉及掃描槍的工程第一次連接真機(jī)時(shí)一定要開(kāi)十六進(jìn)制顯示窗口用代碼打印原始字節(jié)確認(rèn)數(shù)據(jù)幀再談業(yè)務(wù)邏輯。不要再寫死編碼或結(jié)束符一定要以硬件實(shí)際配置為準(zhǔn)。這樣排查問(wèn)題的思路才是對(duì)的。希望這篇文章能把你在掃描槍接上位機(jī)這條路上可能遇見(jiàn)的坑提前填平祝調(diào)試順利。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
国产小网站| 久久久久久久久99精品| 婷婷人人操| 色啪综合| 高清国产AV| 久久婷婷五月综合| 色99热| 六月丁香六月婷婷欧美| 99热永久在线观看| 婷婷伊人视婷婷婷| 波多野结衣不卡AV| 97色婷婷| 狠狠色成人影片| 伊大人久久| 久久婷婷91| 美女婷婷六月色| 色色色色色色五月婷婷| 蜜乳久AV| 色婷婷狠狠爱| 操日视频| 99久久综合精品五月天| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 99视频在线观看网址| 在线99精品| 亚洲五月婷| 99热精品中文字幕| 26uuu欧美宗合| 黄色五月婷婷| 生活片五区| 夜色.cnm| 97久久精品视频| 国产FREESEXVIDEOS性中国| 欧美成人精品A片免费一区99| 丁香五月综合色婷婷| 婷婷激情四射五月天| 国产精品人成A片一区二区| 超碰网站在线观看| 亚洲丁香婷婷丁香五月天激情| 99视频精品视频| 亚洲成人AV在线| 女人被躁到高潮嗷嗷叫小| 超碰免费人人| 七七色色综合| 丁XX 成人| 欧美英丁香开心快乐六月天网| 婷婷色丁香五月| 综合日本婷婷| 五月天婷婷激情网| WWW.久久久久久久久久久久久| 色www久视频| 永久精品| 五月综合色| 丁香六月激情| Av大香蕉| 久久久com| 婷婷欧美综合| 夜夜干夜夜操| 无码区婷婷五月花开| 五月丁香婷婷人体| 婷婷五月天在线观看免费 | 国产精品操| 在线观看免费视频| 热99玖玖99玖玖99九九| 免费观看日韩成人av| 国产看真人毛片爱做A片| 天天日天天插| 久久激丁香| 久久在线视频免费观看| 狠狠婷婷日韩| 久久婷婷人人| 九九色欲网| 婷婷射图五月天| 欧美婷婷综合网| 婷婷94s| 亚洲六月色| 午夜亚洲AV日韩无码| 国产精产国品一二三在观看| 内射 无码 伊人| 婷婷六月伊人| 丁香五月综合激情性爱| 五月天伊人| 日韩啪啪网| 九九aV| 99热啪啪| 日本一区二区三区精品视频| 91ncm视频| 色情综合| 丁香五月色综合色播五月| 欧美成性色| 久久综合网免费视频| 99日本精品视频热| 精品99爱免费视频在线观看| 五月丁香婷婷综合| www.久久99| 99ree6| 婷婷酒色网| 波多野结衣成人作品在线| 亚洲精品成人片在线播| 99热在线观看免费中文| 人人人操B超碰| 激情九九这里只有精品| 日韩狠狠色| 99精色| A片试看120分钟做受视频红杏| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 五月激情丁香久久综合网| 亚洲精品电影| 天天操天天谢| 大香蕉伊人99| 这里只有精品96| av大片在线| 日韩无码性爱| 影音先锋女人av鲁色资源网小说免费| 日日噜狠狠色综合久| 97婷婷狠狠| 婷婷丁香久久| 激情爱爱网站超大免费| WWW,五月天| 丁香五月天色| 可以看的av| 丁香五月婷婷啪啪| 99热网址| 九九热这里只有国产精品| 精品无吗va视频免费观看| 五月丁香福利| 欧美婷婷综合网| 九九伊人网| 另类国产综合| 色噜噜狠狠一区二区三区| 激情色五月天| 免费黄色AV| 99在线精品观看99| 丁香六月情| 99热这里只有精品免费| 4399伦理午夜| 欧美激情-区二区三区| 狠狠爱五月婷婷| 欧美韩国日本| 久色网址| 99热热这里只精品996小说| 婷婷五月色| 欧美月久久| 天天日人人| 激情纯色婷婷五月天在线不卡视频| 色香欲综合| 狠狠干狠狠干| 免费九九热| 色婷婷丁香| 东京热免费视频| 影音先锋男人资源站一区二区 | 五月激情网综合| 99riAV国产精品视频| 久草婷婷网 | 五月天婷婷操逼视频| 亚洲综合五月天| 久久在线大香蕉| 色五月天综合| 91一起操| 激情五月色综合网| 天天做天天爱天天玩| 婷婷五月天基地| 婷婷五月丁香花综合| 久9视频| 六月丁香婷婷五月| 97色精品视频| av网站中文| 日本久久99| 婷婷伊人中文字幕| 俺去也五月天| 五月天婷婷激情网| 六月婷婷视频| 欧美日本国产欧美日本韩国99| 亚洲精品操一操、噜一噜、摸一摸、爽 | 99视频久久| 91精品综合久久久久久五月丁香| www,999日本色| site:xiongshengzz.com| 91AV婷婷| 97在线精品| 4438激情网| 婷婷色色欧美| 超碰免费99| 在线观看亚洲AV| 五月婷六月婷婷| 五月天激情美女久久| 久久人妻爱爱| 婷婷综合性爱网| 91dy.av| 丁香六月综合激情| 五月天欧美激情| 丰满少妇猛烈A片免费看观看| 丁香五月AV综合| 日日夜夜狠狠| 天天摸夜夜爽天天做| 涩五月婷婷| 天堂AV三级| 精品婷婷| 色婷婷成人影片| 99热免费| 婷婷草| 31色区视频免费看| 天天操夜夜爽歪歪| 五夜丁香| 亚洲无码99| 天天搞夜夜叫| 超碰免费人人肏| 丁香婷婷精品视频| 久久久婷婷五月天| 五月婷婷婷丁香播| 色婷婷99| 激情五月天丁香| www狠狠com| 99re免费精品视频| 婷婷五月丁香在线观看| 精品AV无码超碰| 九九视频这里只有精品在线播放| 婷婷五月天 丁香五月天 裸体| 五月天成人手机在线视频| 欧美久热| 婷婷五月丁香基地| 国产激情综合五月久久| 嫩草AV久久伊人妇女超级A| 97婷婷丁香五月| 久久激情四射| 精品激情| 综合五月激情网| 91久草五月天婷婷| 狠狠色成人影片| 丁香五月天婷婷久久| 色九九综合色| 婷婷91| 色婷婷成人影片| 1024操逼| 欧美性爱五月天| 五月亚洲激情| 九九性爱网| 热99在线精品| 五月婷婷香蕉| 亚洲视频国产一区| 久在线88综合| www激情| 久久er+| 亚洲国产黄色电影| 天天操天天插| 性色天| ri电影在线| 超碰在线资源| 99精品国产乱码久久久人妻| 亚洲视频操| 99视频精品视频| 97人人操人人拍| 激情五月综合网最新| 这里只有精品热| 亚洲影院婷婷色| 99视频这里有精品| 天天 青草 丝袜制服 在线| 4438国产免费看| 亚洲视频在线观看| www.婷婷| 日韩在线观看亚洲| 久久这里只有精品视频1| 色色色色色色色色五月先| www.97视频| 五月天狠狠干| 天天日狠狠| 色五月天婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷婷 | 色婷婷亚洲婷婷| 亚洲一区二区无码蜜乳av| www.91婷婷| 国产黄大片在线观看画质优化| 丁香五月天成人网站| 九九操操| 91丨九色丨熟女丰满| 亚洲精品操一操、噜一噜、摸一摸、爽 | 久久a热| 丁香五月六月婷婷殴美综合| 激情图片亚洲| 久久婷婷五月综合色奶水99啪| 国产黄大片在线观看画质优化| 色色五月天丁香婷婷| 26uuu激情五月天| 五月天婷婷影院| 欧美日韩五月婷婷| 成人午夜视频精品一区| 日本丁香五月| 五月天色丁香| 色色色色色色色色五月先| 亚洲精品乱码久久久久久综合| 大香蕉伊人爱在线| 久热亚洲| 欧美操逼天堂| 狠狠色丁香久久婷婷综合五月| 99燥99日| 香蕉影院色| 色婷婷基地| 久久最新色| 婷婷五月天激情五月天深爱五月天| 婷婷深爱色五月| AV电影在线播放| 国产亚洲av片| 888久久久| 激情综合网激情五月天| 国产超碰在线| 国产成人精品一区二三区熟女在线| 久操热线| 天天日天天色| 亚洲妇女熟BBW| 大香网伊人久久综合| 在线中文字幕视频| 思思久久精品| 丁香五月综合| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 99熟女啪啪视频| 97操碰视频| 色五月亚洲开心网| 丁香六月无码播放| 婷婷五月天Av| 婷婷日本在线| 噜噜噜噜在线| 热婷婷av| 婷婷五月天激情小说| 久久婷婷网| 97五月天| 色播丁香| 综合另类视频| 久久精品色| 无码色| 亚洲无码九九| 五月婷婷激情五月| 五月婷婷之综合激情| 五月综合婷婷久久在线| 五月天婷婷亚洲| 青青草成人网| 欧美在线操| 欧美日韩一区二区三区四区| 丁香婷婷久久 | 熟女乱论网| 五月丁香综合网色欲| 一起草无码| 色情激情五月婷婷| 操九色| 狠狠色噜噜狠狠狠狠综合| 五月天婷婷基地| 婷婷97狠狠干| 26uuu亚洲欧美| 610018岁成人视频| 9色在线| 午夜色色色极品视频| 久久亚洲无码| 五月婷婷九九久久| 丁香五月综合AV在线| 色色六月| 五月噜噜| 人人干AV| 天天日天天干天天操| 久久欧洲综合网| 丁香五月激动深爱欧美| 五月丁香综合网| 欧洲色色| 四月婷婷五月色综合| 丁香婷婷天堂| 激情视频网址| 日韩一区二区A片免费观看| 婷婷久久五月丁香| 色月九九| 五月婷六月婷婷| 超碰在线人妻| 久草婷婷视频| 99视频在线观看地址| 国产精品色婷婷AV综合色色| 丁香六月亚洲| 欧美A级网站| 婷婷综合偷拍| WwW色婷婷| www.狠狠| 人人干女人| 色综合日日| 婷婷激情五月天综合| 欧美丁香五月| 婷婷六月偷拍| 精品欧美性爱超级爽| 久色激情| 色亚洲欧洲| 六月丁香婷婷网| 91精品综合久久婷婷九色| 《亚洲操B久久免费在线观看,亚洲操B久久在线播放》在线播放 - 高清资源 - 97 | 久久九九九九| 五月丁香亭亭A片| 色噜噜狠狠色综无码久久合欧美| 91丁香五月| 六月丁AV| 韩国天天婷婷| 婷婷性爱五月天| 久久婷婷欧美| 五月丁香天堂网婷婷| 99久久亚洲精品视频| 久久婷婷综合国产| 海外网站专业操老外| av操逼网| 日韩AC在线免费观看| 亚洲V国产V欧美V久久久久久| 91丨九色丨熟女高潮| 婷婷久久五月天丁香| 久久久久人妻网址| 婷婷成人视频| 99这里有精品视频| 99久精品视频| 内射综合网| 91凹凸在线| 丁香婷婷色五月激情综合| 天天做天天爱天天玩夜夜爽| 开心五月深爱激情| 天插天啪天啪天啪| 丁香五月综合在线观看| 99精品亚洲| 99久久综合| 99热这里只有精品18| 这里只有精彩视| 26uuu另类| 怡红院院久久| 色五狠狠| 五月丁香六月婷婷激情视频在线观看免费 | 操碰99| 影音先锋91| 99爱爱网| 91综合在线| 无码九九| 伊人超碰| 五月激情偷拍| 天堂色婷婷| 人人草开心五月天| 五月丁香婷婷久久| 亚洲人妻av| 欧美性猛交AAAA片黑人 | 亚洲熟妇AV乱码在线观看| 欧美情色电影一区二区| 日韩AV一区二区三区| 婷婷欧美激情| 激情六月婷婷| 人人操Av| 五月天婷婷丁香六月| 成人丁香婷婷| 午夜激情综合| 久久小说| 五月伊人婷婷999| 99热亚洲综合| 色婷婷XXXXX| 日韩抽插操逼| 99久在线精品99re8热| 伊人久久大香线蕉av一区| 97AV在线视频| 久草婷婷网| 色婷婷综合丁香五月天| 人妻操逼视频。| www婷婷亚洲| 亚洲精品午夜国产va久久成人| 深爱五月婷婷| 日韩一级片| 丁香婷婷老熟女综合网| 激情久久久久久久久| 五月婷婷丁香啪啪| 色综合色综合色综合| 五月丁香六月婷婷视频| 91碰在线| 色综合综合综合| 六月婷婷网| 亚洲午夜精品久久久久久人妖| 丁香五月天激情小说| 激情小说婷婷| WWW.国产| h亚洲| 天天综合色丁香| www.深爱激情| 婷婷五月色| www.九月婷婷丁香.com| 婷婷五月蜜桃成人桃色丁香| 久久99网| 三十熟女| 五月丁香 啪啪| 五月久久亚洲| 狠狠干夜夜干| 色色九区| 亚洲婷婷激情888精品久| 婷婷操久久| 精品少妇人妻AV无码专区偷人 | 国产婷婷五月| 久久激情综合| 92久久| 99热草草| 久久亚洲色导航| 五月天婷婷基地| 极品少妇XXXX精品少妇偷拍| 日本一级特黄大片AAAAA级| 婷婷五月丁香成人| 99国产在线| 五月天激情亚洲| 99 热国产在| 婷婷五月天堂| 婷婷综合九色伊人| 秋霞三级影视资源| 色情五月婷婷| 亚洲色夜| 狠狠色综合精品视频在线| 久久婷婷五月综合| 99视频精品| 婷婷五月天免费视频| 超碰在线国产| 免费人人操| 美女激情婷婷| 专区无日本视频高清8| 亚洲不卡欧洲| 丁香婷婷六月| 五月婷婷精品视频| 久久久久久久久久久jjjj| 99久久久国产大片| 婷婷天堂综合| 97婷婷在线| 色丁香影院| 亚洲乱码日产精品BD| 五月丁香日本一抹本| 色婷婷偷拍| 91呦呦呦| WWW.夜夜| 久久精品国产精品| 激情五月无码| 伊人综合网站| 激情婷婷综合| 99热这里只有精品99| 超碰av在线| 98色花堂98t.R| 六月婷婷最新网址| 新五月天婷婷激情电影| 亚洲亚洲人成综合网络| 国内婷婷丁香社区在线播放| 五月婷婷六月色| 在线视频另类| 天天操天天操天天操天天操天天操天天操天天操天天操天天操 | 高清无码 一区 二区 三区| 六月婷婷激情| 丁香婷婷色| 香蕉人在线香蕉人在线 | 激情玖玖综合网| 五月婷婷伊人久久| 97一区二区| 涩涩涩婷婷| 中文中文在线| 一级A片天天操夜夜操| 国产成人AV| 91啪级电影| 激婷网| 六月丁香深深爱| 免费看欧美成人A片无码| 三区激情四射av| 五月婷婷五月天| 欧美色播综合在线观看| 精品人妻一区二区三区在| 婷婷情色五月| 欧美国产一区二区三区| 丁香五月激情月| 丁香六月激情综合| 亚洲无码成人| 色色色婷婷五月天| 欧美婷婷六月丁香综合色| 99精品在这里| 五月婷丁香花| 久久一级AV| 久久99成人性爱高清视频| 潘金莲AAAAAAAAAA| 九九热在线视频观看| 91久久免费| 五月天久久综合| av大香蕉| 亚洲三级无码| 国产成人亚洲综合A∨婷婷| 97色五月丁香婷婷| 婷婷狠狠18禁久久| 激情小说五月天社区丁香| 99超级碰免费视频| 久久狠色噜噜狠狠狠狠97| 久久视频这里有精品99| 91ncm视频| 激情五月婷| 成人综合网站| 六月丁香社区| 欧美婷婷日本| 天天爽天天操| 日韩色情亚洲五月天婷婷| 久久亭亭电影| 中文字幕在线观看视频www| 丁香午月AV中文字幕| AV成人在线网站| 婷香五月激情视频| 性日本激情| 91一起操| 99re鈥哸鈥唙| 最新av在线观看| 中国女人做爰A片| 呦呦v线| 精品国产乱码久久久久夜深人妻| 一起草性爱不卡视频| 91狠狠色色丁香婷婷综合久久| 五月婷婷婷婷| 丁香六月婷婷姐网| 日韩啪啪网| AA丁香综合激情| 天天综合社区| 日本a片网址| 激情婷婷激情在线不卡| 超碰在线成人| 五月丁香花开综合网| 国产女18毛片多18精品| 99精品在线| 丁香五月中文字幕久色| 亚洲中文字幕av| 五月婷婷激情五月| 深爱五月激情| 欧洲第一无人区观看| 99亚州综合精品成人网| 97极品在线| 成人无码精品1区2区3区免费看| 少妇激情五月天| 久久婷婷五月国产色综合激情| 亚洲激情四射色| 99热亚洲| 成人五月天视频播放| 婷婷97| 婷婷五月超碰| 五月婷丁香| 久久性爱视频网站| 色色aⅤ網| 大香蕉久久久久| 99riAV成人在线视频| 色婷婷亚洲婷婷| 久久五月天色| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| AV网站免费在线| 1024AV视频| 色五月综合网| 婷婷六月亚洲综合| 婷婷丁香六月影视| 日本欧美在线| 色欧美影院| 99综合色色色| 免费看欧美成人A片无码| 國語久久婷| 天天爽成人综合网站| 曰韩五月丁香色婷婷无码| 色五月综合在线| 五月激情综合网| 国产精品A片| 五月丁香激情五月天| 色七七九九| 五月色丁香婷婷综合| 国产无遮挡又黄又爽免费网站| 99热18| 婷婷色操| 99看片| 99热视精品| 综合激情网| 五月天啪啪| 激情婷婷在线中文字幕| 99热欧美精品| 色444综合网| 婷婷激情视频| 欧美性色视频| 夜夜骑夜夜操| 久久黄色片| 色综合日日| 人人爽在线视频综合网| 依人大香蕉| 丁香五月91| 激情人妻综合| 婷婷激情人妻| 九九99香蕉在线视频播放| 国产美女无遮挡裸体毛片A片 | 99无码视频| 丁香五月天欧美| 久久国产性爱A V| 99re熱| 九九激情网| 超碰碰碰碰| 色墦五月丁香| 丁香婷婷精品视频| 激情com| 色情五月丁香婷婷网| 五月婷婷新网站| 婷婷五月中文在线| 夜夜躁狠狠| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 天天成人丁香美女AV| 五月婷婷这里都是精品| 婷婷丁香五月av| 99婷婷五月天| 伊人丁香五月| 婷婷五月天亚洲精品| 2w在线视频| 亚洲无码成人性爰网| 久久伊人日日夜夜| www五月天激情com| 婷婷成人五月天成人文学小说| 五月天夜夜爱夜夜操| 色射婷婷五月天| 亚洲婷婷激情五月天| 五月激情天天干| 新激情五月天色播| 99热九九热| 中文在线成人| 成人看片网站| 色色色色热| 日本精品久久久久中文字幕| 色五月,com| 色综合色色| 99热啪啪| 国产精品18久久久| 91狼友视频在线观看| 久久国产AV| 天天操婷婷| 久久久人妻人伦| 精品色情一区二区三区四区| 中国AV性爱观看| 啪啪亚洲综合| 九色91视频| 99久久9| 婷婷在线中文字幕| 天堂网色色| 色综合激情| 国产裸舞福利资源在线视频| 天天操天天草天天草天天| 色丁香五月婷婷| 色播播五月天| 97男人天堂| 一区视频网站| 天天天天天色| 狠狠干综合| 五月色综合| 亚洲天堂婷婷| 国产精品人妻欲求不满| 狠狠色狠狠鲁| 五月丁香激情综合| 色婷婷影视| 色婷婷影视99| 亚洲五月天色| 深爱婷婷丁香五月激情| 久久婷婷伊人| 亚洲无码影音| 丁香狠狠操| 99热99在线| 狠狠激情五月天| 91色久| wwwss在线观看| 影院久久久| 色很很96| 亚洲精品婷婷| 男女啪啪做爰高潮无遮挡| 日韩性爱无码| 就99这里只有精品| 九九热这里只有精品6| 99操逼| 99热99天堂| 思思视频精品| 91色操| www.婷婷com| 激情亭亭五月| 色五月久久成人婷婷| 国产毛片精品一区二区色欲黄A片| 综合久| 99人妻碰碰碰久久久久| 伊人综合网4| 六月99天天婷婷激情综合| 婷婷丁香日韩五月| 性爱综合网| 夜夜爱网站| 校花娇喘呻吟校长陈若雪视频| 狠狠狠狠狠狠色| 人人人操97| 能看的av| 婷婷五月天激情电影| 色丁香在线视频| 99热亚洲精品| 色五月婷婷激情基地| 亚洲成人电影aaaa| 久久九九99| 玖玖婷婷精品| 婷婷五月天干干| 五月激情小说| 99免费在线| 大香蕉人在线65| 婷婷五月六月丁香综合| 双性美人被调教到喷水A片| 粉嫩av懂色av蜜臀av熟妇| 日韩无码色色| 99久久喉9| 亚洲色情免费网| 成人精品在线| 五月丁香久久综合色| 色色综合视频| 免费视频WWW在线观看网站| 日本久久网| 欧美视频五区| 99久久.www| 99亚洲色色| 五月婷婷涩涩爱| 天天弄天天爽| 开心激情综合| 九九九热精品| h亚洲| 丁香五月激情综合婷综| 99热这里精| 性无码专区无码| 99在线精品视频免费| 欧美婷婷丁香五月社区| 日本丁香久在线| 色色色无码| 色婷婷丁香AV综合| 丁香五月停停av| 五月丁香六月片| 激情网狠狠干| 性做爰1一7伦| 五月婷婷开心色伊人| 欧美性做爰大片免费看办公室| 九九国产精视频| 俺去也五月天婷婷| 婷婷丁香五月麻豆| 99九九精品| 99操中文视频| 色狠狠综合| 色婷婷五月天中文字幕| 五月天婷婷在线AN| 6月丁香婷婷| 夜夜干 夜夜操| 秋霞免费三级片| 色色色成人网| 久久只有这里精品免费| 天天日天天爽| 天天爽天天日人人爱| 五月婷婷综合在线| 99热九九这里只有精品| 99综合| 99 频99热国里只有精品| 女人高潮内射99精品| 五月丁香狠狠爱婷婷综合| 嫩草AV久久伊人妇女超级A| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 玖玖资源站蜜臀| 国产操逼视频网站| 丁香美女五月天婷婷| 激情伊人网| 六月丁香色色| 99视频在线播放大全| 亚洲av综合网| 俺来也综合网精品一区| 99性色| 婷婷丁香五月久久| 伊人丁香五月天丁香在线婷| 婷婷丁香综合成人| 色播五月丁香综合| 色99在线| 亚色网站小视频| 五月丁久久| 开心激情网五月| 亚洲午夜Av| 91九色国产| 久久色五月天| 久久婷婷五月综合色丁香花| 综合激情五月天六月婷免费视频| 丁香婷婷色九月| 欧美性爱中文字幕| 色噜噜狠狠色综合网| 婷婷激情五月| 91操操操| 五月婷婷黄| 五月丁香综合啪啪| 亚洲成人色五月婷婷综合| 亚洲V国产V欧美V久久久久久| 激情五月天色婷婷| 韩国19 主播内部福利vip免费播放| 日韩综合久久| 五月婷久久| 亚洲 在线 另类| 激情五月婷黄版| 亚洲丁香五月综合| www.色色com| 色吧五月婷婷| 91人妻视频| 久婷婷五月天影院| 婷婷五月天AV| 99色色色色| 成人av播放| 欧美搡BBBBB摔BBBBB| 婷婷激情小说| 色很很96| 亚洲成人在线观看网址| 日韩一级片| 五月婷婷婷婷婷婷艺术| 4399在线观看免费毛片| 日日爽夜夜爽| 婷婷十月激情综合网| 色色婷婷五月天| 天天射天天操天天干| 亚洲不卡欧洲| 丁香五月六月激情| 成人婷99最新| 97人碰人操| 99热大香蕉| 丁香五月婷婷成人网| 亚洲免费电影2| www国产亚洲色婷婷com| 婷婷五月综合网| 99年操人人爽| 在线中文av| 婷婷五月六月丁香综合| 狠狠色综合网| 伊人久久大香线蕉亚洲五月天,| 丁香色色色| 快色t v在线入口| 久久激情五月| 大香伊人婷婷影院| 中文字幕在线日亚州9| 五月婷婷六月色| 色婷丨日丨天丨综合久久| 丁香五月婷婷av| 亚洲视频在线网站| 99超级碰免费视频| 激情五月天伊人影院| 五月综合视频在线| 亚洲另类毛片| 免费黄网不卡AV| 成人日韩欧美| 噜噜狠狠色综无码久久合欧美| 婷婷五月丁香综合激情小说| 婷婷午夜综合| 国产偷人爽久久久久久老妇APP| 色五月色五天色情网| 五月天婷婷丁香社区| 99精品视频在线免费观看| 婷婷久久精品| 五月做爱| 免费看欧美成人A片无码| 亚洲成人一区| 色色亚洲视频| 婷婷五月激情六月丁香| 99热偷拍| www热久久yy9| 九九色插| 超碰v| 99亚洲精品视频| 婷婷午夜综合| 亚洲综合色色色| 青青草搞屄视频网站| 久99热| 性天堂久久| 九九九九成人| 久久久久9久无码视频| 99精品偷自拍| 精品色| 97干欧美| 五月婷婷成人| 逼里香不卡| 久久99这里只有精品视频| 天天爽夜夜爽夜夜爽精| 九九热在线观看6| 天天操加勒比| 玖玖午夜视频| 六月婷婷AV| 色约约视频一区二区三区四区五区| 在线99热| 久久激情五月| 99热这里只有精品55| 五月丁香性爱| 色99热| 婷婷婷久久久| 激情 婷婷| 这里只有精品视频在线| 五月天最新网| 五月天婷婷在线播放| 婷婷色情五月| 五月丁香做爱视频| 五月天伊人手机在线播放AV| 99精品视频在线| 伊人五月久久| 天天模,夜夜模夜夜爽| 五月丁香六月欧美综合| 丁香五月综合福利视频导航| 婷婷五月天另类视频| 五五月丁香花激情综合网| 色丁香五月婷婷婷| 欧美丁香婷婷天天操| 久久亚洲A| 激情丁香久久| 99久久偷拍视频| 五月天激情图片网| 在线看av| 日本人人干| 五月丁香久人妻中文| 丁香六月婷婷久久高清| 婷婷在线综合| 亚洲精品视频在线播放| 91精品久久久久久久久| 五月婷婷综合久久| 亚洲人妻av| 五月色婷婷在线观看| www.激情五月天.com| 亚洲婷婷开心五月| 丁香六月天色婷婷| 丁香五月天激情网| 九九精品视频在线观看| 久色欧美| 婷婷五月天网址| 久久9久| 99视频只有精品| 亚洲精品又粗又大又爽A片| 亚洲视频一区| 色天堂婷婷| 国产亚洲色婷婷久久99精品9j| 伊人五月综合网| 色婷婷69| 狠狠五月激情在线| 婷婷夜夜夜夜| www.minyis.com【JT】实力收量可预付QQ2101460746 | 激情国产五月| 99久久偷拍视频| 婷婷五月天久久综合88| 五月丁香另类图片| 亚洲第一色色色色| 丁香激情婷婷网| 国产色五月| 九九这里有精品| 丁香五月成人| 亚洲无AV在线中文字幕| 精品自拍99| 91精品91久久久中77777久久玖玖九九| 婷婷色五月激情| 激情五月婷婷在线区| 天天摸色吧天天摸色吧| 大香蕉久热| 九九热精品在线| 国产精品国产成人国产三级| 九九久久腿| 无码区婷婷五月花开| 久久6这里只有精品| 99热这里只有精品在线播放| 狠狠狠狠狠狠色| 人人操av| 激情图片亚洲| 久久人人超| 夜夜噜夜夜奇| 开心五月网 | 热99久久这里只有精品| 五月婷婷开心网| 综合色99| ady狠狠入| 玖玖在线视频| 婷婷丁香五月天中文字幕| www,色婷婷| 五月丁香在线| 色婷婷精品视频在线播放| VA色婷婷| 五月丁香人人婷婷在线观看| 久久综合五月天| 99热这里是精品| 综合久久首页| 亚洲激情淫网| 精品无吗va视频免费观看| 久久久久人妻网址| 丁香亚洲色综合| 丁香综合婷婷开心激情网| 97五月天婷婷| 国产色网站| 涩丁香| 狼人久草| 五月婷婷福利| 色五月六月| 色婷婷丁香AV综合| 亭亭玉立国色天香| 天天插天天射| 无码少妇高潮喷水A片免费| 激情綜合網址| 亚洲五月天狠狠| 99操碰| 婷婷五月另类网站| 色欲一区二区三区精品A片| 久久精品99| 人人综合五月人人婷婷| 五月亭亭激情综合| 六月丁香av| 亚洲午夜国产成人电影VA国产欧…| 久久综合丁香| 激情小说五月欧美亚洲丁香| 五月天激情四射| 99色精品| 99热这里只有免费| 久久99热这里只频精品6学生| 超碰在线网站| 天天情色五月天| 在线只有精品| 久久新| 丁香六月婷婷一区二区三区| 26uuu国产| 婷婷丁香亚洲色综合91| 99激情在线| 99热啪啪| 91丨九色丨白浆秘| 激情综合网激情五月俺也去| 思思热这里只有精品视频666| 五月婷婷免费在线观看视频| 亚洲精品又粗又大又爽A片| 婷婷爱爱蜜臀天天操| 婷婷六月亚洲综合| 墨西哥毛片内射精| 欧美槡BBBB槡BBB少妇| 五月亭亭色| 色色综合视频| 中文字幕无码人妻少妇免费视频| 97色片| 五月婷婷开心网| 99九九热播在线免费视频| 婷婷狠狠五月综合| 五月丁香啪啪| 99久久婷婷国产综合精品青桔| 天天肏天天肏天天肏| 夜夜躁狠狠 | 久思思热视频在线观看| 婷婷丁香五月综合免费视频百花| 久久婷婷五月丁香蜜桃网| 夜夜躁狠狠| 色色激情五月| 成人午夜免费电影| 97 A I色色| OYIWbGcPu8H| 五月丁香六月婷婷综合伊人| 26uuu欧美| 婷婷五月成年人| 人妻操逼视频| 99热国品免费| 97色婷| www.五月天色色.com| 五月婷婷啪啪| 成人网页在线观看| 美女五月天| 亚洲五月六月婷婷| 久久人妻系列| 婷婷五月久久| 日日操,夜夜爽| 色级停停| 99视频这里只有久久精品| 国产熟妇乱子伦hd| 91精品国产综合久久密臀| 五月天婷a在线| 色射婷婷五月天| 激情五月婷婷老师| 亚洲五月天婷婷综合| 九月丁香八月婷婷加勒比| 欧美熟女乱又伦| 一区二区三区四日本| 六月婷婷国产| 中文字幕成人版| 亚洲99热| 五月婷婷九九久久| 国产视频婷婷| 操逼巨乳91| 婷婷99热| 另类小说五月天| www.狠狠操| 五月天婷五月天综合网在线观| 嫩草AV久久伊人妇女超级A| 色色日韩无码| 97婷婷五月| 直接看的av| 中文字幕精品在线观看| 久久99网站| 五月婷婷丁香五月亚洲色| 蜜臀AV在线观看| 99在线国| 超碰色人妾| 欧洲亚洲午夜| 激情五月婷婷综合| 色欲一区二区三区精品A片| 丁香五月23111| 亚洲激情| 激情综合五月天| 少妇AB又爽又紧无码网站 | www.色综合.com| 婷婷五月天综合激情| 最近中文字幕大全免费版在线| 激情五月丁香在线观看直播| 婷婷五月天亚洲综合网| 狠狠穞A片一區二區三區| 五月丁香婷婷在线| 五月天偷拍| 成 人 色 色| 琪琪色热色色| www.超碰在线| 激情播丁香| 久久综合站| 丁香久久五月婷综合| 人人草成人视频| 亚洲综合激情五月久久| 深爱激清网| 天天综合网91| 中文字幕日产A片在线看| 五月丁香婷爱在线| 中文字幕,综合,91| 丁香五月天啪啪| 久久这里99| 伊人色综合久久久| 婷婷成人五月天| 日本 @ va 免费| 色热久| 这里只有精品96| 日韩黄色电影| peg 2区三区四区的| 99热免费18| 久久久com| 婷婷丁香五月综合激情视频| 9191avse| 怎么样可以看免费的一级av| 丁香五月婷婷AV在线| 亚洲艹网| 五月成人丁香av91| 色欲天天综合| 我爱va亚洲va52| 色五月五月婷婷| 精品香蕉99久久久久网站| 综合性爱网| 五月丁香狠狠爱婷婷综合| 任你日热视频| 97色吧| 少妇性按摩无码中文A片| 欧美熟女乱又伦| 91婷婷搞| 五月婷婷视频| 99热播放| 五月丁香拍拍激情综合| 久久久久久久久久久97| 年轻的妺妺伦理HD中文| 色婷婷五月天在线观看| 婷婷丁香高潮了| 中文字幕丰满人妻无码专区| 国产成人AV不卡| 五月天丁香网| 五月花丁香婷婷| 思思色播| 婷婷娌伦网| 亚洲五月婷婷| 色爽九九| 久草xx性爱视频| 日日干五月天婷婷| 伊人久久大香线蕉综合网站| 天堂无码人妻精品AV一区| 久久婷婷五月综合激情国产 | www.爱操com.| 日本WWW九九九| 丁香六月婷婷基地| 婷婷爱五月天| 五月色综合| 五月婷婷开心深| 99玖玖免费视频| 婷婷九月丁香中文| 久久精品99| 国产成人在线精品| 玖玖资源站蜜臀| 激情播丁香| 色婷婷丁香网| 91操人视频| 4399伦理午夜| 久久综合图片|