免费国产精品自在自线-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婷五月| 在线观看免费人成视频无码| 91viP在线看| 丁香五月另类小说在线阅读| 色五月丁香总合网| 大香蕉久久久久| 国外亚洲成AV人片在线观看| AA丁香综合激情| 五月天婷婷激情综合| 亚洲 综合中文| 色婷婷五月丁香色| 99热热热天天人人人超超碰| 四川BBB搡BBB爽爽视频| 五月天成人综合| 思思热AV| 婷婷中文字暮| 互月天综合| 婷婷久久大香蕉| 久久这里只有精品视频15| 99操久久| 99啪啪视频| 婷婷五月天综合中文| 婷婷伊人综合中文字幕| 99伊人性爱在线影院| 91人在线观看| 97啪在线观看视频| 一级AV片| 99热8在线| 99热精品中文字幕| 热99在线| 九九色热| A片试看50分钟做受视频| 色色色色综合网| 五月丁香啪啪啪| 婷婷五月丁香久久| 亚洲亚洲亚洲AAAAAA| 狠狠五月激情在线| 很很干五月天| 色婷视频| 色五月综合资源推荐| 婷婷五月婷婷五月天| 丁香六月AV| 大香蕉婷婷丁香视频在线| 色婷婷另类| 五月婷婷伊| 日韩丰满少妇无码内射| 久九男女天堂| 六月婷婷最新网址| 久久久18| 久久婷婷丁香五月一二三| 久99视频在线观看| 色综合夜夜| 九色婷婷| 五月婷丁香在线视频在线| 九九爱这里只有精品| 激情五月婷婷丁香六月| 99热这里只有精品33| 天天激情夜夜干| 永久99免费视频网站| 人妻射精AV| 婷婷五月天激情文学小说| 成人短视频在线观看| 色色色色综合网| 婷婷精品免费久久| www激情网| www.热99热| 五月丁香婷婷人体| www.黄色片-久久成人国产精品在线播放-999AV| 六月婷婷开心| 99热这里都是精品| 欧美日韩精品一区二区三区钱| 影院久久久| www.久久婷婷| 激情五月天婷婷久久久久久久久久久| 日日夜夜小色哥| 色婷婷婷婷五月天| 久色激情| 色色婷婷丁香五月天| 99热在线精品播放| 99精品无码网站| 婷婷丁香激情综合色情| 丁香婷婷久久 | 五月婷婷香| 亚洲色五月| 99色在线| 丁香五月手机在线| 操逼福利视频| 色五月琪琪| 九九这里只有精品| 色综合久久综合| 九九av| 先锋男人99资源| 五月亚洲| 欧美色片中文字幕久久久久| 大香蕉啪啪| 综合激情网| 五月色天情| 九九综合精品| 97伊人综合婷婷| 亚洲第一成人无码A片| 一逼色综合| 天天狠狠色噜噜| 粉嫩AV久久一区二区三区| 超碰在线看| 久久婷婷五月综合色欧美| 超碰a女人的天堂| 国产在线黄色| 五月婷婷丁香六月| 日韩AV免费| 九九99在线观看视频| 五月天,激情四射,婷婷频道| 亚洲av| 五月天婷综合| 99久热这里只有精品| 五月丁香综合| 久久久性爱视频| 性爱电影科技贸易有限公司| 深爱激情五月天| 熟女91九色| 亚洲综合干| 99色热视频| 九色视频入口91| 色情五月天视频网| 丁香五月首页| 丁香五月天.com| 丁香五月网| 九九色热| 色色激情五月天| www.婷婷五月| 另类丁香综合| 成人丁香五月天Av| 丁香五月欧美色综合| 激情99。| 亚洲亚洲人成综合网络| 俺五月| 激情小说五月天| 9色免费网| 26uuu另类| 中国丰满熟女A片免费观| 欧美97色| 天天天天天日| 丁香婷婷五月天色综合| 无码人妻少妇色欲AV一区二区 | 五月婷婷天堂| 国产成人av在线播放| 色五月中文字幕| A网在线欧洲| 最近韩国日本免费高清观看| 丁香五月婷婷动漫视频| 99cao婷婷| 丁香五月天无码| 欧美另类五月激情| 岛国资源站| 99er精品视频| 色99热| 少妇搡BBBB搡BBB搡毛茸茸 | 亚洲精品电影| 五月天精品| 、激情六月天| 欧美日韩成卜| 丁香五月欧美午夜视频| 五月天综合在线| 天天操中文字幕| 超碰电影在线播放| 99综合视频一体| 国产成人AV人人爽人人澡Va| 99久久国产综合精品五月天喷水\| 性爱电影科技贸易有限公司| 久久中国毛毛片爱久久| 99热首页| 欧美狠狠地| 超碰在线资源| 九九九九国产| 色999;丁香五月| 99在线看视频| 九九aV| 永久的网站AAAA| 丁香六月婷婷| 99精品福利视频| 色综合av超碰| 播播网色播播| 婷婷色基地| 成人在线综合| 99国产精品白浆在线观看免费| 99热这里只有精品23| 真实熟女-91九色| 久久久久久久人妻| 婷婷六月色丁香视频在线观看| 欧美成人AAA片一区国产精品| 色色免费网战视频| 久久婷婷六月| 九九综合网色全集| 日韩av手机在线观看| 六月婷伊人| 五月丁香另类网| 色色色地址| oumeisesewang| 亚洲综合碰| 秋霞A V毛片| 色亭亭五月天网扯| 玖玖爱资源站| 亚州第一黄网| 亚洲成av人影院| 五月激情综合美女久久| 桃色激情婷婷伊人网| 亚洲国产成人AV在线 | 丁香五月天欧美| 久久狠婷婷| 综合五月婷婷| 久9精品视频| 色婷婷欧美在线| 综合色吧| 五月天天综合网色婷婷| 亚洲精品白浆高清久久久久久| 婷婷丁香五月亚洲免费| 色综合久久天天综合网| 亚洲美女婷婷五月天| 99热在线网站| 草榴视频黄色网| 噜噜视频| 激情色播| XX久久| 色婷婷丁香AV综合| 岛国资源网| 内射综合网| 久在线综合69| 91n啪啪| 99热99色| 99热官网| 五月丁香六月情| 五月天开心网| 色播五月天激情| 亚洲国产成人裸舞| 丁香五月天av| 爱性综合网| 99人人操| 婷婷月综合| 成人AV片播放| 大香蕉太香蕉视频97| AA丁香综合激情| 狠狠操狠狠爱| 五月丁香综合激情| 俺去也婷婷| 日本三级韩三级99久久| 六月激情婷婷| 久久香蕉网| www.婷婷五月天.com| 2020日日干| 色婷婷激情| 婷婷五月天开心激情网| 思思久久精品| 婷婷激情在线| 丁香五月色| 九热...av| 精品99视频| 国产精品色婷婷久久久精品| 亚洲综合九九| 五月天成人免费视频| 九热视频| 国产欧美精品AAAAAA片| av免费在线观看0| 不卡在线视频| 97人人操人人操人人操人人| 91色干| 色欧美日| 激情网站五月| 天天操天天日天天爽| 五月夜丁香| VA国产在线综合网站| 丁香婷婷综合激情五月色,开心五月丁香花综合网,激情综合五月亚洲婷婷,五月天 | 开心五月婷婷六月丁香| 婷婷五月天激情五月天深爱五月天| 天天舔天天摸天天透| 欧美激情五月| 99riAV国产精品视频| 九月丁香亭亭| 99ree6| www99精品日韩| 97涩婷婷| 午夜成人AV在线| www.日本久久videos| 99亚色色色| w婷婷五月婷婷w| 九九精品在线观看视频6| 亚洲色爱综合| 五月婷婷六月丁香在线| 在线中文字幕免费视频| 五月婷婷影院| 丁香五月六月欧美| 亚洲天堂热| 99精品网| 久久婷婷人人| 色狠狠六月| 青草五月天| 99re热在线视频| 99精品在线| 亚洲色区17| 六月丁香中文字幕| 天天爽综合| 极品人妻VideOssS人妻| 国产69久久久欧美黑人A片| 丁香五月天堂婷婷| 色婷久久| 丁香婷婷情色五月天| 26uuu精品国产| www.婷婷com| 第四色网婷婷| 5月丁香六月情| 欧美精产国品一二三区| 操大屄五月天视频| 第二色AⅤ| 日韩aaaaa| 99精品视频在线观看| 爱iii做iiii日日| 色综合久久综合中文综合网| 尔尔AV一区| 色五月丁香五月| 久久国产高潮白浆免费观看99| 91丨九色丨大屁股| 亚洲啪啪网| 大香蕉色婷婷伊人在线| 五月天激情综合网站| 夜夜爽天天干| 丁香五月婷婷综合激情啪啪啪| 久99视频在线观看| 五月天色不卡| 五月丁香综合精品欧美| 欧美日韩大黄| 色婷婷六月| 欧美激情久| 丁香五月婷婷成人色区| 天天肏天天插| 六月色色| 色噜噜狠狠色综合伊人| 97人人超| 九九综合九九| 大香蕉婷婷色| 九色91美女| 99热在线这里| 婷五月天影院| 人人看人人要| 久久九久久| 久久成人性爱| 日本色婷婷| 九九99免费视频| 高清无码网址| 激情久久久久久久久| 国产色色色色| 噜噜五月天综合| 热久久视频99| 五月丁香婷婷伊人日韩| 五月婷婷六月奇米网丁香| 综合久| 91丨九色丨43老版熟女| 五月婷婷综合视频| 日韩黄黄| 我淫我色婷婷五月天激情四射| 婷婷五月天av网| 色婷婷电影网| 激情五月综合色婷婷| 99婷婷| 亚洲婷婷五月天综合| 九九热在线视频观看| www.婷婷六月天| 99精品久久久| 久久五月天婷婷视频| 五月婷六月| 91久久精品无码一区二区三区| 色玖玖综合| 久久久久久久久久久97| 亚洲av免费在线| 怡红院 久久| 草草视频91| 四月婷婷五月色综合| 婷婷导航| 狠狠色激情综合| 91大操| 中文字幕婷婷五月天在线观看| 玖玖@三月天天丁香婷婷| 五月天婷婷婷| 亚洲中文av| 亚洲色色色| 亚洲美女婷婷五月天| 婷婷久久综合| 79精品视频在线观看,| 亚洲色图81p| 久99久视频| Xx色综合| 天堂网操| 欧美激情综合| 五月婷婷丁香五月婷婷| 日本女人久久| 97亚洲视频在线| 十月丁香九月婷婷综合| 91碰在线| 五月婷婷很很色| 狠狠狠狠狠干| 99'无码| 麻豆忘忧草午夜| 91凹凸在线| 五月天婷婷六月激情网| 激情骚五月| 久久总和99| 日日夜夜狠狠婷婷色| 99热每日| 丁香色婷婷| 俺去也在线官网| 大香蕉Av在线| 日本色色影片| 五月丁香激情综合| 精品久久66| 六月激情婷婷| 九九激情视频| 欧美婷婷色| 亚洲成人超碰| 欧美啄木乌丝袜人妻系列| 大香蕉五月天婷婷丁香91| 狠狠干狠狠色| 综合性爱网| 日日操日日干| 六月激情婷婷色| 色99视| 九九热超碰| 婷婷激情图片| 日日做夜夜爱| 天天更新天天亚洲| 五月天色色网站| 99操不停| 亚洲春色奇米影视| 99热只有| 97人人干| 免费啪啪亚州视频| 久久怕怕视频| 色婷婷丁香五月天| 操逼福利视频| 五月人人丁香婷婷五月人人丁香| 99a级片| 5Www色5夜| 少妇高潮呻吟A片免费看软件| 影音先锋天天日| 狠狠色无码| 99精品热视频只有精品10| av第一二区| 婷婷五月花.97| 成人片在线播放| 久久五月激情| 美欧日韩国产成人在战| 婷婷五月色色| 六月婷婷色色色| 五月婷婷之美女图片| 天堂爱爱| 2025最新亚洲激情在线| 思思热思在线精品视频| 再次出发二| 超碰人人在线| 丁香色六月| 草一草avb| 日本WWW九九九| 四季AV综合网| 一本久道综合99| www.无码com| 亚洲婷婷丁香五月| 久久日韩婷婷五月| 99re久热只有精品6在线直播.com| 97超级碰| 99久高清视频| 综合色影| 俺来也综合网精品一区| 精品九九在线观看视频| 狠狠色五月激情| 五月婷婷激情综合在线| xx色综合| 五月天激情啪啪| 操日挥操日日| 4438激情网| 欧美视频五区| 婷婷五月天久久久| 色深爱五月| 91操女| 五月天综合网| 亚洲成人综合网在线免费观看| 超碰免费99| av婷婷丁香 六月| 99色在线视频| 全网最新网黄大秀直播高清,主播国产录屏在线 | 丁香六月综合| www一起操| 九一99| Av九九| 97精品人人A片免费看| 色婷婷亚洲综合天堂| 江苏少妇性BBB搡BBB爽爽爽| 伊人热在线大香蕉| 99丁香五月婷| 九九热10| 综合久久99| 五月丁香六月色情网欧美| 成人视频网| 五月丁香拍拍激情综合| 日韩人妻在线观看| 色黑鬼导航| 999热成人在线综合网| 日本va欧美va欧美精品88| 五月丁香啪| 99视频在线精品| 婷婷五月天激情免费在线观看| 天天激情5月天亚洲| 激情五月综合六月丁香婷婷狠狠干| 九九婷婷五月天影视| 日日夜夜狠狠干| 涩五月婷婷| 五月天婷婷小说| 婷婷五月丁香四射| 一本到不卡高清DVD| 九九色播五月丁香| 激情久久五月网| 99热亚洲精品| 色色色婷婷五月| 人妻丰满精品一区二区A片| 潮汕成人AV片在线| 激情五月图| 欧州色色| 国产FREESEXVIDEOS性中国| 欧洲区自拍| 大香蕉五月天婷婷| 国产成人亚洲综合A∨婷婷| 亚洲综合婷婷| 91九色中文字幕女在线观看| 中文字幕成人影视| 南京搡BBBB搡BBBB| av在线资源| 草榴视频黄色网| 婷婷激情伍月网| 日韩AAAAAAAAAAA片| 五月婷婷综合在线| 91精品久久久久| 五月婷婷在线播放| 深夜婷婷 丁香| 入口五月婷婷六月香| 五月激情婷婷丁香天堂| 狠狠干.com| 91久久网站| 五月天激情综合首页| 色婷另类| 久久久99婷婷久久久久久| 国产综合网在线| 婷婷五月天99综合网站| 99色播| 亚洲国产精品SUV| 五月天婷婷久久| 人人摸人人干| 五月丁香久| 啪啪色激情五月天| 都市激情小说婷婷| 人人操人人妻| 天天做天天爰天天爽天天无遮挡| 夜夜谢天天干| 五月丁香六月婷婷综合在线| 五月香婷婷| 人伦30P| 亚洲激情五月天| 九九色婷婷Av| 五月天婷婷爱| 激情文学 综合 九月| 99视频热| 色婷婷影视99| 天天操婷婷| 婷婷五月色花丁香社区| 五月草视频| 丁香五月婷婷激情蜜桃| 精品亚洲VA网站| 激情五月最新网址| 啪啪小说五月天| 天色色综合网| 五月婷婷综合在线| 五月丁香成人| 色99色| 伊人久久99| 五月天另类小说| 色婷婷久久综合| 亚洲热视频在线| 日本色噜| 丁香婷婷五月份| 五月婷久久在线| 色综啪啪| 超碰资源在线| 美女天天艹人人爽| 激情98色婷婷五| 亚洲五月天狠狠| 欧美在线ee日韩| 天天做好综合色| 人操人人| 日本久久精品| 这里只有国产精品在线| 五月丁香婷婷综合网色欲| 99久精品视频| 99re思思精品视频在线观看| 96丁香婷婷九月蜜桃综合久久| 人人摸人人干人人做| 五月婷婷国产| 天天干天天操天天爽| 538久久| 色婷婷四虎| 开心婷婷五月| 婷婷六月丁香1| 97在线干| 538在线精品| www.婷婷六月天| 色五月婷婷丁香国产在线| 六月丁香啪| 色五月综合网| 97丁香五月| 五月的婷婷六月丁香| 欧美丁香五月| 欧美 色婷婷| 久久久精品色| 桃色五月天| 九九操综合网| 丁香六月婷婷综合激情欧美 | 五月婷丁香| 久热免费| 丁香美女主播视频在线观看| 97色色色色色色色| 婷婷激情人妻| 亚洲成人精品三区| 思思久久99热只有频精品66| 欧美99热| 国产婷婷综合| 99久热这里只有精品| 欧洲激情五月天婷婷| 色狠狠色综合久久久绯色AⅤ影视| 超碰在线50| 婷婷五月天基地| 色爽九九| 五月天激情啪啪| 婷婷丁香激情五月天色色| 99热99成人| 中美月韩免费A片| 亚洲蜜乳AV| 色综合99无码| 97伦乱| 亚洲亚洲人成综合网络| 色婷婷基地| 五月丁香狠狠爱| 99热日| 婷婷丁香五月色| 五月丁香六月婷婷综合网缴情| 久热这里有精品视频| 婷婷五月色| 五月丁香六月婷婷啪啪| 《久久综合九色综合97婷婷| 婷婷自拍| 欧美精品A片一区在线观看| www.99操.com| 五月婷九九草| 人碰91| 久久婷婷东京热大香樵| www.综合久久| 天堂中文国产| 亚洲小视频免费播放| 婷婷无码视频| 色五月激情视频在线综合| www.99婷婷| 超碰人人在线| 韩国情人在线电视剧免费观看高清版全集 | 天天色天天色天天色天天色天天色| 午夜丁香六月婷| 久久婷五月综合色| 丁香五月天五码婷婷| 婷婷九月丁香久久| 丁香成人色情五月天| 亚洲色激情| 五月天久久91| 中文字幕AV在线播放| AAA久久| 九月丁香| 丁香六月天婷婷色| 91啪啪啪啪| 激情爱爱网站| 成人精品一区二区三区四区五区| oVV4WIB3vFi8D| 青青草原精品久久| 成人视频在线免费播放| 色色色综合网| 久久婷婷五月天丁香| 加勒比久热| 色九亚洲| 桃色激情婷婷伊人网| 色综合日日| 噜一噜在线| 六月激情综合| 91色综合网站在线| 久热黄色| 性爱电影科技贸易有限公司| 六月丁香VA| 婷婷五月天影院| 欧美性生交XXXXX无码小说| 久久男人网婷婷| 思思99久久| 五月天婷婷色播综合在线| 丁香五月乱中文字幕| 91操片| 少妇人妻丰满做爰XXX| yiqicaoav| 天天射夜夜爽| 狠狠高潮精品亚洲1| 九九热这里只有精品6| 激情小说色五月| www99久久| 亚洲mm色| 九九这里都是精品| 色五月激情综合网站| 丁香五月天堂| 五月婷婷之综合激情| 天天爽天天干| 久热久操久热久草国产91| 综合亚洲五月天| 婷婷五月天综合在线| 国产精品国产成人国产三级| 丁香婷婷色九月| 婷婷五月天人妻| 久久婷婷热| 免费观看日韩成人av| 99久久免费性爱视频`| www,色色色网站| 五月天综合网| 久久久www| 激情五月色播五月| 久久人人做人人妻人人玩精品va| 日本久久高清| 亚洲va国产va天堂va综合va| 日韩一区二区A片免费观看| 亚洲综合视频网| 久色资源网| 欧美性生交XXXXX无码小说 | 久久99热这里只有精品 | 丝雨一区二区| 五月丁香在线婷婷蜜桃| 开心五月深爱五月| 中文字幕婷婷| 久久99精品久久久久久三级| 久久婷五月影院| 五月婷人妻| 99热免费观看| 五月丁香久久| 97久久久久| www.9797国产| 激情五月六月| 在线91日韩| 日日操日日爽| 琪琪色网在线| 夜夜夜叫天天天做| 久久久99精品免费观看| 日韩一区二区在线播放| 狠狠干夜夜干| 五月丁香六月久久| 色色色热热热| 五月天婷婷色五月天| 99在线精品免费视频| 天天肏在线观看| 色你久久| 久久资源网五月婷| 色五月婷婷久久爱| 97碰在线视频| 色情丁香五月天| 可以免费观看的AV| 婷婷爱综合| 八戒青柠影视剧在线观看| 天天草人人摸| 狠狠精品干练久久久无码中文字幕 | 精品国产AV色一区二区深夜久久| 婷婷激情五月天综合| 九九在线视频| 深爱激情AV| 麻豆WWWCOM内射软件| 99色热视频| 狠狠色综合图片| jiqingliuyuetian| 婷婷性爱视频在线| 久久9精品| 天天开心天天色| 亚洲色啪| 人人看人人要| 99热这里只有精品3| 婷婷久久综合久| 婷婷六月色| 日逼免费视频| txt五月激情四射网综合俺也来了| www99热| 99精品在线播放| 五月黄色婷婷| 五月丁香婷婷婷激情爱爱| 美女精品一级不卡视频| 日韩久久这里只有精品| 综合激情九月婷婷,激情综合婷婷中文字 | 99日本黄站| 亚洲成人综合网在线免费观看| 久久久久久综合88| 五月天啪啪| 深爱激情69热| 99热亚洲| 久久综合五月天| 婷婷激情九月| 天天干天天干天天| 无码人妻电影| 蜜桃人妻无码AV天堂三区 | 婷婷无码视频| 五月天婷婷久色| 日本色色影院| 天天干天天操天天拍| 久久人妻情侣| 伊人久久婷婷| 五月婷婷综合久久| 色婷婷电影| 五月天婷婷综合色| www色五月| 3p日韩网站视频| 丁香六月综合激情| 26uuu国产激情视频| 国产激情综合| 日本色狠狠| 色婷婷基地在线| 久久丁香婷婷色情综合| 99九九精品| 五月丁香无码| 99热99网| 婷婷激情五月| 久久小视频免费| 大香蕉人人人| 97久久人人人干| 天天操婷婷| 色青五月天| 99爱在线视频| 婷婷五月,偷窥偷拍网| 免费成人中文字幕| www.色婷婷| 色欲人妻综合aaaaaaaa网| 99丁香五月| 综合色99| 亚洲中文乱字字幕在线永久| 中文字幕性爱视频| 精品少妇人妻AV无码专区偷人| 九色七七| 久久98| 婷婷五月天AV在| 色综合另类| 婷婷激情丁五月| 色八月婷婷| 久久综合综合久久| 一起操 91N.com| 久草热在线视频| 青草热视频这里只有精品| 91天天操天天干天天射| 操久久网| 99视频只有精品| 热99只有精品| 91精品久| 少妇搡BBBB搡BBB搡毛茸茸| 五月丁香婷婷色色| 天天日日夜夜| 色综合久久88色综合天天99| 特级片神马电影| 激情五月婷婷在线区| 99色6爱9热| 大香蕉九九| 超碰日韩成人| 专区无日本视频高清8| 丁香五月色情| 九九色色网| 婷婷久久综合| 久久综合丁香五月| 任你日视频| 在线观看996精品| 涩玖玖免费视频| 九九黄色网| 热五月婷婷| www.日韩国产| 激情五月激情综合俺也去婷婷小说| 任你擦免费视频| 免费成人网在线观看| 热久久这里只有三级视频| 4399无码视频二区| 嘿嘿视频免费看9| 五月天另类小说久久小说网| 久久激情五月天| 一区视频网站| 91九色首页| 亚洲bt丁香五月天婷婷激情小说| 久操激情| 秋霞性爱AV| 久久婷婷六月| 操操操av| 狠狠狠狠狠狠狠狠狠狠狠色宗合图片| 亚洲视频在线网| 久久久亚洲成人无码A片| 国av网| 91 久热| 99热免费精品| 六月婷婷色综合| 九九香蕉网| 丁香六月婷婷综合| 五月天丁香成人社| 人人摸人人搞| 亚洲色五月| 超碰日韩成人| 色婷婷AV久久| 五月丁香六月成人| 久9精品视频在线| 婷婷久久在线| 五月天激情影院| 色综久久久| 五月网网站| 99在线爽| 色导航色婷婷五月天在线观看| 色婷婷国产精品综合在线观看| 91超碰在线观看| 大香蕉久| 五月激情综合网婷婷| 婷婷综合在线视频| 五月婷婷色影院| 亚洲人人96@| 九九色视频| 深爱婷婷色| 亚洲无码色色| 91九色首页| 国产五月视频| 日本视频欧美观看免费| 91婷婷视频| 五月婷婷深深爱| 开心深爱五月天| 九九性视频| 99热欧美| 97超碰色| 伊人丁香六月婷婷| 精品人妻一区二区三区四区不卡在| 亚洲欧美成人在线| 久久久久久99日本| 婷婷激情综合| 亚洲操操| 色婷婷狠狠18| 极品少妇XXXX精品少妇偷拍| 婷婷狠狠狠爱| 丁香五月综合久久八| 五月丁香六月婷婷在线| 亚洲中文乱字字幕在线永久| 99九色视频在线观看| 桃色成人网| 大香蕉久久草| 丁香五月23111| 婷婷色中文字幕| 91色婷婷综合久久中文字幕二区| 91久久久久久久久久18| 五月天婷婷免费| 久久精品小视频| 五月天激情小说网| 久久久久婷| 99久久66综合| 欧美在线干| 欧美婷婷五月丁香| 国产伦亲子伦亲子视频观看| 色噜噜五月天| 激情婷婷丁香五月天| 婷婷五月天婷婷| 五月天色色网站| 婷婷五月电影| 色婷婷av在线观看| 婷婷综合五月| 国产精品A片在线| 99精品视频推荐| 丁香花五月天激情| 人人草人人爱| 亚洲人成网站999综合| 激情网五夜婷婷| 六月婷婷av| 91热手机在线| 久久亚洲婷婷| 五月天婷婷综合网| 婷婷99视频全集高清| 九九家庭影院| 99色婷婷视频| 91久久五月天| 色屌丝中文字幕| www.zbzhongsen.com| CAoub青青超碰| 欧美激情-区二区三区| 无码人妻少妇色欲AV一区二区| 色色色国产| 9热在线观看| 成人va在线播放| 99热99在线| 99精品视频偷拍| 色爱99| 欧美性丁香色色五月天干干| 日本玖玖在线| 综合一本道| 欧美成综合在线观看| 色五月视频,小说| 碰99在线| 丁香六月婷婷综合啪啪| 婷婷五月天综合久久日| 婷婷五月天日本无码| 亚洲色夜| 强伦轩人妻一区二区电影| 91超级碰在线| 亚洲精品国产setv| 91久久久久久久久久久| 97碰久久| 99无码视频| 欧美操人| 丁香五月影院| 欧美丁香五月| 99热这里只有精品55| 欧美激情伊人| 黄网在线观看免费| 色综合九九色综合88| 色综合丁香婷婷| 欧美婷婷丁香五月社区| 五月天婷婷黄色| 超碰97在线观看免费| 久久aaaa片一区二区| 9精品国产在热久久| www.狠狠艹| 大香蕉免费9| 成人欧美Va| 亚洲正能量欧美| 五月丁香六月激情欧美综合| 日本精品九九九| 婷婷中文无码| 婷婷第六色| 成人午夜天| 日韩99精品| 91视频一起草| 99免费视频| 婷婷丁香人妻天天久久| www.五月天婷婷| www久久99| 五月六月激情| 国产又爽又猛又粗的视频A片| 久热9| 777精品久无码人妻蜜桃| 草逼大片| 99操中文视频| 亚洲精品国产熟女久久久| 人人妻久久妻| 五月香婷婷| 国产精品成人AV在线观看春天| 欧美成人精品一区二区| 丁香五月停停基地| 五月天久久综合婷婷丁香| 日本久久性| 熟女人妻一区二区三区免费看| 可以免费看的av网站| 五月天丁香久久| 思思热在线观看| 五月天天天色| 久久久久97| 天天日,天天插| 操啊操av| 婷婷色丁香五月| 91色呦哟| 九九热自拍| 这里只有国产精品在线| 色五月婷婷AV| 亚洲五月停停| va中文资源在线观看| 任你干嘛免费视频播放| 久久婷婷五月综合| 亚洲最大视频| 精品一区二区三区四区五区六区介绍 | 天天干天天干天天干天天干天| 久色五月天| 欧美怡红院黄站| 色色五月天婷婷| 五月婷婷片| 日韩AAA| 亚洲av综合在线| 99在线精品视频| 婷婷五月丁香高清无码| 色色五月婷婷久久| WWW.HENHENL.| 99噜噜噜在线播放| 色欲av伊人久久大香线蕉影院| 婷婷精品性性性性性性性| 激情网站五月| 亚洲婷婷久久综合| 91人妻人人操| 久热99| 亚洲天堂爱爱| 99久久6| 九月色婷婷综合| 天天拍夜夜撸| 久草A片| 99久久久久久久| 九九婷婷热| 在线日韩视频| 超碰人人草| 久热这里| 开心五月激情网| 色婷婷久久综合久色综| 九九色情网五月天| 香蕉人妻AV久久久久天天| 九九99在线免费在线观看视频| 91婷婷五月天嫩女| 色五月天视频| 五月丁综合在线观看| 婷婷五月中文在线| 最新高清无码专区| 婷婷五月天AV| 120分钟婬片免费看| 天天天在线观看| 99久久综合| 色婷亚洲| 狠狠操在线视频| 狠狠色情婷婷| 五月婷婷五月丁香综合| 久碰视频| 久热精品视频在线观| 91超级碰碰| 婷婷五月色| 91久久综合亚洲鲁鲁五月天| 婷婷D区| 激情五月瑟瑟| yw.av| 久久国产AV| 9久久久| 2016日日夜夜操| 99操无码视频观看| 少妇熟女视频一区二区三区| 国产67194| 亚洲精品久久久久AV无码| 少妇大叫太大太粗太爽了A片| 综合一区二区三区| 欧美性爱丁香五月| 激情五月天婷婷图| 激情五月天小说| 另类少妇人与禽zOZZ0性伦| 99热日| 五月丁香六月香综合激情| 九九在线精品| 黄色一级影片| 色综合色色色色色| 操人妻视频91| 成人免费120分钟啪啪| 色停停香蕉视频| 色色射| 婷婷情色开心五月天99| 欧美天天草人人草| 欧美丁香五月| 99久久久精品| 亚洲射激情| 九九热最新地址| 98永久精品| 丁香婷婷色情社区成人小说| 色久综合| 色婷婷亚洲综合天堂| 亚洲五月丁| 日日撸夜夜操| 亚洲婷婷91丁香| 五月欧美丁香在线观看| 激情综合网激情五月婷婷| 五月天六月丁香| 久久综合中文| 骚五月婷婷| 综合激情视频| 九热网站| 五月婷婷婷婷婷婷艺术| 色噜噜五月天| 超碰2021| 婷婷色五月色妇| 六月丁香啪啪| 九九国产视频| 久久女人天堂| 欧美精品A片一区在线观看| 战争与艾拉电影免费观看| 中字幕视频在线永久在线观看免费 | 无码激情AAAAA片-区区| 色色色视频免费无码| 欧美激情VA永久在线播放| 日本三级黄色大片| 色五月首页| 狼人久草| 九九精品在线网| 久久婷婷青青| 五月丁香六月花| 久久婷婷一级片| 成人超碰Av| 操逼五月天| 六月丁香基地| 伊人激情AV一区二区三区| 99久久视频| 99日本在线| 成人视频一区| 天天爽天天| 色五月丁香总合网| 五月天激情婷婷| 色五月久久成人婷婷| 亚洲无码播放| 日日操天天爽| 成人在线免费网址| 国产精品VA在线| 99热第一页| 美女精品一级不卡视频| 99资源在线视频| 久久激情综合| 婷婷丁香综合在线| 天天激情欧美美女| 亚洲成人网站在线播放| 婷婷色色丁香五月天| 激情婷婷五月| 五月天啪啪啪| 婷婷五月丁香影院| 91无码色色| 操逼棍操逼| 91 九色 入口| 91色综合网| 思思久久网| 国产精品涩涩涩视频网站| 开心五月综合| 亚洲九九夜夜| 亚洲成人乱码av网站| 婷婷综合国产| 国产精品色色| 丁香五月久久| 性无码专区无码| 丁香五月开心婷婷| 国产精品汇聚精彩第二页 - 高清完整版在线 - 青蛙AV | 可以免费看的av网站| 大香久久伊人网| 91色在线/日韩| 婷婷黄色五月天在线视频| 大鸡巴伊人网| 超碰激情网| 夜夜天天久久婷婷| www.夜夜| 激情综合网五月激情| 啪啪激情综合| 狠狠CAO日日穞夜夜穞AV | 噜噜综合网| 亚洲殴洲精品Av在线| 欧美久久婷婷| 婷婷六月天精品| 懂色av蜜臀av粉嫩av永陈冠希| 色色色com| 丁香五月五月婷婷五月天激情四射| 玖玖激情五月天| 国产熟妇的荡欲午夜视频| 色综合久久88色综合天天99| 色色丁香| 五月丁香天堂| 五月丁香六月婷| 婷婷婷婷色| 丁香五月婷婷啪|