欧美成人午夜精品久久久,国产?V天堂一区二区三区,欧美精品va在线观看,亚洲一区二区三区免费在线观看,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片一區二區三區| 久久综合婷婷五月| 久久丁香五月| 青青草原中文字幕| 99久久超级| 国产成人亚洲综合A∨婷婷| www激情网站| 久久婷婷综| 天天色·欧美| 狠狠狠狠青草| 婷婷婷婷婷婷婷五月丁香| 天天五月香欧美| 亚洲视频一区| 五月丁香激情综合啪啪| 亚洲精品乱码久久久久99| WWW.久久.COM| 五月激情久久综合网| 天堂五月婷婷| 色五月激情五月| 洗浴中心操B视频| 国产精品电影网| 丁香五月AV| 婷婷丁香久久五月综合| 99热性色| 国产在线aaa片一区二区99| 婷婷五月天伊人网| 一夜福利不卡| 五月丁香激情综合啪啪| 最近免费中文字幕大全高清大全1| 色婷婷成人五月| 操操啪| 丁香五月亚综合图片| 五月久久婷婷天堂视频| 国产看真人毛片爱做A片| 五月婷婷丁香在线| 99视频久久免费视频| 婷婷99综合| 91九色视频在线观看| 精热在线综合网| 亚洲狠狠丁香婷婷香蕉| 偷拍五月丁香| 涩婷婷五月天在线精品视频| 欧美噜噜久久久XXX| 丁香五月婷婷欧美性爱| 东京热免费视频| 午夜不卡成人一区二区| 乱码操操| 天天网曰日曰夜夜综合永久免费| 国外亚洲成AV人片在线观看| 日韩av在线电影| 四五月婷婷| 久草狼人| 玖玖综合色区在线观看| 大香蕉综合网| 97超碰在线免费观看| 欧美婷婷五月无砖| 九九色逼| 亚洲一区二区无遮挡A片| 亚洲中文字幕在线观看| www夜夜| 婷五月丁香俺| 色婷婷9| 亚洲丁香五冃97色| 丁香五月婷婷啪啪| 欧美日比视频| 婷婷丁香五月亚洲| 天堂爱爱| 欧美久久婷婷| 青青操日本摸摸看看| 人妻AV在线| 99热在线精品观看| 天天干天天操天天干天天操天天干天天操 | 9 1 A v久久久| 97色干| 婷婷五月激情图片| 五月丁香激情婷婷综合| www.99热最新视频8| 久久九九99视频| 久久性操| 久操97| 久久96热| 伊人综合网4| 激情综合婷婷| 五月丁香大相交| 婷婷色综合网日韩国产| 日产精品一线二线三线芒果| 久久人妻视频| 色五月天电影| 婷婷综合激情| 激情性爱五月天| 99精吕视频在线观看了| 国产精品视频久久99| 五月丁香久久精品在线观看| 青青草原亚洲天堂| 99re免费视频| 色吊操色妞| 国产亚洲成AV人片在线观黄桃| 中文无码婷婷| 黄色成人网站在线播放| 类似婷婷激情综合网站| 婷婷香五月| 四色 爱 婷婷 精品 亚洲 五月天| 久久ww| 日本天堂免费99| 丁香av网| 九色激情| 亚洲成人av在线观看 | 国产67194| 久久66精品| 91操色| 五月婷精品| 五月天丁香综合在线| 日韩日比视频在线| 99热伊人综合| 丁香五月婷婷久久久| 99噜噜噜在线播放| 日韩成人中文| 91夫妻网站九色| 国产在线aaa片一区二区99| 色情综合网| 99操久久| 99热精品在线播放| 五月天婷婷综合| 国产成人网| 免费精品99| 99九九精品| 色色五月天婷婷| www.婷婷五月| 国产成人网| 99热播放| 日韩aaa| 操一区| 深夜男女福利刺激影院一区完整| 亚洲操操| 五月激情六月综合| 日本高清久久| 国产67194| 人人草人人舔| 熟女人妻视频| 亚州男人天堂婷婷五月| 婷婷六月色情| 99啪99| 97日在线视频| 成人丁香五月| site:hcxsz888.com| 五月天激情国产综合婷婷婷就去爱| av国产精品偷| 成人噜噜网| 99无码视频| 激情网第九色| 婷婷激情六月综合| 婷婷色五月综合| 天天爽夜夜爽天天爽夜夜爽| 97五月天| 激情深爱五月天| 99久久综合| 久久精品A片777777| 色婷婷精| 婷婷五月天六点丁香五月| 就是色婷婷五月亚洲色| 国产精品色色色色| www.色婷婷.com| 日本啪啪天堂| 人人艹艹艹| 熟妇天天综合| 五月激情视频| 亚洲久久婷婷| 久久激情五月天| 狠狠操狠狠操| 婷婷综合国产| 丁香九月婷婷综合| 艾小青av| 色婷婷婷婷| 中文激情网| 激情四射亚洲| 综合久久五月天| 久久这里只有精彩| 国产精品日韩十五区| 六月丁香色色| 亚洲黄色网址| 99热人人| 天堂AV在线看| 思思精品视频| 五月婷天堂视频| 亚洲、欧美、国产另类笫二区| caopeng超碰| 桔色成人在线| 久99| 97碰人人操| 天天干夜夜操A片| 一级操逼内射在线视频| 色99色| 20253AV| 婷婷欧美综合| 亚洲婷婷激情五月天| 99九九99九九九视频精彩| 激情第四色| www.九九婷婷| 都市激情五月婷婷综合| 97婷婷丁香| 福利视频在线播放| 久久婷婷国产| 丁香六月无码播放| 五月丁香激情综合网| 久久资源综合| 日韩五月天婷婷| 可以免费观看的av| 天天插操| 日日日,com| 日日爽日日爽| 精品一二三区久久AAA片| 婷婷激情啪啪| 亚洲国产精品成人va在线观看| 女同激情久久av久久| 亚洲六月色| 国产成人av在线播放| 丁香五月激情视频在线| 激情五月丁香婷婷| 综合久久五月天| 99视频这里只有久久精品 | 中文字幕婷婷| 久久天堂色| 色欲操| 天天干天天做| 色爱爱综合网| 九九草热在线观看| 五月天.com| 狠干综合| 开心五月深爱五月丁香五月激情五月| 亚州美女| 婷婷丁香社区网| 天天爱综合网| 久久婷五月影院| 狠狠艹狠狠艹| 99热都是精品| 秋霞日本免费毛片A片| 91操在线观看| 99热在线免费| 婷婷色色综合| 婷婷AV丁香| 91色综合网| 九一娱乐在线观看视频| 天天操天天操天天操| 五月丁香六月激情欧美综合| 色婷婷激情| 99精品福利视频| 成人国产欧美大片一区| 性爱在线播放av| 丁香五月综合婷婷| 91成人看片| 毛片色五月| 国产真人做爰视频免费| 色色网站在线免费观看视频| 天天干电影| 永久免费视频| 国产色网站| txt五月激情四射网综合俺也来了 五月天婷婷丁香人人操91 | 欧美色97| 激情亚洲婷婷| 天天综合五月天| 日韩三级视频一区二区| 亚洲 五月 婷婷 成人| 内射爽无广熟女亚洲| 97操操| 五月天激情四射网站| 91日综合欧美| 99热精品中文字幕| 亚洲色五月婷婷| 五月天婷婷视频30| 91国产精品视频播放| 六月丁香深深爱| 九九成人| 91精品电影18T| 成人日韩欧美| 人妻射精AV| 五月丁香婷婷色| 色五月婷婷av| 五月天激情亚洲| 91人人网| 激情亚洲网| 在线中文av| 99欧州偷拍视频| 国产婷婷综合| 五月丁香六月激情综合| 亚洲五月天婷婷| 久久婷五月综合| 久久婷婷丁香五月宗合| 激情久久久久久久久久久| 婷婷五月天毛片| 婷婷无码五月天| 婷婷五月娱乐在线| 婷婷五月天AV| 婷婷综合亚洲| 色色色色色色色色网站| WWW五月婷婷| 天天色播| AⅤ色区| 五月丁香婷婷成人网| 五月天婷婷伊人| 久久综合婷婷激情| 91wwmm导航| 国产综合A片| 色爱五月天| 色色色9 9 9| 人人摸人人| 五月丁香久久综合色| 99久久精品国产色欲| 丁香六月婷婷久久高清| 婷婷基地爱| 最新热中文字幕| 丁香激情网| 精品人妻久久久| 欧美久久九九| 丁香五月AV| 亚欧州精品视频| 五月四色色| 五月丁香婷婷色啪| 五月天.com| 久久色9| 91超碰在线播放| 婷婷五月综合在线| 久久精品99国产精品日本| 色五月六月婷婷| 91色色色视频| 玖玖综合色| 久久精品爱爱| 伊人久久婷婷五月综合97色| 婷婷综合激情| 99精品热| 丁香六月在线综合| 婷婷五月影院| 9九热视频| 成人做爰A片免费看网站找不到了| 日韩十国产极品久久| 新激情综合| 久久98| 激情五月天开心网丁香无码| 午夜激情久久| 色婷婷av在线观看| 99久久综合精品五月天| 热99精品视频| 免费观看18视频网站| 狠狠色综合网站| www.激情五月天.con| 99热大香蕉| 玖玖99福利| 亚洲日比视频| 91久热| 六月丁香婷婷天堂| 国产综合81p| 热99这就是精品视频| 五五月五月| 综合一啪| 久99| 狠狠操狠狠操AV| 婷婷色激情网| 色婷综合| 97人人操人人干| 婷婷丁香综合成人| 五月天婷婷久久| 国产性爱在线| WWW久久久| 颜射 精品性爱av| 国产a视频| 99热97| 九九无码视屏| 色色五月婷婷| a片在线免费观看一区| 婷婷婷婷色| 五月丁香激情在线| 久久婷婷伊人| 91超级碰人人操| 亚洲男女激情| 五月激情站| 五五月丁香花激情综合网| 97超碰99热99| 五月丁香成人网| 亚洲va在线∨a天堂va欧美va| 深爱五月月天| 五月天丁香综合在线| 综合网色| 综合一区二区三区| 婷婷五月六月丁香综合| 精品九九在线观看视频| 五月天色色色色色| 丰满少妇猛烈A片免费看观看| 97色啪| 久久婷婷欧美| 这里只有精品免费在线视频| 色婷婷女优有码五月亭| 中文字幕无码人妻少妇免费视频| 大香蕉九操| 亚洲va欧美va国产综合久久久| 狠狠干婷婷| 人操91在线| 99精品免费视频| 天天天久久人人人合| 激情六月下句是什么| 婷五月天六| 国产成人一区二区三区在线观看| 成人网站在线观看视频| 色情五月婷婷| 五月婷婷精品视频| 丁香五月婷婷婷婷欧美综合| 伊人狠狠丁香婷婷综合尤物| 亚洲中文AV网站| 北京熟妇搡BBBB搡BBBB| www.99热| 婷婷五月天综合久久| 色综合综合色| 五月婷婷狠天天色综合| 欧美激情综合| 久久久精品AV| 91丨九色熟女丨首页| 日韩AV中文在线观看| 丁香五月成人社区| 黄网免费观看| 美国十月色婷婷在线观看| 开心五月婷| 婷丁五月| 91五月天| 日本欧美在线| 色五月婷婷在线| 丁香五月婷婷综合激情啪啪啪| 久久久人妻| 超碰在线看| 中文成人在线| 色无码| 26uuu另类亚洲欧美日本一| 五月丁六月香av| 亚洲婷婷五月天在线激情综合网| 久9久9热久热| 久婷久婷| 98永久精品| 色九月综合网| 亚洲婷婷综合视频| 中文字幕欧美精品久久| 99久久97| 九月丁香网婷婷| 少妇2做爰HD韩国电影| www.五月天| 欧洲毛片基地c区| 99在线免费观看| 婷婷五月综合视频免费播放| 亚洲色无码| 久久久精久人妻| 天天噪夜夜爽| 玖玖资源网站最新站| 99re在线观看视频| 五月婷婷五月天激情视频| 91操操| 99色干| 五月天综合激情网| 久操大| 日本久久婷婷| 久久综合干| 玖玖爱综合网| 亚洲欧美婷婷五月色综合| 97人人搞| 激情文学久久| 五月丁香综合啪啪| 亚洲夜五月| www.激情在线| 五月熟妇婷婷久久| 五月天成人手机在线视频| 美女激情婷婷| 狠狠色综合五月| 欧美激情综合色综合色| 色深爱五月| 久久开心五月天激情| se影音资源在线观看| 丁香六月婷婷综合欧美| 婷婷五月婷婷| 中文字幕av在线播放| 五月婷婷色播| 五月婷色| 国产日韩欧美| 热久久999| 亚洲国产成人AV在线| 91seAV| 婷婷 丁香 久久| 色9月| 99热这里| 思思久ren热| 人人天堂操| 欧美性爱5月天天天看| 激情网综合| 五月丁香777| 中文在线成人| 99久久6| 五月丁香久久| 久久九九激情五月天 | 色吊丝99| 久久综合首页| a色色色色色| 狠狠操天天操天天操| 天天色色婷婷| 永久精品| 美日韩成人| 中文字幕人妻熟女在线| 爱iii做iiii日日| 在线不卡中文字幕| 久久五月天色婷婷| 婷婷六月天亚州| 日韩三级高清无码| 丁香五月天激情| 欧美成人精品三区综合A片| 丁香激情综合| 综合久久高清| 久久与婷婷| 99热精品免费在线观看| 97婷婷狠狠| 婷婷99| 色婷婷av综合网| 一起草无码| 激情综合五月激情17| 六月婷婷色宗合| 天天干天天拍| 日本九九九九| 九月婷婷在线观看| 超碰av在线| 91视屏在线观看com.wwwvv| 色五月丁香伊人五月| 99热碰碰热| 国产暴力强伦轩1区二区小说| 极品嫩草| 97人妻碰碰中文无码久热丝袜| 六月丁香深深爱| 丁婷婷五月天在线播放| 久久这里只有精品热在99| 亚洲丁香花五月丁香花| 六月丁香大香蕉| 五月婷婷香蕉| 啪啪黄页网| 疯狂做受XXXX高潮A片| 色色丁香色五月| 五月天婷婷色色| 国模淫穴色图| 99天堂网| 色约约视频一区二区三区四区五区 | 五月色亭丁香| 婷婷精品| 曰日爽日日操| 91性高潮久久久久久久久| 狠狠色婷| 欧美群妇大交乱婬网| 五月天综合影院| 婷色五月| 欧美成综合在线观看| www。五月天激情| 夜丁香五月婷婷| 婷婷色综合| 综合五月激情| 六月婷婷六月天天在线免费| 天天爽夜夜操| 久久五月天激情| 五月丁香精品| 99爱免费视频| 九九久久99| 射琪琪| 秋霞电影理论| AV九九| 91欧美日韩| 九九无毛| 激情五月第四色| 高清无码入口| 人人爽网| 九九热色视频| 91日视频| 日韩不卡123| 99在线观看亚洲| 99精品视频免费观看| 国产AV一区二区三区最新精品| 久久性刺激| 激情婷婷综合五月少妇| 99热这里是精品| 97久人人| 五月激情婷婷在线| 1024亚洲无码| 欧美成性色| 91人操人人人操人| 国产91在线视频| 婷婷六月色丁香视频在线观看| 丁香五月手机在线| 亚洲天堂制| 激情五月综合ì香亚洲| 久久综合五月| 超碰二区| 人人草人人爱| 色婷婷中文| 92久久久| 国产五月婷| h在线看免费版在线看| 日本色久| 综合成人小说婷婷| 大香蕉婷婷婷| 婷婷玉月丁香五月在线视频| 色色色综合网| 色婷操逼| 操逼视频一区| 一区三区视频有限公司| 直接看的AV网站| 中文字幕无码人妻少妇免费视频 | 久碰视频| 五月份婷婷| 亚洲视频五区| 琪琪色热色色| 激情五月婷黄版| 亚洲成人AV电影网| 久久A区B区| 变态 另类 在线 | 无码成人AAAAA毛片AI换脸| 欧美99| 九九色综合网| 欧美啪啪9| 激情六月色| 九久热| 思思热国产| 丁香综合| 五月丁香六月停停| 91无码色色| 丁香五月视频在线观看| 国产精品99久久久久久久女警| 婷婷香香五月| 婷婷五月天堂| AV伊人青草丁香六月| 丁香五月婷婷色| 97碰碰视频在线观看| www.91.com黄| 五月丁香av中文| 欧美 日韩 成人 在线| 97超碰在线免费观看| 婷婷五月色惰| 久9免费视频| www.91在线观看| 六月撸婷婷| 久超超碰| 婷婷九月激情| 久久99精品久久只有精品| 色五月天丁香| 激情婷婷| 五月亭亭六月色| 天天日天天插| 婷婷五月天亚洲色| 色情终和网| 三级大香蕉网| 1769在线观看欧美国产| www.天天日| www.日本91| 99九九99九九九视频精彩| 97婷婷狠狠| 丁香五月婷婷啪啪| 色婷婷狠狠干| 久热在线中文字幕色999舞 | 久草热视频在线观看| 久久天堂色| 天天干天天拍| 91九色在线| 深爱五月天| 开心婷婷五月花| 五月天久久婷| 99看片| 成人免费在线电影| 色综合久| 一本久久亚洲五月婷婷| 99se丁香| 五月丁香六月色| 色噜噜97视频在线观看| 狠狠干夜夜干| 色婷婷五月天激情综合| 日韩有码一区| 99热碰碰热| 夜夜爽天天| 丁香五月婷婷天激情| 99久久玖玖| 操操自拍| 九九RE视频在线精品| 777精品成人a v久久| 亚洲韩国日产综合AV| 狠狠爱五月婷婷| 99操| 久久色六月| 色五月婷婷亚洲最大| 99九九在线| 无码日本精品XXXXXXXXX| 好激情在线综合网| 色婷婷五月天偷拍| 日本综合久久| 九一99| 五月丁香六月激情综合| 99久久久99久久91熟女| 五月开心深深爱激情综合| 91久久九久久九久久九久久九久久| 五月丁香六月情| 色综合性视频| 涩涩婷婷五月| 超碰在线人妻| 免费五月婷婷网| 五月丁香91| AA片在线观看视频在线播放| 激情五月丁香亭亭 | 久99久精品视频| 99∨VTV| www.henhengan| 91久久久久久久| 91 影音先锋| 中文字幕丰满人妻无码专区| 密臀久久| 久久综合色五月| 任你草| www.99视频| 青青草性爱视频| 玖玖综合色区在线观看| 99免费在线| 亚洲色A| 亚洲综合99| 日本色啪| 小视频久久久aaa| 丁香五月,激情五月,深爱五月| 色综合天堂| av操逼网| 六月色色| 色婷婷社区| 99热综合在线| 99免费青青蜜臀| 日本99视频| 五月天综合| 国产精品五月丁香| 五月天色色婷婷| 久久无码成人| 久99热| 色色哒五月婷婷六月丁香| 一级片sese片.COM| 免费成片在线观看| 69精品人人人人| 五月婷婷影| 丁香五月婷婷乱| 免费黄色视频网址| 激情婷| 高清一区二区三区日本久| 国产精品色色| 综合五月激情| 久久综合激情五月天| 99热99| 婷婷91视频| 激情五月综合网| 婷婷丁香人妻天天爽| 69五月天视频| 亚洲丁香花色| 久久影视婷婷五月| 婷婷狠狠综合网入口| 日本丁香五月| 久久精品99久久久久久| 久久色五月天综合网| 激情综合综合综合| 情色五月天网站| 久re在线| 婷婷在线中文字幕| 丁香五月性爱| 婷婷五月天久久| 丁香色婷婷五月天| 婷婷五月久久| 九九热九九| 色综合久久天天综合网| 久啪欧美| AV片在线观看| 熟妇人妻中文字幕无码老熟妇| 久久久中文| 超碰人人干| 九九爱激情| 日在线V视频在线播放| 婷婷激情肏屄网| 色五月色图| 五月丁香六月婷婷综合| 精品热九九| 中文字幕丰满孑伦无码专区| 色综合天天综合成人网| 超碰97人人操| 亚洲秘 无码一区二区三区妃光/1| 亚洲人成人五月天| 五月色婷婷AV| 五月婷婷开心爱| 婷婷五月天成人在线视频| 狠狠爱婷婷爱| 超碰不卡在线| 九九九午夜视频| 亚洲图色五月天| 免费碰碰视频久| 极品人妻VIDEOSSS人妻| 国产精品色色| 色综合久久久久| 天天做夜夜爽| 狠狠狠狠狠狠狠狠| 色综合婷婷| 婷久久| 色五月激情综合| 婷婷综合网| 日日综合网| 黄色AAAAA| 激情小说视频图片网| 特级片神马电影| 色色色色色色色色色999| 五月综合777| 亚洲熟妇AV综合网五月丁香伊人| 98毛片| 欧美丁香婷婷天天操| 五月天激情黄色小说在线观看| 亚洲无码另类| 五月婷婷激情综合| 超碰在线人妻| 色色99| 色就是色婷婷五月亚洲激情| 五月综合色| 开心婷婷五月天综合| 中文字幕成人| 怕怕視頻| 五月天 综合 在线| www。五月天。com| sewuyuejiqingwang| 翔田千里无码| 五月天婷婷青青草| 五月天激情社区| 五月丁香婷婷成人综合网| 另类激情网| 99热这里只有精品16| 深爱五月激情| 五月丁香综合| 久99视频在线观看| 国产成人99久久亚洲综合精品| 99久久综合| 亭亭玉月丁香| 国产精产国品一二三在观看| 99精品国产在热久久| 丁香六月在线综合| 最新婷婷五月丁香| 欧美碰碰| 欧美日比视频| 五月丁香啪啪网| 综合久久婷婷五月丁香| 五月激情综合婷婷| 婷婷六月天亚州| 小视频久久久aaa| 亚洲综合另类| 中文字幕在线播放视频| 亚洲人人操| 青青草视频免费观看| 91无码一起草| 色五月婷婷影视| 伊人网碰碰| a色色色色色| 熟女五月天久久综合| 婷婷五月天男人影院色色网| 五月丁香婷婷综合视频| 中文色婷婷| 日本婷婷五月天| 中文字幕丰满孑伦无码专区| 九九99偷拍视频| 五月婷婷,狠狠操| 色五月首页| 婷婷五月俺要去| 五月丁香操亭亭网| www久久久久久久97| 可以免费观看的av| 婷婷五月花.97| 美腿丝袜AV天堂网| 色欲婷婷五月天| 五月婷成人网| 五月婷婷啪啪啪啪| 8区视频在线| 五月大香蕉| 国成人网| 婷婷丁香激情综合色情| 激情综合网五月天天| 九九精品视频在线6| 五月天婷婷伊人| 九九人人操| 日本玖玖在线| 婷婷九九| 五月天婷婷色小说| 国产亚洲精品久久一区二区三区| 五月丁香综合在线| 五月天操逼激情| 日本色久| 五月丁香婷色| 婷婷九月丁香| 五月丁香亭亭| 久久九九99.www| 久久xxxx| 国模淫穴色图| 色色激情网| 黄色三级毛片中字| 婷婷五月天丁香社区| 九热在线这里有精品6| 婷婷五月综合激情免费| 噜噜五月天综合| 久久久久久久久18久久| 久久99久久99精品免观看粉嫩| 国产Va视频| 欧美Va日本Va| 婷婷综合| 艹天天射| 久色视频首页| 丁香五月中文字幕色播| 五月婷在线| 99人妻碰碰碰久久久久| 久久在这里有精品| 激情网婷婷五月天| 激情六月天| 激情伊人网| 婷婷丁香五月久久| 婷婷午夜综合| 免费无码毛片一区二区A片| 2017人人操| 操逼在线视频| 精品成人久久久久久久_一二三四视| 国产成人AV| 第五婷婷伊人丁香色| 五月丁香婷中文字幕| 99熟女视频| 久久久久久久久久久久久久久久一道本| 色婷婷伊人| 狠狠撸激情综合丁香五月天俺来啦| 91啪啪视频| AⅤ在线播放网| 色婷婷狠狠干| 九九综合| 五月激香蕉网| AV伊人青草丁香六月| 久久五月天婷婷| 双性美人被调教到喷水A片| 91丨九色丨熟女|老版| 五月开心激情网| 99这里只有精品视频| 亚洲精品成人片在线播| 色欲日日躁| 丁香九月激情| 9 1 A v久久久| 人人干天天操五月丁香| 五月丁香婷婷基地| 久久综合综合综合| 天天色五月| 久久丁香五月天| 毛v一区二区视频| 九九这里精品| 色五月婷婷五月| 9久久精品视频| 五月天在线视频尤物视频在线看| 色99在线观看| 久久婷婷五月综合激情国产| 丁香五月欧美激情| 日韩免费视频| 97福利视频| 97色色网| 97色碰碰公开视频| 婷婷六月丁香色| 深爱开心激情| 五月停停999| 五月婷婷综合久久| 亚洲天堂婷婷丁香| 天天五月香欧美| 日本美女上人| 天天操精品| 六月丁香婷婷六月激情综合| JAPANRCEP老熟妇乱子伦视频| 99色综合网| 日本婷婷| 97操碰免费视频| 99爱最新免费视频在线观看| 爱射综合| 色婷婷久久| 玖玖在线视| 99视频91| ji'qi'luan'ren'lun| 深夜婷婷 丁香| 色综合播放| 婷婷五月婷婷| 五月天色色网站| 色婷另类| 超碰色女| 人妻久久久久久久| 天天婬色综合| 五月婷综合网| 99国产在线精品视频| 国产日韩欧美性生活| www.99热| 99小视频| 激情久久久| 一区二区成人电影| 操操自拍| 色9月| 五月婷婷激情综合av| 国产超碰av| 丁香婷婷中文字幕| 五月停性愛| 开心五月综合激情综合五月| .精品久久久麻豆国产精品| 日韩a热| 色婷婷基地| 五月丁香综合网色欲| 五月综合视频| site:xiongshengzz.com| 热久久99热欧美国产亚洲| 色综合综合色| 成人网址在线观看| 99ri在线观看视频| 五月激情视频| 久久五月丁香| 99免费在线| 色播五月丁香| 久久人妻精品| 丁香五月婷婷久久久| 91久操| 色黑鬼导航| 色五月婷婷五月天| 激情欧美婷五月| 青柠影视免费高清电视剧| 开心五月激情站| 超碰免费人| 五月综合六月婷婷| Www.se.久久| 色色色色色综合| 六月婷婷视频| 亚洲情色一区| 色欲丁香| 亚洲激情综合| 国产婷婷五月中文字幕高清| 成人做爰A片免费看视频| 人妻肉射免费观看| 亚洲AV成人精品网站在线播放| 久久久久久久久久人妻| 激情五月天福利| 狠狠操天天干| 色综合久久44| 99视频这里有精品| 色五月婷婷少妇人妻| 性欧美大战久久久久久久83| 中文字幕久久一区二区三区| 九月婷婷在线观看| 香蕉人在线香蕉人在线 | 亚洲旡码| 天天做天天爱| 极品 少妇 内射| 91热久88| 激情五月婷婷视频一区二区三区| xx久久| 开心激情网五月天| 五月丁香成人日| 97人碰人操| 五月天激情丁香| 91尤物九色在线| 五月婷婷深深爱| 蜜乳A√| 人妻Av在线| 综合久久久| 新久久五月天激情| 日本视频不卡123区| 久久久久久五月天| 小色小蛇伊人婷婷色香五月| 91五月天| 天天射射夜| 日本久久极品| 超碰成人电影| 六月丁香婷婷亚洲中文玖玖| 伊人激情综合| 欧美啪啪9| 婷香五月网在线| 五月丁香色停停啪啪啪| 久久久久久人妻| 99精品在线观看| 国产成人AV不卡| 久久这里只有精品热在99| 综合久久婷婷| 精品亚洲国产成AV人片传媒| 五月婷婷啪| 日本久久综合| 欧美三级巜人妻互换| 五月丁香成人视频| 激情五月婷婷综合| 成人在线观看国产| 色播播五月天| 久久婷婷六月天| 影音先锋男人站,影音先锋男人色资源网,影音先锋AV最新资源站,影音先锋AV资源 | 又大又粗九一在线| 色色色色色网| 久久er免费视频| 97操资源婷婷| 亚洲啪啪视频| 伊人综合网4| 婷婷久久图片| 激情五月婷婷| 99视频只有这里精品| 任我肏| 欧美怡红院黄站| 国产午夜精品一区二区| 99热香港| 久久区区一二三av| 思思热在线观看| 五月激激激情综合网| 午夜大香蕉| 91a片爽| 欧美内射AA| 99爱视频免费看| 婷婷伊人中文字幕| 91呦呦呦| 久机视频这只有精品| 久久精品亚洲热| 伊人久久婷婷| 色在线免费观看| 五月丁香| 色婷婷色五月天| 色婷五月婷婷| 一级无码作爱片| 99热66| 丁香五月综合| 全国最新疫情| 久久性操| 91制片厂久久久国产电影| 久热久| 天天激情站| 99这里只有免费的精品| 97婷婷在线| 婷婷色情 | 五月丁香免费视频| 色综合色综合网| 99这里只有精品视频免费| 极品五月天| 色播五月丁香| 成人综合视频在线| 五月天激情小说婷婷基地| 色综合色综合网| 丁香久久激情俄| 五月丁香亭亭| 91久久精品无码一区二区三区| 丁香五月天激情小说| 日韩成人网址| 色综合av超碰| 激情无码网| www.五月激情红色| 久久99网站| 99资源在线| 成人美女网| 九九久久精品| 99精品视频免费观看| 五月丁香婷婷激情在线| 99综合在线| 婷婷中文网站| 丁香婷婷九月在线| 99精品网| 97婷婷丁香| 色五月综合激情| 五月婷婷狠天天色综合| 九月影院義母在线播放| 热久久婷婷| 日本不卡一区二区三区| 亚洲欧洲另类| 青青草原伊人网| 亚洲A色| 色丁香在线视频| 天天射影| 91精品久久久久久久久| 色婷婷狠狠18yy| 嫩BBB搡BBBB榛BBBB| 久久婷婷成人综合色怡春院| 国产毛片精品一区二区色欲黄A片| 五月色丁香激情| 婷婷丁香五月视频| 99亚洲天堂| 日本97在线视频| 人人超碰99| 狠狠爱成人综合网| 免费无码毛片一区二区A片 | 色五月首页| 亚洲AV成人精品日韩在线播放| 九九在线精品| 丁香五月天网友自拍啪啪啪视频| 色欲日日躁| 色五月婷婷久久爱| 狠狠综合| www.精品99| 免费亚洲成人电影AV| www99xxxx五月丁| 超碰熟女农村在线69| 欧美成人AAA片一区国产精品| 成人片在线播放| 九九热只有精品| 色综合网址| 五月丁香大相交| 六月丁丁香| 婷婷五月天亚洲| 丁香五月开心五月激情| 人人舔天天| 久久婷婷色丁香| 五月色丁香成人| 99热久只有精品首页| 99热99ai| 五月丁香猫咪久久婷婷综合视频激情四射网入口 | 思思热在线播放| 色婷| 丁香五月另类色婷婷麻豆| 久久婷婷五月天激情四射| 九色啦蜜臀| 99色热视频在线| 婷婷深爱五月| 亚洲久久激情| 五月天天视频| 99热在线观看免费精品| 五月久久婷婷成人网| 色五月婷婷色五月婷婷色五月婷婷| 色婷婷裸体色性在线| www.99热. com这里只有精品| www,婷婷五月天,com| 精品少妇蜜臀91| 五月丁香婷庭在线| 日韩人妻操逼视频| 五月丁香基地| 六月婷婷久久大全| 色色色色av色色色色| 99精品视频网站| 99热a片免| 天天色天天日| 婷婷色片| 婷婷丁香激情综合色情| 色五月91| 超碰碰碰碰| site:pnnrt.com| 9999久久久久| 99精品视频在线观看| 成人做爰A片免费看视频| 一本色综合色| 欧洲综合一区| 国产操逼视频网站| 丁香九月综合激情| 欧美激情VA永久在线播放| 天天天天天天操| 99热婷婷| 成人午夜天| 大香蕉伊人丁香五月| 激情五月最新网址| 日韩无码系列| 五月婷婷深深爱| 91在线日| 色色是色N一| 国产欧美婷婷五月| 五月天久久www| 日日日日操| 亚洲丁香婷婷丁香五月天激情| 人人摸人人干| 色99视频| 99久久久久| 三级毛片视频| 超级久久久| 超碰97免费在线| 亚洲激情av| 99热这里只有精品10| 天天做综合网色综合| 天天激情| 五月天婷婷免费| 五月婷婷成人| 日韩中文字幕| 天堂网亚洲色图| 久热99热| 久久视这里只有精品| 狠狠干狠狠操狠狠爱| 五月婷婷九| 九九国产视频| 色高清无码视频|