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

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
返回資訊列表
色哟哟精品| 五月亭大香蕉| 亚洲第一成人无码A片| 六月丁香五月天| 九色婷婷| 大香蕉220| 久久大香蕉同僚| 婷婷六月久久综合导航| www.99操.com| 丁香色五月婷婷| 国产SUV精品一区二区883| 情色婷婷五月天| 4399成人黄A片| 五月丁香综合中文| 婷婷五月天情色| 久久婷婷超碰| 激情综合五月色丁香婷婷| 天天干天天做| 思思热在线精品视频网站| 九九热在线99| 婷婷丁香77777| 久久99热这里只有精品| 国产精品久久久99视频| 婷婷五月天综合久久| 高清a片基地| 激情五月丁香激情综合网| 91久久久久久| 深爱开心五月天| 九九伊人网| 五丁香激情综合| 婷婷久久五月天| 狠狠狠五月婷婷六月丁香| 国产精品VIDEOSSEX久久发布| 韩国情人在线电视剧免费观看高清版全集 | 久久久久这里只有精品| 伊人久久大香线蕉综合网站| 天天色天天日天天舔| 色五月婷婷丁香凹凸| 久久最新色| 色婷婷小说网| 亚洲无码另类| 日韩成人精品中文字幕| 婷婷五月天国产在线播放| 九玖视频这里只有精品| 久婷婷视平| 人人操AV| 热久久66| bukadeavzaixian| 99热激情| 久久AAAA片一区二区| 99亚洲天堂| 天天做天天爱综合| 五月婷婷偷拍| 色色97丁香婷婷五月天| 激情爱爱网站超大免费| 九九热免费观看视频| 狠狠综合久久综合| 人人干人人看| 五月丁香婷草| 青青草深爱激情网| 亚洲无aV在线中文字幕| 色噜噜婷婷| 九九视频在线观看| 日日夜夜小色哥| 99人妻碰碰碰久久久久| 91久操| 噜噜五月天综合| 婷婷八月激情| 色色五月丁香| 婷婷亚州综合| 婷婷丁香在线| 婷婷成人视频| 99re热视频这里只精品| 色婷婷丁香| 色色色综合色| 9999热精品| 婷婷综合在线| 色噜噜狠狠色综合日日| 丁香五月婷老师| 久久婷婷成人| 日韩欧美一道四区中文字幕| 一起草AV入口| A片试看50分钟做受视频| 五月天婷婷基地综合网| 无码区婷婷五月花开| 色综合久久天天综合网 | 久久东京热婷婷五月| 亚洲第一综合| 色综合99| 婷婷成人五月天成人文学| 爱草视频在线观看| 欧美精品99久久久| 婷婷五月丁香色播| 欧美激情伊人| 99热欧美精品| 伊人玖玖网| 99热最新国内| 亚洲乱码日产精品BD| 婷婷丁香五月亚洲17cao| 第四色婷婷五月| 国产五月丁香在线| 天天爽夜夜爽夜夜爽精| 美妞av| 99在线精品观看99| 亚洲精品在线视频| 一本九九色| AA片在线观看视频在线播放| 色九区| 婷婷淫淫狠狠六月| 亚洲综合五月| 六月婷婷av| www,五月天激情| 丁香六月婷婷一区| 玖玖在线资源视频| 思恩热国产视频右线观看| 夜夜资源站| 日本色色网站| 九九热九九| 日本毛片内射| 伊人狠狠丁香婷婷综合尤物| 免费黄色片子| 婷婷伊人无码| xxx日本东京热| 亚洲视频丁香网va| 麻豆科斗777| 婷婷六月丁香激情| 99热综合| 97五月天婷婷午夜| 久热只有这里精品| 天天综合精品| 久久久这里有精品| 久久艹 五月天| 五月天激情四射| 99色婷婷| 九九色插| 久久婷婷草| 欧美婷婷九月| 久久曰曰| 久色中文| 五月婷婷丁香五月| 综合网色| 午夜激情久久| 九九综合精品| 五月丁香婷中文| 天天操夜夜爱| 丁香五月综合激情性爱| 五月天国产| 丁香色色网| 欧美内射AAAAAAXXXXX| 国产一区二区av免费| 久久99久久99久久99人受| 色婷婷丁香五月| 青草青草视频2免费观看| 天天日色情| se婷97| 丁香五月网| 激情五月丁香社区| 婷婷五月开心中文字幕在线| 五月丁香色婷婷色| 97在线观看| 色偷偷AV亚洲男人的天堂| 日本人人超碰| 99热综合在线| 婷婷综合在线观看视频| 色综合色| 欧洲色色| av五月丁香| 九艹在线| 日本妈妈乱| 五月的婷婷六月丁香| 天天视频亚洲| 亚洲色网址| 99视频| 亚洲婷婷丁香五月| 亚洲精品五十一区| AV色婷婷| 久久曰9| 色在线99| 99热这里有精品| 久久综合最新网址| 丁香五月天啪啪| 中文字幕 久久9999| 99热在线播放| 秋霞少妇AV网站| 九色地址91视频| 欧美五月丁香在线| 婷婷婷久久久| 久久91久久精品久久| 九九热狼人| 久久99激情| 婷婷综合五月激情| 亚洲无码播放| 人妻日日日| 久久精品系列| 婷婷五月骚厕所| 任你爽免费视频| 五月婷婷六月天| 粉嫩AV久久一区二区三区| 成人人操| 99热无码精品| 大香蕉五月天婷婷| 一本到不卡高清DVD| 欧美人人操| 久久九九视频网站| 五月天久久网站| A片试看120分钟做受图片| 一本久道综合99| se色99| 丁香五月激情网| 五月开心久久| 久热黄色| 久久视频婷婷| 2013AV天堂| www.狠狠色.com| 99热老司机| 中文在线视频久9| 激情网 五月天| 亚洲天堂啪啪| 女人天堂 AV| 99热播放| 久久大香蕉视频| 综合六月激情婷婷| 婷婷D区| 天天操天天爱天天日| 日本九婷婷| 国产av网| 蜜臀嫩草| 97婷婷五月| 九九操综合网| 亚洲日本韩国| 五月夜丁香| 99热手机在线精品| ww亚洲ww在线观看| 91操操| 狠狠ri| www.色婷婷| 天天干天天做| 夜夜久久综合网| 99在线亚洲| 免费观看的av| 激情小说五月天| 噜噜狠狠色综合久| WWW.99视频| 日日天天干| 丁香五月玖玖| 久色婷婷200| 91性交在线播放| 成人欧美一区二区三区在线观看| 欧美大片| 亚洲天堂AAA| 久久久久久久久99精品| 免看黄大片AA | 五月丁香六月色婷| 色五月激情网| 婷婷丁香第一页| 天天日天天爽夜夜爽| 日韩一级A片黄色| 狠狠爱婷婷丁香| 热99久| www婷婷| 婷婷亚洲久久| 九色自拍| 色五月xxx| 五月天婷婷激情在线色图| 日韩AC在线免费观看| 天天开心AV色综合婷婷五月天| 疯狂做受XXXX高潮A片| 人人干天天舔| 色婷婷呢狠禁久禁| 五月激情婷婷丁香| 久99在线视频| 人人操AV| 亚洲无码九九| 婷婷少妇激情| 色色99| 五月色导航| 狠狠插.com| 丁香五月天色综合| 97婷婷五月| 国精产品一区一区三区免费视频 | 午夜福利成人AV91| 五月丁香六月成人| 色色狼人综合| 婷婷五月天基地| 亚洲色情免费网| 国产亚洲成AV人片在线观黄桃| 激情狠狠丁香月| 先锋影音男人的天堂AV| 91丨九色丨丰满人妖| 久热欧美| 丁香五月开心七月| 综合啪啪| 久久五月天色婷婷| 色色激情五月天| 日逼免费视频| 亚洲中文字幕翔田千里| 色私五月婷婷| 国产丁香五月天婷婷| 亚洲九九99精品视频在线播放| 激情综合网五月激情网| 热九九在线| 最近中文字幕2019视频1| 天天舔天天摸视频| 成人在线不卡| 97五月婷| 99久久久久| 五月婷婷播| 思思热在线| 开心五月婷婷在线| 成人欧美日韩| 久久婷婷免费| 人妻无码精品一区| 思思热99er在线视频| 97久久久久久久久久久| 婷婷综合视频| 久久综合天天综合| 九九热视频精品2| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 五月天婷婷爱| 呦呦AV| 99久久.www| 色婷婷香蕉| 精品无码99| 五月婷婷久久久| 成人.在线日韩| 91视频综合网| 俺也去综合| 色婷婷a v| 成人做爰A片免费看视频| 激情五月天激情小说| 欧美人与性动交CCOO| 久久久久久久久久人妻| 日日日日做夜夜夜夜无码| 五月天婷婷激情四射综合| 日韩AAAAA| 日日日天天干| 激情五月婷婷在线区| 啪啪操超碰| 午夜天堂一区人妻| 99热91| 六月婷婷在线| 五月丁香激情综合欧美| 亚洲激情亚洲激情| 综合激情在线视频| 另类亚洲电影| 狠狠色综合五月人人| 婷婷久久大香蕉| 色吧五月婷婷| 激情 婷婷 插| 婷婷另类开心| 五月激情丁香五月| 欧美日韩99| 五月情涩综合婷婷| 久久免费少妇高潮99精品| 五月婷婷中文| 国产精品成人AV在线| 亚洲综合婷婷六月丁香五月| 深爱网深爱综合网| 免费精品66| av久热| 日逼影音先锋AV男人资源站| 91se精品国产| 亚洲国产精品VA在线看黑人| 婷婷五月成人| 久久精品人妻| 91中文在线| 天天干一干| 另类五月激情| 色欲AV导航| 婷婷五月天少妇| 超碰99在线观看| 九九视屏| 婷婷九月狠狠色| 亚州第一A片| 超碰日韩人妻在线| 亚洲情综合五月天| 国产日韩精品SUV| 九九aV| 午夜丁香婷婷| 日日爽日日| 婷婷性爱网| 99ri精品在线| 色色五月天婷婷丁香| 亚洲无码你懂的| 国产91资源在线| 婷婷五月天激情小说| 色五月成人| 深爱激情五月婷婷| 日本婷婷五月天| 5月丁香啪啪啪| 九色PORNY自拍成人精彩视频| 激情丁香五月婷婷| 久久五月天网| 综合大香蕉| 色三级色三级| 五月激情六月综合| www.狠狠| 男同91 | 久久99三级在线视频| 日本网站久久| 欧美超碰人人| 亚洲色图五月丁香| 97精品综合久久| 色999五月色| 无码se| 欧美久久久久久久久中文字幕| av操B网站| av首页在线| 变态另类色图 | 婷婷另类开心| 热99精品视频| 五月丁香婷婷深深爱| 久久九精品| 久久久99视频| 九九热婷婷| 狠狠色狠狠| 婷婷综合| 最新高清无码专区| 特黄三级又爽又粗又大| 欧美久久网| 久99久在线| 做爱夜夜干天天操| 五月天激情网页| 91日视频| 超碰狠狠操| 亚洲精品操一操、噜一噜、摸一摸、爽 | 九九色大香蕉| www色婷婷久久综合久色| 五月婷无码| 天天 青草 丝袜制服 在线| 国产一二三四五六七八视频| 亚洲国产99| 色综合色五月| 久久久久久久久久久久久9| 高清免费在线视频| 六月99天天婷婷激情综合| 无码九九| 色五月天本日| 亚洲99热| 久久99大| 99久re热视频精品98| 色婷婷成人丁香| 久热这里只有精品视频6| 久久久久er热| 日韩人妻无码专区| 国产黄色大片| 99热最新精品| 99re8这里只有精品99re8热视频| 99热综合| 激情五月天福利| 丁香色婷婷| ss99热| 成人免费高清在线播放| 乱精品一区字幕二区| 五月丁香六月停停停| 五月婷啪啪| 色婷婷五月天天天天天天天天天| 人妻精品一区二区三区| 精品一二三区久久AAA片| 九一牛视频探花| 热99国产精品| 思思热视频| 丁香五月影院| 97热九九| wwwC0maV五月花| 91天天操天天干天天射| 亚洲精品九九| 9有码中文| 另类丁香五月天区图| 98色花堂98t.R| 精品一二三区久久AAA片| 99热线观看9| 白天AV月月| 五月婷啪啪| 超碰在线日夜| 五月六月播婷婷| 婷婷九月在线| 亚洲激情色色| 97色色婷婷| 狠狠色大香蕉| 婷婷六月色播| 亚洲精品白浆高清久久久久久| 日熟女| 玖玖九九99| 久久女婷| 丁香婷婷五月综合影院| 操日挥操日日| 国产精品久久久爽爽爽麻豆色哟哟| 国产精品99久久久久久猫咪| 久久丁香久久| 九九操屄| 99色丁香婷婷综合网| 亚洲丁香花色| 久久艹99| 五月天婷婷久久视频| 色.五月综合网| 激情综合4月| 色色免费网站| www.婷婷.com| 丁香五月在线播放| 丁香六月成人网| 丁香五月婷婷激情123| 丁香六月色婷婷| 色五月婷婷1| 99热这里只有精品国产精品| 狠狠精品干练久久久无码中文字幕| 在线99热| 欧美色图天堂网| 亚洲av网址| 久热播这里只有精品| AA片在线观看视频在线播放| 激情综合五月激情| 五月婷婷婷| 99九九热在线观看| 丁香五月激情啪| 蜜乳人妻一区二区三区| 丁香六月婷婷色XXXXX| 亚洲六月综合激情久久下卡| 国产丁香五月天婷婷| av在线资源| 日本99视频| 日韩啪啪视频| aⅤ79成人片| 伊久久婷婷| 久久最新色| 丁香婷婷五月激情| 婷婷五月丁香综合激情| 亚洲视频操| 九九热最新| 色原狠狠综合| 超碰在线综合| 六月丁香综合| 91碰碰碰| 丁香五月天信号| 婷婷久久大香蕉| 天天五月丁香五月| 久热这里| VA婷婷亚洲| 大香蕉在线99热| 亚洲九九99精品视频在线播放| 黄桃AV无码免费一区二区三区| 啪啪啪啪五月天| 极品人妻VIDEOSSS人妻 | 老师高潮流白浆喷水的A片| 五月丁香网中文字幕| 777米奇影视第四色| 色丁香在线视频| 国产精品久久久爽爽爽麻豆色哟哟| 婷婷激情五月综合基地| 伊人激情综合| 涩涩五月天| 丁香五月网址| 激情六月天| 色丁香久综合在线久综合在线观看| 成人网在线观看视频| 五月婷婷五月天亚洲无码| 色九月丁香婷婷蜜桃在线观看| 天天插插天天| 中文资源在线a | 丁香六月| 久久九九免费视频| 97干婷婷五月天| 亚洲传媒在线观看| www.五月天婷婷| 久久久婷| 大香蕉久久视频久久视频| 亚洲国产va| 1区2区视频| 五月在线| 日韩精品无码99| 色婷婷色综合激情91| 丁香六月啪啪| 久久久精久人妻| 超碰精品国产首页| 激情深爱五月婷婷| 啪啪日本欧美| 中文字幕AV在线| 婷婷五月天无码视频| 五月丁香婷久久| 五月丁香六月婷婷久久肏| 亚洲激情亚洲激情 | 婷婷9月天| 五月婷婷日| 六月婷婷天天操夜夜爽视频| 久久综合五月天激情小说网站| 婷婷五月激情视频在线| 久久久久9| 九九色婷婷五月天| 久久网日本| 第四色婷婷最爱| 亚洲精品网址| 公的粗大挺进了我的密道| 无码任你操| 另类视频一区| 婷婷丁香五月综合久久| 99精品视频网站| 午夜婷婷五月天在线| 99九九视频| 欧美顶级少妇做爰HD| 久久婷婷成人综合色怡春院| 噜噜色五月| 红桃91人妻爽人妻爽| 色综合久| 91人人爽久久涩噜噜噜| 欧美激情 日韩无码 婷婷 五月天| 五月天婷婷无码| 一起草av| 特级西西4444www无码| 婷丁五月| 日韩欧美老妇性视频91久久久| 色五月婷婷在线| 夜夜撸夜夜骑| 精品人妻久久久| 婷婷色九月| 色情网综合| 色综合五月| 色婷婷五月天久久| 五月婷婷干| 青草青草久热这里只有精品| 亚洲av成人电影在线观看| 九九99精品视频在线观看| 伊人婷婷色| 丁香欧美| 精品一二三区视频立| 97日在线视频| 国产精女同一区二区三区久| 婷婷六月色| 99热爱爱干干日| 日本社区五月天激情| av婷婷丁香 六月| 9 99免费视频| 四季日韩AV无码综合| 精品一二三区久久AAA片| 亚洲av成人在线| 99精品亚洲| 五月婷婷黄色视频| 亚洲欧洲色色| AV中文在线| 成人中文字幕在线| 亚洲成人无码免费| 日本三级99人妇网站| 天天干天天干天天干| 伊人久久婷婷| 美女精品一级不卡视频| 色婷婷婷婷| 天天射夜夜骑| 5月婷婷六月丁香| 天天骑日日爽| 婷婷五月激情综合| 久大香蕉| 久久人人九| 99啪在线视频| 深爱综合网| 久久人妻www| 九九热视频免费的| 日韩综合大黄| 去干网最新版本亚洲版| 激情校园 亚洲| 梁铮版《蜘蛛女侠》在线| 亚洲精久久| 中文字幕 码精品视频网站| 狼人婷婷综合| 日韩啪| 婷婷欧美激情综合| www99在线观看视频| 青青草原伊人网| 久久思思99| www.99精品视频| 五月丁香六月婷婷综合| 六月激情网| 婷婷之玖玖| 久久精品五月| 91视频免费后入强操| 日韩综合久| 九九十99视频| 色婷婷操逼| 精品婷婷| 久婷婷五月丁香在线观看| 激情综合网络插| 丁香婷婷免费| 婷婷色丁香五月| 五月婷婷精品无在线| 九九视频这里有精品| 日本颜色视频人人爱| 五月天四色房丁香亭亭| 97碰碰视频| 黄网在线播放| 五月天激情综合网| 无码激情AAAAA片-区区| 99视频热99| 欲求不满的人妻| 无码动漫AV| 色婷婷天堂| 成人午夜无码视频| 狠狠久久婷五月综合色| 好激情在线综合网| 日本色视| 色欲av伊人久久大香线蕉影院 | 色五月丁香五月激情五月激情| 欧美天天五月丁香免费观看| 久久A热| 99久久激情视频| 日韩成人电影在线播放| 婷婷伊人网| 亚洲乱码日产精品BD| 9热超碰| 伊人婷婷五月天av| 只有精品在线观看| 婷婷成人小说综合| 超碰人人干| 五月激情站| 久草热久草在线视频| 91久女| 五月婷激情影院| 婷婷国产综合| 狠狠搞亚洲| 色综合大香蕉| 九九九九九九九热| 五月丁香婷婷五月| 玖玖热视频| 婷婷丁香18| 99精品久久久久| 99这里的视频都是精品| 中文在线视频久1| 日本久久天堂| 亞洲自怕| 国产99热| 欧美3AaAa大片| 91精品国产91久久久久青草| 国自产拍偷拍精品啪啪一区二区| 91热手机在线| 国产欧美婷婷| 天天日夜夜曹| 99无码视频| www.99热精品99.com| 亚洲成人综合在线| 丁香五月无码| 九九热免费| 懂色av粉嫩AV蜜臀AV| 91色婷婷综合久久中文字幕二区| 深爱激情网噜噜色| 久久99精品视频| 一本色道久久综合狠狠躁一二三| 久热大香蕉| 色丁香六月| 天天玩夜夜操| www.99热这里精品| 深爱激情五月天色婷婷| 天天综合五月| 天堂在线伊久| 99这里只有精品视频在线| 强伦轩人妻一区二区电影| 五月丁香六月婷| 日本 色综合| 婷婷色五月久久| 久久98热re| 激情五月天久久| 性色欲情 网站| 丁香五月婷婷基地| 五月婷视频| 丁香五月亚洲激情婷婷射| 亚洲操b| 午夜少妇在线观看视频| 99免费热视频在线| 99爱视频在线播放| 人妻熟女一区二区AV| 婷婷五月天影院| 婷婷婷婷色| 精品欧美一区二区三区久久久| 久久六月天| 五月天亭亭俺也| 日韩二区搞逼插逼毛片| 五月总合激情网| 欧美日比视频| 色婷婷最新域名 | 少妇AB又爽又紧无码网站| 五月天开心色情网| 婷婷五月天无码| 亚洲精品一二三| 亚洲色色图片| 综合久久婷婷| 亚洲超级碰| 天天摸人人摸| 四川BBB搡BBB爽爽视频| 狠狠做六月爱婷婷综合aⅴ| 日韩久热| 开心激情婷婷| xxxx五月天色色| 99只有这里是精品| 少妇AB又爽又紧无码网站| 99久热| 九九热10| 在线视频激情网站| 色色色色色色网| 国内9l视频自拍老熟女九色| wwwC0maV五月花| 三十熟女| 99在线免费视| 91狠狠综合久久| AV九九| 亚洲欧美成人在线| 五月婷婷六月丁香综合| 欧美精产国品一二三区| 九色激情网| 色色色色色网| 久久五月情| 欧美色色色色色| 91热久| 婷婷五月天激情网站| 开心五月婷婷伊人| 永久AⅤ1| 色吊操色妞| 五月天激情电影| 丁香花五月天婷婷成人社区| SS丁香五月婷婷| 久久婷婷七月丁香| 天天色综合网吨吧| 午夜微拍福利| 26uuu亚洲欧美日本| 婷婷伊人综合| 色亚洲欧洲| CAoub青青超碰| 人人摸人人澡人人| 婷婷射图| 国产亚洲在线观看| 五月色视频| 99久久网站| 婷婷丁香五月天在线视频| 99热这里有精品| 六月天无码网址| 九九草草逼| 日本婷婷色日| 色综合丁香婷婷| 婷婷五月天色色| 久操b网| 亚洲爆乳无码精品AAA片蜜桃| 五月天成人网婷婷| 99爱操| 天天干天天日天天操| 五月天天综合| 五月丁香六月婷婷久久| 丁香女人五月天| 五月丁香婷婷综合| 思思热再线视频| 免费操超碰| 日韩狠狠色| 99色这里| 婷婷综合性爱网| 日韩啊啊啊| 久久婷婷亚洲| 亚洲精品久久久久久久久久吃药| 婷婷综合激情五月综合| 久久人视频| 超碰人人操在线| 五月丁香综合激情在线观看| 九月丁香网婷婷| 99热这里只有精| 99婷婷| 伊久大香蕉| 久久这里只有精品热在99| 国产在线中文字幕| 国产肥白大熟妇BBBB视频| 精品五月天| 久久多色| 麻豆观看夏晴子| 99爱视频| 性爱在线播放av| 丁香五月婷婷总啪啪| 欧洲一区二区| 开心四月婷婷在线色播播| 色色色1网址| 五月天大香蕉| 99热这里只是精品| 色噜噜狠狠色综合网| 亚洲妇女熟BBW| 久久丁香五月| 爱爱色五月天| 中文字幕性爱视频| 99九九精品| 久久小片| 永久思思热在线| 99视频这里有精品| 一起草av| 久久久久久婷| 丁香五月天激情视频| 久久机热思思热| 99久久综合网| 中文字幕综合色| 九九av| 婷婷五月天激情综合深爱激情| 九九aV| 91丨九色丨首页| 99热在线精品观看| 国产五月天欧美色| 免费AV黄在线播放| 久re热视频| 国产欧美日韩综合精品一区二区| 精品人妻伦一二三区久久| 色婷婷五月丁香在线观看| 五月婷婷六月丁香玖玖玫瑰91| 极品少妇高潮啪啪AV无码| 五月婷婷在线免费观看| 婷婷五月天va| 久久香蕉福利| 婷婷情色五月| 六月色色| 91色色色18| 狠狠色噜噜| 婷婷四月 成人 狠狠干| 激情 婷婷| 香蕉影院色| 俺去也综合| 丁香激情网| 五月激情综合深爱| 狠狠看狠狠| 五月婷婷色综图片| 91碰操| 97人碰人操| 99色嘟嘟精品网站| 亚洲无码11| 五月婷婷自拍视频| 777久久综合视频| 亚洲色图五月丁香| 99re视频在线精品| 大地9中文在线观看免费高清| 丁香五月激情啪| 亚洲精品午夜国产va久久成人| 另类小说五月天综合| 黄网网站在线播放| se色综合网| 蜜臀综合久草| 亚洲人妻av伦理| 婷婷色在线| www.91婷婷| 欧美综合激情丁香五月六月婷| 99热这里只有精品33| 久青青久| 99久在线视频| 《久久综合九色综合97婷婷| 婷婷中文综合网| 五月婷婷爽爽爽| 桃色五月天| 99热这里全都是精品| 久9久9热久热| 99操免费视频| 激情六月色| 99热.com| 四色AVwww| 久久久人妻门| 婷婷成人综合五月| 狠狠五月天婷婷| xxxx五月| 九九热a| 婷婷伊人网| 91精品在线看| av在线免费播放| 欧美天堂久久| 综合狠狠干| 超碰资源在线| 人妻激情视频| 青青草99热久久精品国| 5五月综合网亚洲| 国产精品成人网站| 亚洲热久| 激情伊人网| 亚洲成人网站在线播放| 一起肏在线视频| 91丁香| 9精品视频在线观看| 神马欧美精| 人人操人人爽成人AV| 国产成人AV在线播放| 欧美色偷拍| 在线观看996精品| 97碰碰在线观看视频| 五月婷婷导航| 九九色色色| 综合另类视频| www.99视频| 99re最新地址视频| www.99热国产| 婷婷国产日本欧美| 久久五月网| 婷婷六月天亚州| 色五月丁香网| 九九热婷婷| 五月天啪啪视频| 免费亚洲婷婷| 最近免费中文字幕大全高清大全1| 国产精品18久久久| 黃色三级三级三级三级 qixing300.shrkbk.com www.jinbozs.com tianmiaosw.com | 婷婷五月天综合AV| 丁香大香蕉| 久色资源| AA片在线观看视频在线播放| 色婷婷成人色网| 亚洲AV电影美洲AV电影| 二级黄色毛片| 91九色精品熟女内射| 狠狠干天天内射| 亚洲无码成人性爰网| 天天舔天天摸天天透| 久草热视频在线观看| 婷丁香五月天| 思思热视频在线观看| 国产成人精品亚洲线观看| 黄色高清无码| 视频一二区| 狠狠舔| 影音先锋 婷婷| 激情综合五月婷婷六月丁香| 午夜成人网站在线观看| 五月天激情网图片| 婷婷香蕉精品| 伊人五月综合网| 这里只有精品视频222| 色青青视频| 99热国产免费| 亚洲精品大片| 91色色五月天| 2016日日夜夜操| 噜综合| 色欲天天综合| 黄色三级日本| 国产露脸150部国语对白| 99久久高清视频| 日韩啪啪网| 狠狠干青青草| 在线天堂9| 疯狂做受XXXX高潮A片动画| 免费V片在线| AV电影在线播放| 国际国外精品欧洲南美洲专区无码不卡| 亚洲日日日| 五月婷综合| 日本久久久97| 超碰激情网| 狠狠色噜噜狠狠狠888了| 五月激情综合网| 99热这里都是精品| 久久综合网桃花| 99这里只有精品视频免费| 午夜婷婷五月天| 九九激情综合| 超碰97在线观看免费| www.99久久久| 天天干、天天日日| 大香蕉婷婷五月天| 99热人人艹| 九九热这里只有精品7| 丁香六月婷婷综合在线| 超碰99在线观看| 玖玖@三月天天丁香婷婷| 香蕉综合在线| 人妻自慰高清合集| 性爱视频99| 亚洲AV电影av| 九九综合久久丁香婷婷,开心激情综合网| 婷婷五月激情视频| 婷色五月天| 99热色婷婷| 丁香久色| 另类专区在线| 啪啪视频99| 精品人妻伦| 色播播五月天| av网站不卡在线| 日本九九九九| 五月丁香六月婷婷激情视频在线观看免费| 成人日韩欧美| 在线观看av网站| 婷婷五月天性| 99热只有| 丁香五月婷婷激情四射| 婷婷五月天六月| 五月丁香成人网| 天堂色婷婷| 五月婷婷 激情五月| 国产亚洲精品AAAAAAA片| 五月婷婷天堂| 99亚洲无码| 777精品久无码人妻蜜桃| 五月婷网| 丁香婷婷情色五月天| 精品二区| 久久机热这里只有精品免费视频| 五月丁香六月婷| 婷婷热色| 热99久久这里只有精品| 操一操干一干| 9热视频在线观看| 五月激情婷婷在线| 激情图片亚洲| 777.色色| 99色视频在线| 综合另类视频| 五月综合久久| 自拍视频在线观看9| 色色婷婷综合网| 成人精品在线观看| 久热91| 五月丁香亭亭操逼| 在线看av| 亚洲欧美国产高清vA在线播放| 日本欧美成人片AAAA| 天天做天天爱天天日| 婷婷五月天久久| 人妻久久久| 亚洲欧洲一二| 色婷婷丁香五月综合| 1024国产在线| 千人斩操逼| 99热在线观看| 婷婷六月丁香激情| 久久五月天婷婷| www.婷婷亚洲基地| 国产精品视频免费看| 中日韩狠狠色| 婷五月天| 99热99在线精品| 五月亚洲| 97热超碰| 天天干 夜夜爽| 六月婷婷操逼| 六月 丁香 视频| 婷婷天天五月天| 色久激情在线| 亚洲正能量欧美| 这里只精品热在线18| 国产一级黄色影片,| 就爱射中文字幕资源网| 欧美 色婷婷| 天天爽夜夜爽| 九九伦子片| 欧美一级操逼视频| 9 大屁股在线视频精品| 婷婷婷婷色| 欧美操我| 亚洲婷婷五月| 婷婷少妇激情| 99热伊人| 欧亚色色| 亚洲亚洲人成综合网络| 五月五丁香婷婷| 性爱网五月婷婷| 999热成人在线综合网| 九九伦子片| 日本婷色| 久久婷婷网| 99久热这里只有精品| 五月天激情综合首页| 九九热免费视频| 婷婷成人综合五月| 婷婷日韩| 天天做天天爱天天玩| xxxx久| 思思热视频在线观看| 亚洲九九免费| 人人插操| 五月婷婷中文| 激情综合国产| 97色色色色色| 中文不卡一二三区| 久久久高清| 天天色视频| 97久久精品| 亚洲综合九九| 中文字幕 久久9999| 大香蕉在线观看9| 丝袜激情网| 99热99ai| 色五月婷婷成人| 五月婷婷在线视频观看| www.99久| 一点色成人网| 五月婷婷影| 婷婷久久久久| 色优久久| 人妻久久久久久久久久| 久婷婷五月综合欧美| 亚洲色热| 精品一区二区三区木瓜| 色五月自偷自拍婷婷婷婷| 九九99免费视频| 丁香婷五月天| 色yeye色综合| 超碰人人色| www 五月天 com| 99热九九在线| www.操.com| 夜夜操天天爽| 99视频在线播放大全| 99热官网| 俺去也五月| 另类激情五月天。| 爱iii做iiii日| 丁香五月中文字幕| 五月婷婷熟女| 婷婷五月网图片区| 久色网| 色综合色综合色综合色综合| 激情婷婷| 亚洲AV成人在线观看| 亚洲AV网站| 婷婷五月天激情影片| 综合久久综合久久| 国产精品第一国产精品| 玖玖五月| 亚洲色小说在线综合| 婷婷久久性爱| 99免费超碰在线| 99碰碰视频| anquye五月| 五月婷婷啪啪啪| 久久无码成人| 色九网| 国产裸舞表演WWWW| 婷婷五月天国产精品| 99热免费18| a久久| 六月婷婷色综合| 五月丁香啪啪拍| 天天操中文字幕| 青柠影视免费高清电视剧| 久久久久久97| 丁香五月婷婷成人网| 久久久99久久| 五月激情综合婷婷| 伊人色综合网| 99爱视频| 婷婷涩五月天综合| 婷婷成人综合| 99久久.www| 亚州激情网| 五月丁香无码| 天天狠狠色综合| 99er这里只有精品| 九九精品热播| 99网址在线观看| 可以免费观看的AV| 丁香五月AV| 99在这里有精品| 99亚洲综合| 激情久久久久久久久久久| 久久久宗合视频88| 99视频精品| 色综合九九色综合88| 日日日日操| 天天爽—爽| 色婷婷亚洲| www.色色com| 伊久大香蕉| 狠狠爱综合| 色婷婷九月| 狠狠干狠狠干| 婷婷色网站| 婷婷五月天777| 丁香大香蕉| 亚洲XX网| 色碰97| 成人国产欧美大片一区| 欧美日韩aaa| 97AV在线视频| 涩涩五月天| 开心深爱激情网| 激情五月天色婷婷|