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
返回資訊列表
久草丁香婷婷1024| 啊V视频在线观看| 婷婷五月视频| 久久视频66| 婷婷亚洲在线| 婷婷爱五月天| 婷婷九月综合| 五月丁香黄色视频| 五月色无码| 99精品国产在热久久婷婷| 人妻啪啪啪| 五月丁香色婷| 久热2025无码| 超碰人人干| 在线99色| 国产黄大片在线观看画质优化| a久久免费视频| 综合五月婷婷| 色狠狠色综合久久久绯色AⅤ影视| 极品少妇XXXX精品少妇偷拍| 日日操日日撸| 久操福利| 91啪啪网| 99视频这里有精品免费观看| 九九久久99| 第五婷婷伊人丁香色| 人妻无码视频网| 五月天色图| 天天色域综合网| 77799热| 色婷婷综合丁香五月天| 国产成人片| 色偷偷色婷婷| 五月婷婷六月丁香五月| 5五月综合网亚洲| 狠狠色综合网站| 色婷婷手机在线| 激情五月开心五月丁香五月| 99色视频在线观看| 美女婷婷六月色| 欧美在线看| 激情综合五月丁香六月婷婷| 99精品视频在线观看| 26UUU欧美激情一区二区| 五月婷婷丁香六月在线| 婷婷五月激情在线| 丁香婷婷啪啪啪| 开心久久xxx色| 在线综合91| 91无码一区人妻A片蜜| 色婷婷五月色| 久婷婷色| 9久久久久| 狠狠色噜噜狠狠狠888| 五月婷婷啪啪网| 天天拍夜夜爽日日| 久久这里有精品视频在线免费观看| 99 色色吧| 婷婷丁五月| 色婷婷久久综合| 91久久免费| 久久久久五月丁香| 亚洲成人综合在线| 香蕉婷婷| 五月婷婷色| 五月丁香婷婷中文| 这里有精品| 欧美色婷婷| 玖玖爱伊人| 色狠狠999综合| 五月丁香花伦理电影| 人人干天天舔| 天天色官网| 99视频在线观看视频| 丁香五月婷婷成人网| 亚州精品色情无码A片| 99在线观看精品| 91成人电影| 激情五月天情色| 性爱五月婷| 九月丁香八月婷婷久久综合久97| 爆乳熟妇一区二区三区爆乳照片| 久久久.COM| 久久99网站| 色五月婷婷五月丁香五月激情五月视频| 婷婷综合| 日日懆天天懆| 精品99这里有| 99综合99| www色五月| 五月天婷婷色| 婷婷啪啪| se色婷婷视频| 精品成人在线观看| 久久久久亚洲AV成人无码电影| 99婷婷国产最新视频| 久久色天堂| 俺也去在线久久精品23欧美综合视频网站,丰满人妻一区二区三区在线视频53,丰满 | 丁香五月天无码AV| 天天做 天天爱| 丁香婷婷深情五月亚洲| 丁香六月激情| 激情婷婷黄色五月| 久久久久婷婷五月热综合| 亚洲色五月天在线| 亚洲 视频 导航 一区| 九九五月天| 激情综合网五月婷婷| 国产日产亚洲系列最新| 色色五月天网站| 亚州激情网| 婷婷伊人久久综合| 99热自拍| 五月四色激情| 色播五月丁香| 婷婷五月情天| 人人爱国产| 亚洲精品色| 色五月丁香伊人| 五月婷网站| 婷婷激情六月视频| 中字幕视频在线永久在线观看免费| 五月婷婷色在线| 天堂综合久久| 欧美激情五月天婷婷| 婷婷激情五月综合在线视频| 亚洲色五月| 国产古装妇女野外A片| 欧美日韩国产成人在线| 欧美激情五月天婷婷| 五月天色婷婷网| 538任你爽| 熟妇人妻中文字幕无码老熟妇| 婷婷自拍| 亚洲色色在线| 超碰激情网| 91在线操逼视频| 综合网啪啪| 26UUU精品一区二区Com| av九九| 丁香婷婷综合色五月激情国产基地| 色婷婷基地| www.夜夜操.con| 综合色色婷婷| 五月丁香激情综合| www色婷婷| 91操屁股| 婷婷五月天电影在线| 久热只有精品| 人妻Av在线| 亚洲婷婷五月天综合| 激情六月色| 久久99最新地址| 射区导航| 婷婷五月天天爽| 成人精品一区日本无码网| 99在线视频免费| 人妻尝试久久久久久久久久久久| 五月丁香色综合| 涩综合网| 99在线播放视频| 五月婷婷之综合激情在线| 日韩999| AA丁香综合激情| 美女久久婷婷| 婷婷综合在线观看视频| 国产成人综合亚洲| 色婷婷色五月综合| 丁香五月停停av| 五月天成人网婷婷| 色色欧美色色| 色综色五月天婷婷| Y11111111111少妇电影院| 六月激情婷婷| 热久精品| 爱之国产色情综合| 另类五月激情| 国产avapp 网| 熟女91九色| 日本五月天网站| 色色五月激情| 激情五月天婷婷五月天| 天天操天天曰天天射| 久久只有18视频| 欧美日韩成人h| 99re久热只有精品6在线直播.com| 夜夜谢天天干| 久久婷婷成人| 五月婷婷无码专区| 黄色成人AV在线| 五月综合影院| 91热久| 亚洲天堂aaa| 北条麻妃伊人| 婷婷五月激情中文字幕| 激情丁香婷婷| 亚洲字幕AV一区二区三区四区| 99热精品网| 97操碰在线视频| 婷婷欧美激情| 337p大胆噜噜噜噜噜91Av| 久久久婷丁香五月天激情综合| 日亚二欧美| 久久久久久久久久久月丁| 激情五月婷婷在线观看| 97色婷婷成人综合在线观看| 天天色色婷婷| 99久久.www| 九九青草热| 五夜丁香| 激情五月综合网| 日本一道久久| 激情5月婷婷| 婷婷五月天啪啪| 激情综合在线播放| 五月婷婷深深爱| 99热久久最新地址| 九伊人网| 五月花婷婷| 婷婷视频在线| 色综合视频在线| 久 久9 9 热 视 频| 男人天堂AV在线一区二区| 99色在线| 啪啪干伊人婷婷| 亚洲性爱AV在线| www.爱操com.| 色综合中文色综合网| 涩涩涩五月天| 热思思| 国产婷婷综合| 99精品在线观看| 亚州精品久久久久AV无码| 激情五月狠狠喔| 色99网| 九九热这里都是精品6| 嫩草视频。| 久久九九99.www| 很很干夜夜干| 99超超碰| 五月婷色丁香| 综合色99| 97欧美在线| 婷婷五月天成人娱乐| 狠狠婷婷综合| 色丁香五月婷婷| 婷婷十月丁香| 欧美群妇大交乱婬网| 欧美日韩成人h| 激情五婷网| 99日韩| 97在线观视频免费观看| av大香蕉| 六月婷婷综合| 丁香色综合| 激情色色| www.maotanji.com| 996热re视频在线观看视频| www.狠狠| 久久99久久99精品免观看粉嫩| 婷婷五月色影视先锋| AV成人在线播放| 婷婷中合| 99在线精品观看99| 亚洲AV免费在线| 五月停停丁香| 欧美一区二区三区不卡影视| 九九99久久| AV中文字幕夜夜操b天天摸bb| 亚洲综合五月| 久久综合性| 亚洲免费婷婷| 思思热99在线视频| 色宗合久久五月婷婷| 国产67194| 九九99热久久精品66中文字幕| 青柠影视免费高清电视剧 | 人人人操| 99er热精品视频| 亚洲网在线观看| 99综合视频一体| 天天草天天爽| 激情综合五月婷婷| 日韩三级高清无码| 终合激情网| 99rewww| 色婷婷亚洲| 婷婷碰碰| 97色婷婷| 99久在线精品99re8热| 日屌日日操日日色| 夜夜干天天干| 日韩三级高清无码| 五月婷婷六月色| 91色情播放| 色五月天综合| 成年人99热| 激情伊人五月婷婷久久| www.五月天。com| 亚洲色爽| 天天撸夜夜爽| m色激情网| 激情五月网站| 亚洲激情.com| 人人干人人看| 久久大香蕉同僚| 激情五月影院| 色色色色色色网站| 久久九九热视频| 日本熟妇人妻在线| 这里只有九九精品| 99热无码首页| 色色五月天婷婷丁香| 色99在线视频| 午夜免费试看| 五月婷婷色色| 五月天丁香婷婷视频网址| 久月久在线视频| 人妻丰满精品一区二区A片| 无码激情AAAAA片-区区| 91大屁股在线| 丁香五月婷婷欧美激情-中文天堂最新版在线观看 | 五月丁香免费看| 九九婷婷网五月天| 欧美熟女99| 色区久久| 五月丁香啪啪啪| 丰满少妇猛烈A片免费看观看| 精品人妻伦一二三区久久| 在线观看国产高清视频免费网站| 黄网在线免费| a色婷婷| 激情久久网 | 天天草天天爽| 亚洲av电影网站| 日美三级| 久久久人妻人伦| 亚洲美女婷婷五月天| 色丁香综合影院| 亚洲激情色色| 婷婷五月丁香91| 日本熟女三区| 亚洲成人乱码av网站| 九九性视频| 五月婷婷成人| 秋霞免费视频| 久99久视频免费观看| 五月丁香婷婷色| 69五月天视频| 色婷婷AV在线| 97精品人人A片免费看| 狠狠狠狠狠狠草| 色99色| 就要爱综合| 99,色| 五月的婷婷六月丁香| 亚洲综合色棒| 婷婷丁香五月亚洲17cao| 国产亚洲精品久久久久久久久动漫 | 色欲一区二区三区精品A片| 婷婷五月综合基地| 久久综合丁香五月| 丁香色五月天| 国产做爰视频免费播放| 97影院一级片| 九九热这里有精品视频| 亚洲国产精品VA在线看黑人| 欧美大片| 丁香六月久久| 婷婷五月激情天| www久久久| 亚洲九九99精品视频在线播放| 久久新| 婷婷丁香高潮了| 亭亭玉月丁香| 国内自拍97在线| 色v综合网| 热久91| 大香蕉手机视频| 久久这里只有精品07 | 五月开心深深爱激情综合 | 操逼六区| 超级碰 久久9| 激情亚洲五月| 色五月激情| 亚州婷婷五月激情综合| 夜夜操狠狠操天天操| 久久婷婷五月综合伊人| 亚州色综合| 日日干日日s| 久久久大香蕉| 伊人久久综合| 婷婷五月丁香婷婷| 成功精品影院| 丁香六月| 色婷婷九月综合| 亚洲综合五月天婷婷| 五月四色激情| 深爱开心激情网| 噜噜噜狠狠色综合| 久99久热| 另类综合色| 变态 另类 在线 | www一区二区三区| 26uuu成人网| 九九热re99re6在线精品| 日本va视频| 九九九午夜影院成人| 91天天操天天干天天射| 久久婷婷五月综合伊人| 亚洲婷婷五月| 日韩99视频| 欧美一级操逼视频| 9色免费网| 色五月视频,小说| 国产毛片精品一区二区色欲黄A片| 日日操夜夜操狠狠操| 26UUU精品一区二区| 色欲天天综合网| 综合色五月天| 99视频色在线观看| 免费看欧美成人A片无码| 人人亚洲| 狠狠操天天干| 婷婷色婷婷亚洲成人| 97色婷婷成人综合在线观看| 久久亚洲婷婷| 99热99在线| 婷婷久久午夜网| www久| 色色综合成人网| 激情综合网五月激情| 色色综合激情| 色999五月色| 五月丁香另类图片| 色色国产| 人人干人人操人人摸人人做| 色涩视频久久| 五月天天天色| 婷婷久月| 91男人操女人视频| 亚洲婷婷欧美婷婷| 五月丁香综合啪啪| 五月天最新网| 五月婷婷色影院| 婷婷五月天小说网| 26UUU精品一区二区c〇m| 先锋影音男人的天堂AV| 日韩啪| 99热只有精品在线播放| 丁香激情综合| 在线观看中文字幕亚洲| 丁香五月宝贝激情网| 最新国产AV| 亚洲va综合va国产va中文| 大香蕉久艹| 性做久久久久久久免费看| 深爱1激情网| 男人的天堂五月丁香| 99热手机在线精品| 五月丁香激情在线| AAA久久久| 精品无码久久久久久久久| 亚洲色情网站| 秋霞免费三级片| 欧美婷婷色| 久久玖玖综合| 五月婷婷综合色拍| 91人人网| 超碰2021| 97久久超碰| 99热在线观看免费| 色婷婷五月影视| 香蕉曰比| 亚洲色综合| 婷婷五月丁香伊人| 激情综合青草| 亚洲色色五月天| 荡乳尤物3HP1V5| 99热这里只有精品9| 蜜桃婷婷五月| 91精品又长又大又粗又爽又猛| 香蕉AV福利精品导航| 亚洲激情网| 美臀自射自家人妻| 久久99久久99精品免观看粉| 久久探花91swag| 九九Av| 99热这里全是精品| 五月婷婷丁香大陆免费| 激情久久综合| 九九综合图片网| 男妓跪趴把舌头伸进我的嘴巴| 五月天社区| 激情综合网激情五月欧美| 丁香九月婷| 97丁香视频| 在线观看免费视频| 欧美人妻一区二区| 另类图片激情五月| 中文av网| 99热6这里只有精品| 噜噜噜噜噜日本视频| 国产.亚洲.欧洲视频在线| 日日操夜夜擼| 人人摸人人干| 天天爱天天操| 五月天婷婷基地| 天天爽天天操| 丁香五月激情婷婷婷婷在线观看| 五月天婷婷黄色| 五月丁香色婷婷婷基地| 超碰人人操人人干| 九九99九九99九九99视频网| 五月丁香毛片| Caop在线| 婷婷丁香五月激情密臀av| 丁香五月亚洲综合丝袜| 五月天综合在线网| 爱久久小说下载网| 成人中文网| 婷婷久草| AV大香蕉| 国产精品久久久久久久久久久久| 色色色网站| 丁香五月天堂网| 五月丁香琪琪| 91狠狠色| 91啪啪视频| 婷综合| 99热综合在线| 五月婷婷色色| www五月| 五月天婷婷久久| 91丨九色丨国产打屁股| 国产激情视频在线观看| 色五月综合在线| 亚洲日日操| 久热九九| 91日韩在线| 99热久| 五月婷婷五月天| 丁香五月天视频| 亚洲第一综合| 狠狠干最新地址| 激情亚洲五月| 怡红院成人AV| 91狠狠色色丁香婷婷综合久久| 色婷婷偷拍| 日良久久| 综合激情五月丁香9999久久精| 婷婷五月激情六月丁香| 日韩AAA| 色综合网综合| 丁香成人五月天| www.9797国产| 丁香桃色网| 国产精品国产成人国产三级| 丁香五月婷中字在线| 婷婷激情六月中文| 午夜丁香综合婷婷| 婷婷和五月天| 思思精品久久艹| 99热a片免| 日本欧美国产| 99精品网| 亚洲天堂九九九| 久久精品99久久久久久| 亚洲第一色网站| 激情小说 五月天| 天天插天天射| 开心五月激情网| 黄色片久久| 九月av在线| 婷婷五月电影院| 久久亚洲色导航| 激情久久综合网| 激情婷婷六月天| 99热精品在这里| 国产成人精品一区二区三区视频 | jiujiu热在线视频| 五月丁香婷在线| 99亚洲精品| 97人人操人人干| 日韩AV在线免费| 久9久9久9久9久9久9| 午夜性爱影视一区77| 第四色五月天| 无码AV免费精品一区二区三区| 婷婷基地成人五月天| 九九性视频| 欧美激情综合色综合色| 99热婷婷| 精品自拍99| 精品久久99| 色天天综合| 成人短视频在线观看| 综合aV在线| 久久婷婷色情7777网站| 久久成人天| 天天摸天天肏| av一区二区电影免费在线观看| www久| 色性五月天| 26uuu精品国产| 色婷婷小视频| 国语对白性爱视频播放| 综合色影院| 五月丁香六月激情网站| 四月婷婷五月色综合| 五月丁香人妻| 综合久久婷婷| 97人人做| 天天日天天草| 色五月,com| 开心五月六月婷婷| 丁香五月综合激情性爱| 久久五月天影院| 天天爱天天做天天日| 五月色综合网| 久99在线| 五月天久久婷婷婷| 99热思思| 成人婷99最新| 五月婷婷丁香六月| 99热黄| 久久这有这里精品| 日本久久精品| 精典久久| 天天干天天干天天干| 综合久久五| 免费日韩99| 亚洲综合视频在线| 天堂综合久久| 99热手机在线精品| 肏日网在线看| 天天舔天天摸天天透| 五月丁香网站| sS丁香五月婷婷| 中文字幕在线免费| 成人网站免费在线播放| 97超碰在线免费观看| 丁香婷婷老司机久操| 日本激情五月| www久久久久久久久久久| 丁香五月图片| 久久XX| 丁香五月婷婷六月婷婷| 1024人妻| 99色天堂| 久久综合九九| 丁香婷婷色五月| 91ncom.色| 成人在线不卡| 丁香九月婷婷| 久久婷婷五月天| 丁香六月AV| 99色天堂| 丁香五月综合高清在线| 日韩色色视频| 色婷婷中文字母五月丁香| 丁香五月色| 色婷婷五月天亚洲| 大地9中文在线观看免费高清| 亚洲第一色色色| 丁香成人五月天| 青草性爱视频| 丁香网五月天| 天天天天天天噜| 久久久9久| 俺去也五月天| 激情黄色小说色五月| 丁香五月婷婷超碰在线| 天天情天天狠天天透| 色婷视频| 综合在线丁香五月| 99精品久| 日本高清久| 超碰av在线| 婷婷六月色| 色婷婷狠狠色| 激情五月天99色| 在线视频另类| 色情·com| 婷婷色色综合| 色噜噜狠狠色综合日日| 中文字幕综合网| 五月综合色| 俺五月| 免费V片在线| 97色天堂| 激情婷婷综合| 操b视频在线观看一区二区| 开心五月婷婷| 天天草人人摸| 亚洲岛国电影| 大香蕉网站,大香蕉综合| www.久久| 99热a片免| 婷婷的99视频网站| 精品一二三区久久AAA片| 国产综合网在线| 婷婷五月电影院| 亚洲妇女熟BBW| 99热国产免费| 国语对白性爱视频播放| ou洲色吧| 婷婷五月色播放| 五月丁香色播| 99热这里| 久热伊人91| 六月丁香综合| www狠狠| 五月婷婷久久大香蕉| 中文字幕日产A片在线看| 五月天.com| 综合激情五月四射婷婷| 99热官网精品在线| 色色婷婷五月天| 俺去也五月| 天堂婷婷五月在线| 超碰9在| 色五月激情五月| 久久玖玖综合| 色婷婷色五月综合| 狠狠搞五月天| 伊人综合婷婷| 色一情一乱一伦一区二区三区| 五月激情婷婷国产精品久久久久久| 人妻久久做| www.99热这里精品| 亚洲色就是色色色| 99A片| 国产五月天欧美色| 天天日,夜夜爽| 伊人久久艹| 自拍视频99| 欧美日韩欧美| 大香蕉久久| 九九热精品在线| 色婷婷五月天堂资源| 1024人妻| 婷婷丁香五月天影院 | 国产一区二区av免费| 成人AV免费观看| 五月丁香六月婷婷无码| www.婷婷五月天啪啪| 天天色天天射天天日| 九九精品少妇| 日本WwW色偷偷丁香花久久久京东热| 色五月六月| 丁香五月天婷婷中文字幕| 色五月婷激情| 六月色狠狠色| 免费的日逼视频| 99啪啪视频| 日本女人久久| 精品导航在线x不卡| 五月开心播播网| 91狠狠综合久久| 久久久www| 激情五月综合亚洲另类| 久久久精品AV| 五月婷五月婷伊人伊人五月婷| 91超级碰碰| 五月丁香六月香综合激情| 欧美婷婷五月无砖| 成人色五月天婷婷| 99热国产| 丁香花五月天激情| 91打屁股视频网站| 五月婷婷之综合激情在线| 97干欧美| 91人碰| 伊人婷婷99热精品| 五月香婷婷| 在线婷婷| 日韩在线婷婷五月天综合| 婷婷五月综合在线视频| 激情五月综合免费| 蜘蛛女免费观看完整版高清电影| 99久久婷婷国产综合精品草原| 综合色五月| 91狠狠色丁香| 97操碰碰无码视频| av在线播放网址| 激情婷婷久久| 色噜久| 国产婷婷综合| 丁香久久综合| 五月久久婷婷| 五月五婷婷网| 伊人五月天综合网| site:jszngf.com| 欧美丁香婷婷天天操| 色五月丁香五月五月婷婷| 亚洲小视频免费看| 全国最新疫情| 只有久久精品免费| 国产五月天欧美色| 99精品免费视频| 亚洲人妻Av| 伊人久久大香蕉网| 亚洲激情AV| 狠狠干夜夜干| 中文字幕丰满孑伦无码专区| 成人AV在线中文版| 少妇人妻人伦A片| 婷婷五月天小说网| 日婷婷久久开心| 九九99热| 开心五月网 | 天堂草在线看www| 美国色五月天婷婷资源站| 九九热在线精品视频| 九月婷婷色色| 五月婷婷丁香| 无码人妻精品一区二区蜜桃色欲| 九九精品9| 国产婷婷五月| 91viP在线看| 爱性综合网| 97色五月天| 婷婷色正月| 色99热| 久久免费精彩视频| 狠狠五月婷婷| 99视频网址| 色五月天影视| 色综合综合网| 五月天婷婷AV| 婷婷五月花| 欧美偷偷操| 婷婷丁香五月麻豆| 巴基斯坦粉嫰无码视频| 久久色亭亭五月天| 女人高潮内射99精品| 婷婷色色网站| 色激情综合| 色五月亚洲五月天| 久久丝袜婷婷| 免费看欧美成人A片无码| 亚洲精品444久久久久久| 庭庭久久内射| 婷婷激情5月| 色九月婷婷丁香| 成人国产欧美大片一区| 99热久久日本| 久久最新色色色| 五月天啪啪| 99免费在线| 伊人超碰在线| 亚洲色情久久| 思思热在线精品视频| 久久久久这里只有精品| 成人 九九九九| 97超碰综合| 26uuu精品国产| 97香蕉久久超级碰碰高清版| 久久桃花网色婷婷| 超碰91在线| 99er6热在线观看精品6| 婷婷五月天成人动漫| 五月开心深爱激情网| 婷婷五月天基地| 婷婷色六月| 五月天色婷婷视频| AV色婷婷| 天天视频精品9| 久久婷婷五月综合97色一本| 五月天狠狠| 日韩综合成人| 99热欧美| 视频一二区| 婷婷五月激情欧美大胆视频| 涩涩五月天综合| 五月天另类激情在线| 青青久久五月| 欧美美女国产日韩一区二区久 | 色色色国产| 五月亭亭网成人在线视频| 亚洲成人在线免费| 操逼国产91| 欧美啄木乌丝袜人妻系列| 超碰免费人人| 欧美激情综合| 伊人婷婷色| 综合婷| 成人婷婷五月| 99热免费| 亚州欧美国产久精国产99综合视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 国产精品香蕉| 婷婷色影音天| 五月婷婷成人w| 五月婷婷香| 天堂久久精品| 久久天天| 金品在线视频99| 亚洲精品午夜国产va久久成人| 成人无码精品1区2区3区免费看| 99色婷婷视频| 综合网啪| 丁香六月婷| 婷婷五月天欧美| 99网址在线观看| 日本人妻A片成人免费看片| 色玖玖导航| 99日精品视频| 婷婷亚洲综合| 超碰a女人的天堂| 九九热99热| 亚洲天堂九九九| 深爱激情五月婷婷| 五月四色激情| 丁香五月天成人| 电影91久久久| 天天干天天操天天上| 久久视屏这里只有久久| 9 1超碰九色| 97精品自拍| 色婷婷69| 成人短视频在线| AV在线免费网站| 六月撸婷婷| 中文字幕,综合,91| 六月婷色| 乱码操操| 亚洲激情在线| 九九热在线99| 婷婷六月激情小说网| 91九九| 综合伊人久久| 久久99视频| 人妻人人操| 99婷婷| 密黄站| 亚洲综合激情五月久久| 插插干干干色| 色婷插| 婷婷久久亚洲| 99九九99九九九视频精品| 六月丁香影院| 久久久久网站| 97干在线| 另类激情综合| 五月激情在线| 中文字幕日韩无码制服诱或| 五月婷婷综合网| 无码激情精品色婷婷久久久久| 婷婷9月天| 激情文学五月丁香六月婷婷| 操人精品| 99久久婷| 人妻性爱| 综合九色| 国产白丝在线一区| 九九视频免费| 99热网精品| 中文乱子伦视频| 热99精品视频五月| 婷婷五月天色色| 狠狠色狠狠色综合日日91| 亚洲图片 丁香婷婷| 国产成人AV在线播放 | 九九操综合网| 国外亚洲成AV人片在线观看| 亚洲XX日本| 91美女啪啪| 99免费热视频在线| 色色色视频免费无码| 超碰在线个人观看| 激情丁香社区| 激情五月综合色婷婷| 久久99精品久| 4399成人黄A片| 我要射综合| 大香蕉婷婷丁香| 99操逼| 日日干天天爽| 亚洲日韩国产黑丝黑丝AVAV一区二区三区 | 99婷婷| 五月婷婷激情综合网| 97丁香婷婷| 久久婷婷五月综合色区| 亚洲第一精品成人999久久精品| 五月 激情视频| 成人无码精品1区2区3区免费看 | 婷婷五月色综合香五月| 久久久久9999| 五月天另类小说久久小说网| 色综合九九| 亚洲人成播放网站| 大香蕉久久| 天天天综合网| 五月六月丁香激情视频| 91主播在线| 丁香五月成人| 中文网av| 激情五月天噢美| 久久天堂精品| 亚洲精品久久久久久久久久飞鱼| 玖玖在线| 五月天堂在线| 色99网| 五月天久久激情| www.99色| 99热碰碰| 五月丁香激情深爱婷婷| 婷婷激情五月天综合| 久草五月婷| 日日鲁鲁鲁夜夜爽爽狠狠视频97| 狼人婷婷久久| 五月婷婷丁香网| 激情五月综合六月丁香婷婷狠狠干| 97色图片中文字幕视频在线观看| 九九热在线精品| 97性视频| 亚洲激情97五月天| 五月天伊人av| 亚洲综合九九| 丁香狠狠操| 综合欧美五月婷婷| 色婷婷成人做爰A片免费看网站| 丁香五月天堂网| 五月丁香婷庭在线| 婷婷五月色影视先锋| 国产精品人妻欲求不满| 久久久久98| 九九热内射| 婷婷五月天av| 人妻久久久久久| 激情五月天婷婷五月天| 狠狠色丁香综合| 影视av久久久噜噜噜噜噜三级| 久婷婷久草| 婷婷伊人久久无码色五月| www.五月天| 日韩在线视频中文字幕| 偷偷操99| 国产午夜一区二区三区| 99热这里只有精品1998| 婷婷丁香五月精品| 久久激情综合| 色5月婷婷| 久/久精品99看9| 日本99在线视频| 91精品国产日韩91久久久久久国模| 中文久久婷婷| 婷婷丁香五月,狠狠综合| renrencaoav| 丁香五月激情站| 亚洲性天天| 天天综合色丁香| 五月天色播网| 日韩色色色色色| 五月婷婷在线短视频| 亚洲av无码影院| 九月丁香婷婷网| 熟妇国产| 五月丁香婷婷激情图片| 91色综合网站在线| 99热亚州综合| AV变态另类一区二区| 97人人妻人人艹| 丁香五月婷婷久久久| 香蕉99网| 色婷婷精品视频在线播放| 一区=区操屄高清大全av| 国产亚洲99久久精品熟| 五月丁香久久激情综合| 久久一伦| 天天操精品| 色日本综合| 九热精品| 欧美色图45678| 一起草无码视频| 婷婷亚洲天堂| 六月婷婷无码观看| 热久久66| 激情婷婷丁香五月| 99爱在线视频观看| 久久久性爱视频| 丁香五月激情综合啪啪| 99久久五月婷婷| 少妇性按摩无码中文A片| www.五月婷婷.com| 少妇综合网| 开心激情站| 婷婷综合中文字幕| 97碰在线免费观看| 五月天婷婷网站888| 久久综合激情| 婷婷五月AA五月在线| 爱草视频在线| 99爱视频免费看| 91狠狠色丁香| 色婷五月| 男人大jjc女人免费视频| 视频在线免费观看欧洲乱码| 免费婷婷| 五月丁香拍拍激情综合| 国产26uuu| 第四色五月天| 国产精品激情AV久久久青桔| 97日日碰碰| 欧美黑人大吊| 99热精品观看| 丁香色啪综合| 99色色视频| 99熟女| jiujiuxiangjiaowang| 亚洲在线操| 狠狠色五月| 婷婷五月六月| 色色色网站| 久re在线| 中文字幕成人| 日日操日日爽| 久久色情| 午夜不卡久久精品无码免费| 操操操91| 五月色婷婷亚洲| 99热12| VA色婷婷| 青吴乐视频| 91狠狠色丁香婷婷综合久久精品| 97偷拍在线视频| 婷香五月| 婷婷开心激情五月激情网| 九九九九毛片| seav天堂| 91日韩在线| 人人摸人人干人人做| 欧美97色| 另类婷婷五月天啪帕帕| 亚洲AV网站| 日韩狠狠色婷婷| 久久超视频| 99视频自拍| 久久伊人9| 丁香五月天激情小说| 99操视频| 激情婷婷激情在线不卡| 日本91在线| 深爱开心激情| 日日干夜夜干| 99热日韩| 激情五月天无人视频在线| 五月天色丁香| 色九九九九| 色欲丁香久久| 色区久久| 狠狠综合久久综合| 色青青视频| 丁香六月婷婷综合| 禁片二区| 午夜爱爱爱成人| 欧洲色色| 天天弄天天操| 丁香五月综合| 成人AV中文字幕| 日韩AC在线免费观看| 五月婷婷新网站| 亚洲综合九九| 色婷六月| 国产资源91在线| 伊人在线视频| 日日天天天| 玖玖资源在线视频| 无码少妇高潮喷水A片免费| 色情综合网| 色热久| 狠狠色婷婷丁香五月| 五月天激情日色在线| 久久怡红院| 99久久久国产大片| www.色9| 六月丁香停| 天天插天天爽| 91|疯狂丨高潮丨对白| 99re99热| 亚洲色婷婷| 婷婷无码视频| 99热免费| 99热日| 五月婷婷深深爱| 日韩AV在线电影| WWW.夜夜| 夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂夂亚洲亚洲亚洲亚洲亚洲亚洲亚洲亚洲色 | 成人婷婷五月天| 激情久久久| 色,激情五月天| 99色综合| 五月丁香操婷逼| 色五月偷偷| 97人人搞| 五月色综合网| 在线sebiav精品视频| 五月婷婷视频ab| 97日本在线播放| 丁香六月爱综合| 少妇性按摩无码中文A片 | 激情AV在线| 99精品视频免费| 五月婷婷亚洲综合在线 | 免费观看18视频网站| 色五月 激情婷婷 综合五月天| 夜夜穞天天穞狠狠穞AV美女按摩| 性色做爰片在线观看WW| 夜夜爽天天爽| 色啪网| 亚洲精品无码久久| 热久久91| 综合激情五月天| 九九人妻福利| 1024日韩| 啪啪五月天啪啪| Blackedraw视频一区二区| site:pzdcoin.com| 国产精品久久欧美久久一区| 激情亚洲色图片丁香综合| 99在线精品免费视频| 五月丁香婷婷五月色| www.seqingwuyuetian| 婷婷色av| 成人免费视频一区| 亚洲色A| 五月婷视频在线观看| 亚洲成人av在线播放| 久99久在线观看| 丁香五月久久| 婷婷五月天Av| 丁香五月婷婷老师网站| 精品久久艹| 五月丁香琪琪| 亚洲色婷婷五月天| 99惹精品视频| 激情伊人网| 五月丁香综合啪啪| 久热这里只有精品在线观看 | 婷婷九月在线| www.久久| 99热日本| 色婷婷色| AAA久久久| 久色成人| 丁香花成人区| 五月天播播| 成人欧美Va| 色婷亚洲五月丁香| 日日噜噜夜夜狠狠久久丁香五月| 激情激情激情网| 色www久视频| 五月婷婷在线观看黄| 五月天婷a在线| 色丁香五月婷婷综合久久| 欧美五月婷婷| 九九99视频精品| av在线观看网址| 日本三级日本三级99| 99热这里只有精品手机在线观看| 69凹凸成人综合网| 丁香婷婷色九月| 久久五月天激情视频| 97色五月丁香婷婷|