欧美成人午夜精品久久久,国产?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
返回資訊列表
99在线看视频| 日本nghangse中文字幕| 色五婷婷| 91九色成人原创视频| 天天爱综合网| 欧美色六月婷婷| 91国产精品视频播放| 五月婷婷性| 大香线蕉伊人| 色婷婷狠狠18yy| www.99热视频| 婷五月丁香| 蜜桃婷婷狠狠久久综合| 99综合五月免费视频色婷婷| 色99在线| 99久在线精品99re8| 亚洲射激情| 久久久婷婷色五月资源网| 97碰碰视频在线观看免费| 婷香五月网在线| 九九视频在线观看视频在线播放69| 9久久久久久久久久久| 亚洲综合视频一下| 婷婷五月AA五月在线| 欧美日本97| 婷婷五月色播| 综合网五月| 综合网激情| 中文不卡一二三区| 五月色无码| 超碰在线免费9| av亚洲国产小电影| 婷婷五月花| 99婷婷国产最新视频| 激情久久久| 亚洲欧美一区二区三区爱爱动图| 亚洲色色香蕉| 九九视频这里只有精品| 色五月婷婷很很操| 天天日天天摸| 日韩aaaaa| 99成人精品六| 五月天啪啪| 婷婷天堂视频| 九九热大香蕉| 天天色丁香| 奇米影视在线视频| www.久久9| www.久99| 丁香婷婷婷五月综合色情| 日本人妻伦在线中文字幕| 婷婷伊人久久| 色色色综合网| 成人国产欧美大片一区| 久久久网站| 亚洲综合色网| 九月激情网| www.日本91| 五月婷婷真爱激情网| 亚洲天堂九九九| 九九视频这里只有精品| 麻豆AV一区二区三区| 可以直接看的av| 午夜成人网站在线观看| 亚洲日日日| 成人五月丁香社区| 婷婷综合在线| 1024欧美看片| 五月天丁香成人| 第四色网婷婷| 天天爽在线视频| 色综合久久44| 这里只有精品视频在线观看免费| 就爱射中文字幕资源网| www.婷婷| 97色色婷婷| 亚洲激情综合| 天堂呦 呦百度搜索-百度搜索| 不卡在线超碰| 夜夜嗨一区二区三区直播内容 | 色色综合成人网| 婷婷的久久网站| 丁香五月欧美激情| 久婷婷视平| 全部老头和老太XXXXX| 国产精品激情AV久久久青桔| www色婷婷com| A一级操| 久久午夜理论| 欧美日韩成人高清在线| 欧美色综合天天久久综合精品| 粉嫩AV久久一区二区三区| 伊人综合网站| 1234操逼网| 2016日日夜夜操| 97在线精品视频| 夜夜骑日日操| 26uuu成人网| 国产成人网| 激情婷婷久久| 9999热在线| 91色吧网| 五月色丁香激情| 亚洲五月天另类小说图片| xx久久| 丁香六月婷婷久久综合| 九九热91| 开心五月婷婷激情网| 99热精品在线免费观看| 99热99精品在线观看| 五月婷婷六月丁香在线视频| 开心激情综合| 91在线日本| 午夜大香蕉| 婷婷在线观看五月天在线视频| 99福利视频| 性爱久久| 99热在线极品极品| AAAA亚洲| 99热这里只有精品3| 人人爽网| www.婷婷网| 五月五丁香婷婷| 操日视频| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 久久精典| 激情九色| 精品人妻一区二区| 大香蕉丁香| 亚洲99手机免费看视频| 免费视频WWW在线观看网站| 激情综合区| 96丁香婷婷九月蜜桃综合久久| 婷婷五月天亚洲综合| 激情丁香五月天综合| 五月婷婷啪啪啪啪| 91免费啪视频| 丁香五月婷婷基地| 伊人久久艹| 丁香六月婷婷综合| 九九综合九| 久久精品99久久| www狠狠| 五月婷婷色影院| 五月丁香啪啪| 丁香五月激情综合久久| 99热在这里只有免费精品| 亚州AV超碰人人操| 少妇人妻人伦A片| 99碰网站| 激情久久丁香| 五月激情射| 夜夜操夜夜爽| 久久婷婷伊人| 婷婷五月天综合在线| 九九九午夜视频| 華人性愛AV在線| 91激情五月开心| 琪琪色网在线| 色丁香久综合在线久综合在线观看| www.久热| 深爱开心激情网| 日韩999| 久久久久久久久久8888| 五月激情六月综合| www.激情.com.| 色丁香五月天| 99色色热| 色色婷婷综合| 成人免费va| 性爱111111| 99热这里只有精品50| AA片在线观看视频在线播放| 天天干肏夜夜| 综合色视频| 日日杆天天| 亚洲成片在线观看| 丁香五月性| 久热九九| 五月花婷婷最新| 国产伦亲子伦亲子视频观看| 亚洲色a| 亚洲精品a成人在线播放| 五月婷综合性中心| 97在线视频 欧美| 人妻久久久久久久久久久| 9九九久久精品无码专区| 婷婷五月天另类网站| 丁香婷婷综合影院| 99热最新精品| 五月丁香婷婷激情在线| 亚洲天堂碰碰婷婷| 99热超碰| 巴基斯坦粉嫩无码视频| 五月丁香好婷婷A片网| 夜夜 操无码| 婷婷视频网| 欧美成人A片AAA片在线播放 | 天天肏天天插| 婷婷丁香婷婷97| 国产亚洲色婷婷久久99精品91| 玖玖婷婷色五月| 婷婷五月综合激情| 五月J香蕉婷婷| 色婷婷裸体色性在线| 色情五月| 99亚洲精品| 激情五月天色爱| 婷婷激情综合色五月久久91| 夜夜夜夜夜操| 99热99热99热99热| 亚洲激情网| 亚洲亚洲人成综合网络| 99热在线看片| 五月天婷婷伊人| txt五月激情四射网综合俺也来了 五月天婷婷丁香人人操91 | 精品久久人妻热| 在线看片h站| 久久久天天啊| 色婷婷色五月丁香| xxxx久| 五月丁香六月天| 久久一二三视频| 国产99久9在线| 久色网| 五月天激情网开心网| 97操视频| 亚洲在线综合| 激情黄色小说五月天| 99精品女人天堂| 99这里有精品视频| 99热天堂| 丁香五月婷婷激情蜜桃| 欧美色六月婷婷| 日都一级A片| 九月丁香婷婷| 99日在线视频| 天天日日综合| 五月婷丁香久久久| www99热| 国产在线网址1| 午夜色婷婷| 色婷婷五月天不卡| 婷婷五月激情丁香激情| 特黄三级片| 天天干人人奸97| www色五月| 五月天婷婷成人资源站| 五月丁香激情五月天| 色天堂97| 第1影院之五月婷婷| 少妇性BBB搡BBB爽爽爽视頻| 玖玖精品视频| 激情小说五月丁香在线视频观看视频| pom538精品视频| 婷婷狠狠干| 玖玖在线视频| 亚洲av综合网| 91婷色| 天天爽天天干天天| 狠狠狠狠狠操| 五月婷婷深爱六月| 激情丁香五月激情婷婷| 蜘蛛女免费观看完整版高清电影| 国产操碰| 91ncom.色| 久久一级片| 色九四色| 狠狠爱丁香婷| 婷婷激情六月中文| 九月色婷婷综合亚洲| 欧美性色A片免费免费观看的| 亚洲另类婷婷综合| 国产激情视频在线观看| 91爱操| 久久免片| 欧美五月婷婷| 天天综合色| 五月天激情视频网站| 超碰69天堂| 亚洲精品亚洲人成人网| 五月天精品| 色丁香久久| 久久久久久97| 亚洲六月色婷婷| 深爱五月激情五月| 国产精品电影网| 五月婷婷在线视频观看| 99资源在线视频| 五月婷婷亚洲色视频| 五月天激情www| 五月丁香在线看| 国产色99| 2020日日干| h在线看免费版在线看| 五月婷婷成人| 大香蕉婷婷久久| 第四色大香蕉| 五月天社区| 亚洲色综合| 中文字幕在线观看视频www| 丁香五月综合| 五月天大香蕉| 超碰人人插| 色婷婷狠狠18yy| 奇米四色五月天| VA色婷婷| WWW.桔色成人.COM| 七七色综合| 九九热99在线视频| 国产精品社区| henhencao国产在线| 九九免费视频在线| 懂色AⅤ| 丁香婷婷六月| 久久九九网| 丁香五月天堂网| 精品影院| 97香蕉人人在线观看| 久久新地此| 影音先锋一区二区三区| 午夜青草资源| 五月丁香婷婷免费视频| 婷婷五月天AV| 人人操操97| 9精品视频在线观看| 超碰亚洲天堂| 激情婷婷五月基地| 五月婷婷六月丁香综合| 婷婷99视频在线| 国产色视频网站2| 亚洲精品国产setv| 五月色丁香激情| 久久久久这里只有精品| 伍月婷丁香花全集| 五月天久久综合| 亚洲精品亚洲人成人网| 九色porny在线观看激情四射| 色综合丁香婷婷| 99er这里只有精品视频| 色婷婷亚洲精品天天综| 久久女婷| 日韩在线一级| 九九热这里只有精品12| 精品久久9| 精品一二三区久久AAA片| 国产精品 的国产| 99免费成人网| 婷婷中文字幕| 国产乱子轮XXX农村| 超碰激情五月| 久久婷婷五月综合激情国产| 中文字幕AV在线播放| 少妇人妻偷人精品无码视频新浪| 亚洲综合另类| 五月天婷婷导航| 噜噜色五月| 农村熟妇高潮精品A片| 91精品丝袜久久久久久久久粉嫩| 妻久久久久| 婷婷五月天天天| 五月综合激情| 婷婷丁香熟妇综合网| 日本一级大片| 中文字幕久久一区二区三区| 五月丁香六月婷| 久久九九囯产| 婷婷五月综合啪| 99视频在线精品| 亚洲99一级无嗎特制在线| 国在线激情网| 免费AV播放| 久久38视频| 男人天堂亚洲综合| 五月天色丁香| 涩综合网| 五月丁香久久| 欧美精品A片一区在线观看| 高清无码中文字幕aVDV| 99色在线视频| 天天搞夜夜爽夜夜爽| 色婷婷狠狠| 国产毛片欧美毛片久久久| 九九热啪啪| 九九热视| www久久久久久久| 婷婷五月天天| 成人做爰A片免费看网站找不到了| 久久九九@| 五月丁香六月综合激情无码软件亮点 | 日本视频久久| 看黄的网站18禁| 免费97碰碰| 婷婷日韩| 天天操电影院色狼性av| 精品热九九| 激情99热| 婷婷成人基地| 五月的丁香六月的婷婷| 中文字幕无码人妻少妇免费视频| 五月六月丁香激情视频| 欧美色色色色色| 欧美日本黄色| 粉嫩av蜜桃av蜜臀av| 偷拍九九五月丁香婷婷| 日本美女五月天| 色五月激情综合网站| 六月丁香五月激情婷婷| 激情综合丁香| 99视频只有精品| 人妻激情网| 日韩色五月| 亚洲国产另类av| 九九热只有精品| 丁香五月婷婷久久久| 视频色色色色色色| 伊人久久中文网| 色五月婷婷在线| 美欧成人视频| 日本在线视频www色| 激情久久肏屄视频| 五月综合视频| 欧美一区二区三区不卡影视| 噢美99| 婷婷五月另类网站| 激情九月天天天天婷婷| 婷婷五月激情五月激情| 伊人五月婷婷| 大香蕉 婷婷| 17.c黄色| 另类图片激情五月| 激情五月婷婷| 欧美Va在线| 久久玖玖99| 色五月丁香婷婷久草| 99热日| 欧美色色色| 少妇丁香婷婷 | 亚洲aV写真天天综合网久久| 久婷首页| 九久9精品| 五月激情偷拍婷婷| 激情五月婷婷她| 免费黄色AV| 三级黄网站| 亚洲激情综合| 五月激情六月宗合| 这里只有精品视频222| 五月丁香六月激情综合| 少妇人妻综合色6699| 色五月婷婷激情基地| 色99视频| 婷婷丁香激情五月天色色| 日韩AV中文字幕在线| 五月天成人综合| 凹凸7777操操操| 婷婷色色欧美综合网| 夜夜爽天天干| 激情婷婷五月亚洲| 99伊人婷婷在线| 超碰在线人妻| 狠狠插日日干撸| 五月激情网站| 六月婷婷毛片| 国产免费AV网站| 欧美性丁香色色五月天综合爱爱| 五月婷婷色白丝| 综合色五月| 99热的无码| 天堂中文国产| 免费91久久精品| 综合久久综合| 99热在线这里| 久久激情综合| 五月婷中文字幕| 欧洲MV日韩MV国产| 亚洲中文字幕AV| 2w在线视频| 综合久久五月天| av大片在线| 97色婷婷成人综合在线观看| dingxiangtingtingliuyue| 九九99九九99| 九九热99久久99| 99色| 色婷婷a v| 91精品国产综合久久密臀| 婷婷五月天激情小说| 91色综合网站在线| 中文字幕在线观看视频www| 激情五月丁香六月综合AVXXXX| 欧美色色色| 97碰操| 乱岳熟女50岁| 六月婷婷中文字幕| 91色综合网| 五月婷婷之美女图片| 欧美丁香婷婷天天操| 婷婷综合日本| Av中文在线| 天天爽夜夜操| 五月叮香啪| 激情六月天| 婷婷五月天欧美图片在线播放电驴| 综合97五月| 久操干| 99综合入口| AA片在线观看视频在线播放 | 天天综合天天玩夜夜玩天天玩夜夜玩| a在线观看| 一起操 91N.com| 久久97久久99久久综合欧美| 色色激情五月天| 色婷婷九月| 99在线热视频| 色色色五月婷| 操逼视频一区| 97影院一级片| 超碰免费99| 丁香五月六月婷婷综合| 色狠狠婷婷| 天天天天天日| 久久九九免费视频| 久色视频| 五月天婷婷成人网| 久久婷婷五月综合色丁香| 日韩爱操视频| 精品五月天| 婷婷五月六月激情| 99性爱视频网站| 色人妻五月| 天天夜天天色天天| 丁香六月天堂| 丁香婷婷五月| 99视频| 激情五月天影院| 无套内射极品大美女| 五月天婷婷色综合| 天天日天天插| 99久.| 久热欧美| 日本狠狠干| 伊人91| 风流少妇A片一区二区蜜桃 | 日本一级一片免费视频| 色婷婷97| 五月天激情婷婷| 丁香五月欧美| 欧美性生交XXXXX无码小说| 蜜臀AV在线观看| 影音先锋美国A| 亚洲一级 片内射网站在线观看| 96丁香婷婷九月蜜桃综合久久| 久久性都花花世界成人免费视频| 丁香五月WWW| 九九偷拍网| 欧美在线看| 欧美精品99久久久| 丁香五月AV综合激情| 五区毛片七区毛片| 伊人玖玖婷婷| 可以免费观看的AV| 爱iii做iiii日| www.激情五月天.con| 91婷婷伊人牛牛| 激情欧美婷婷| 色婷婷五月天在线| 991国产精选视频在线播放下载| 97人人操人人爽| 婷婷五月激情综合| 综合九色| 丁香五月天啪啪| 五月婷婷成人w| 五月丁香婷爱在线| 婷婷五月av| 福利视频在线播放| 丁香熟女乱| 久久婷婷激情| 欧美婷| 丁香五月激情网| 丁香五月婷婷基地| www网站在线观看| 26uuu在线观看| 国产成人一区二区三区在线观看| 激情婷婷22月间| 超碰九九热| tingtingzonghewang| 狠狠摸狠狠摸| 日本不卡高字幕在线2019| 九九超日本| 99在线精品视频观看免费下载| 这里只有精品视频在线看| 久久久ww| 婷婷酒色网| 久热9| 国产精品久久7777777精品无码| 91要啪| 国产伦亲子伦亲子视频观看| 激情综合99| 涩涩涩婷婷| 97人人做| 人人操人| 婷婷的五月天另类视频| 99视频网址| 9久久狠狠的| 91成人视频| 五月丁香在线婷婷美女| 亚洲九九视频| 操日视频| 色导航色婷婷五月天在线观看| www.丁香五月| 超碰人妻在线| 色色丁香五月天社区| 日日噜狠狠色综| 丁香五月婷婷五月| 香蕉影院色| 激情网站五月| 9热视频在线观看| 丁香花狠狠婷婷亚洲中文字幕| 成久综合视频| 91色在线/日韩| 超级碰碰99| www.狠狠狠狠| 丁香午夜天| 91视频五月丁香| 久久久久久五月天| 双性美人被调教到喷水A片| 人人97碰| 久久婷婷五月天激情四射| 久久婷婷五月综合色和| 日在线V视频在线播放| 久久婷婷五月| 9热视频在线观看| 国产综合网在线| 六月婷婷毛片| 五月婷婷久久内射| 99热色精品| 精品乱码视频| 91chinese在线| 婷婷五月综合社区| 五月婷婷久久大香蕉| 无码色综合| 79色色色色| 日本久久色| 99精品在| 久久久久久久11111111111| 激情五月激情综合网一级丸片 | 香蕉色色网| 丁香六月成人网| 色噜噜狠狠色综无码久久合欧美| 五月丁香久久精品在线观看| 五月天伊人网| 婷婷丁香六月五月天| 一起草AV| 99精品热视频只有精品10| 国产亚洲在线观看| 九九热这里有精品视频| 丁香五月电影| oumeisesewang| 97精品综合| 五月天婷婷色紫薇阁| 开心激情站| 五月丁香综合网色欲| 91精品综合久久久久久五月丁香| 六月丁香啪| 欧美肉大捧一进一出免费视频| 激情q青青草在线婷婷| 亚洲超碰在线| 丁香五月在线视频黑人| 琪琪狠狠干| 色婷婷久久综合中文久久一本| 久久影视婷婷五月| 无码区婷婷五月花开| 另类激情综合| 五月婷婷丁香成人网| 欧美肉大捧一进一出免费视频| xx综合网| 色停停影院五月天| 97热在线精品| 五月色综合网欧美网| 狠狠综合| 国产精品A片| 《丁香激情综合久久伊人久久》影视在线观看 -高清预告手机免费播放 -三妹影院 | 超级碰碰99| 狠狠综合网| 久久久久久激情| 日本三级韩三级99久久| 久热这里只有精品66| 9999热精品| 色99在线视频| 五月人人丁香婷婷五月人人丁香| 亚洲av另类在线观看| 日本狠狠网| 国产激情综合| 天天夜夜六月丁香五月婷婷老师| 五月丁香五月丁香五月丁香五月丁香91| 大香蕉久久婷婷精品综合| 超碰AV在线| 中国女人做爰A片| 泰州成人视频| www.av视频xx999.com| 国产精产国品一二三在观看| 激情五月天婷婷五月天| 99爱视频精品在线观看| 五月天另类小说久久小说网| 五月久久婷婷丁香| 无码婷婷五月天| 天堂网啪啪| 丁香六月综合激情| 五月天四色房丁香亭亭| 另类色网| 99久久.www| 色婷婷狠狠| 99热在线只有精品| www.夜夜操.con| 熟女国产在线一区二区三区四区| 亚洲精品99| 插插五月天| 天天久综合网永久入口17v| 国产精品久久久爽爽爽麻豆色哟哟 | 五月天色裸体视频| 亭亭色色五月天| 色婷婷中文| 久久色婷婷| 综合色综合| 第四色婷婷日本| 久久婷婷五月综合色和| 91久久久久久久| 色停停五月,在线观看| 三区激情四射av| 婷婷激情四射网| 丁香五月大香蕉在线99| 深爱综合网| 综合网五月| 伊人综合网4| 97人妻碰碰碰久| 丁香五月手机视频| 亚洲狠狠色丁香婷婷综合久久| site:xmssd.com| 好色婷婷| 日逼影音先锋AV男人资源站| 99热综合| 91精品综合久久久久久五月丁香| 丁香五月婷婷香| 五月丁香婷婷婷婷综合网| 久久综合干| 9 9热这里有精品| 久久性爱网| 丁香婷婷色五月激情综合| 停停五月色宗合| 99九九精品| 26UUU精品一区二区Com| 99热这里有精品6| www.五月婷婷久久.com| 九九综舍久久| 欧美丁香五月| 人人草碰| 五月色婷丁香| 日韩一级| 久久九九99视频| 精品国产乱码久久久久久免费| 色婷婷亚洲婷婷| 五月丁香六月激情综合| 日韩无码色色| 这里只有免费精品| 丁香五月激情综合啪啪| 99热99这里有免费的精品| 十月丁香婷婷| 婷婷五月开心中文字幕色| 五月丁香啪啪啪免费看| 婷婷丁香射射| 婷婷五月小说色综合| 99热都是精品| 天天日天天做天天舔| 日韩啪啪网| 五月色网| 色优久久| 欧美噜噜久久久XXX| 影音先锋按摩| 五月丁香六月婷婷综合在线| 婷婷五月天av| 激情视频网址| 六月丁香婷婷综合色播| 日本色噜| 激情五月综合免费| 丁香五月天精品| 新激情五月开心五月婷婷五月丁香五月| 精品九九在线观看| 丁香五月婷婷国产av| 国产高清av黄色看片| 俺也去五月婷婷丁| www久久久久久久久久久久久久久久久| 4438亚洲欧美| 七七色综合| 97成人超碰免| 原琪琪色影院| 久久只有这里精品免费| 激情婷婷五六月天| 久久久区区一久久久久久| 五月丁香激情深爱婷婷| 狠狠草在线观看| 五月天激情小说网| 五月天久久久| 国产一区二区三区影院| 婷婷丁香91综合| 9精品一区| 99视频在线播放大全| 激情综合久久| 五丁香激情综合| 五月丁香狠狠| 99这里都是精品| 91日韩在线| 国产精品人成A片一区二区| 九九精品视频在线6| 超碰av在| 色欲久久久久久综合网综合网| 超碰成人电影| 日本熟妇乱妇熟色A片蜜桃| 噜噜久| 天堂久久婷婷| 五月天偷拍| 天天色天天爱天天爱天天爱y| 99热碰碰热| 国产欧美日韩综合精品一区二区| 五月丁香婷婷成人综合网| 99热免费精品| 日韩精品视频中文字幕| 人人操人人爰人人一天天碰夜夜拍夜夜爽-中国A级毛片天天看天天谢… | 99色看这里只有精品| 丁香五月色情av| 婷色五月天| 六月丁香五月激情网| 国产亚洲色婷婷久久99精品91 www.riverspirits.org www.hnnun.com www.changh | 久久99热这里| 懂色av蜜臀av粉嫩av永陈冠希| 婷婷激情图片| 天天天天天天操| 亚洲五月丁香综合网| 久久香视频| 激情深爱五月天| 99无码黄色视频| www.25五月婷婷| 亚洲色图在线视频| 国产AV一区二区三区最新精品 | 丁香婷婷狠狠97| 综合久久9| 99久久er| 日日干五月天婷婷| ady狠狠入| 蜜桃五月天| 9色视频在线| 婷婷日日夜夜| 激情五月天之五月婷婷| 色99网| 久操人| 七月婷婷色香综合网| 日韩九区| 五月色婷婷综合| 青青草蜜臀| 天天色播| 4399人妻无码久久久| www.ywav| 日本精品人妻无码77777| 久9热| 五月丁香婷婷视频| 欧美啄木乌丝袜人妻系列| 99热精品少| 欧美精品999| 麻豆雪千夏| 先锋男人91资源| 9久热精品在线视频| 色情成人五月天| 99热99在线| 97久久草草超级碰碰碰| av人人干| 深爱开心激情| 五月天综合影院| 色婷婷丁香AV综合| 97激情五月天| 色色色综合视频| 九九av| 狠狠爱综合| 久久99视频| 色婷婷狠狠18禁| 9操在线| 大香蕉五月婷婷| 色婷婷久久综合久色综| 色五月婷婷激情基地| 97狠狠碰| 99九九热视频免费| 9热在线视频精品| 超碰A V在线| 狠狠色噜噜色狠狠狠综合色| 激情综合五月丁香六月婷婷| 亚洲成人丁香花| 激情玖玖综合网| txt五月激情四射网综合俺也来了| 人操综合| 色婷婷人人| 久草丁香婷婷五月天婷| 99久在线精品99re5热视频| 精品九九网| 色婷婷瘦婷婷日韩| 91九色精品| 久久五月激情| 99在线er热| 五月丁香直播| 美女美女美女三级色天天天天天| 天堂草在线观看| 狠狠干,狠狠操| 亚洲网视屏| 五月天社区| 一级片操逼视频| 在线sebiav精品视频| 五夜丁香| 99久久99视频只有精品| ji'qing'luan'ren'lun| 婷婷六月伊人| 五月婷婷天天| 激情伊人| 狠狠干综合| 婷婷干| 2016日日夜夜操| 婷婷九月色| 免费久久这里只有精品99| 婷婷亚洲欧美丁香五月| 亚洲网站999| 丁香六月婷婷| 国产精品91抖高| 丁香六月激情综合网| 亚洲操逼片| 色欲五月天| 婷婷九月丁香| www.夜夜操.com| 九久久婷婷| 99色中文| 伊人丁香婷婷东京| 丁香激情五月天| 婷婷五月天激情小说| 欧美色激情四射| 91综合在线视频| 激情综合婷婷五月| 久久人妻www| 色噜噜婷婷| 操操综合网婷婷| 久久久.COM| 五月婷婷婷自由综合| 色综合久久综合中文综合网| 国产人妻777人伦精品HD| av免费在线网站| 婷婷五月天激情偷拍| 婷婷五月丁香六月| 偷偷与邻居做爰完整视频| 综合网狠狠| 激情五月六月婷婷综合啪啪| 国产婷婷综合| 婷色天堂| 久久这里只有国产| 久久激情网| 国产成人AV| 91干视频| 3www激情| 大香蕉五月天| 国产91九色| 色色亚卅| 婷婷丁香18| 久久香蕉婷婷| 成人网丁香五月| 99热这里全是精品| 日韩AV中文字幕在线| 思思99精品视频| 久久婷网| 综合久久综合综合| 国产一区男女| 日日夜夜狠狠| 99热综合色图| 激情婷婷综合五月少妇| 91色婷婷综合久久中文字幕二区| 1024成人在线观看| 久久久五月婷婷| www久久久| 欧美99热| w婷婷五月婷婷w| 婷婷色一二三区波多野结衣| 天天操天天操| 91性高潮久久久久久久久| 久久性刺激| 99热6精品| 中文字幕操比影片| 无码激情精品色婷婷久久久久| 婷婷色五月天在线观看| 超碰二区| 欧美日韩成人在线网| 操逼综合激情网| 日本性激情色播| 少妇人妻丰满做爰XXX| 伊人99热| 五月丁香999| 成人五月天丁香婷| 五月丁香影视| 人人爽欧美婷婷久久久五月丁香| 日屌日日操日日色| 99久久97| 17.c黄色| 99久久天堂婷婷| 色久综合天天做视频| 丁香婷婷五月香蕉91| 亚洲色婷婷网站| 噼里啪啦在线观看免费完整版视频| 色播五月婷婷| 婷婷五月天丁香花| 欧亚洲在线高清视频| 婷婷基地爱| 新久久五月天激情| 99精品热| 婷婷激情综合色五月久久,色婷婷丁香花,丁香婷婷五月情天,久久婷婷五月综合色 | 五月天开心婷婷激情网站| 色婷婷av综合网| 五月天婷婷爱| 欧美丁香五月| 丁香婷婷基地| 色情性爱视频网址| 亚洲亚洲人成综合网络| 色综合性视频| 婷婷综合中文| www五月天com| 欧美日韩成人在线网站| 五月婷婷激情| 在线观看熟女少妇| 北京熟妇搡BBBB搡BBBB| 婷婷网五月| 很很色丁香久久停停| 五月丁香婷草| 激情深爱五月婷婷| 国产黄大片在线观看画质优化| 婷婷五月天激情综合深爱| 久久综合26p| 色综合色| www.丁香五月| 99精品国产乱码久久久人妻| 五月丁香激情六月| 亚洲精品网址| 97人人干人人操| 99 频99热国里只有精品| 五月天久久色| 天天狠狠六月婷丁香影院| 色综合大香蕉| 亚洲无码色| 国产婷婷五月在线视频| 91婷婷色 | www,色婷婷| 九九视频这里只有精品在线播放| 久久久久久久11111111111| 综合五月网| 99 热国产在| 婷婷丁香五月综合网| 天天日天天舔| 九九视频这里只有精品在线播放 | 五月婷婷激情综合| 色99亚洲| 综合久久久婷| 久久激情网| 亚洲色爱综合| 丁香五月亚洲AV| 丁香六月成人| 色综合综合色| 亚洲激情五月丁香久久久久| 狠狠色五月| 亚洲欧洲中文日韩久久AV乱码| 蜘蛛女侠2003满天星免费观看| 中文字幕AV在线| 97午夜一区二区| 久久五月天婷婷| 九九热精品6| a网站免费观看| 久久综合综合综合| 超碰99在线观看| 色婷婷五月天在线观看| 天天婷婷天天| 丁香花五月天激情| 五月婷婷性爱网| 婷婷五月av| 香蕉人在线香蕉人在线 | 深爱五月中文字幕| 亚洲婷婷丁香| 日本偷拍九九九| 超碰在线99| 欧美在线操| 色深爱五月| 欧美韩日AAA网站| 日韩九区| 婷婷五月天AV在| 5月丁香综合图区| 欧洲亚洲精品| 日本色色网站| WWW.色婷婷.COM| 婷婷丁香六月五月天| 久久精品婷婷五月丁香| 久久婷婷老| 中文字幕无码人妻少妇免费视频| 亚洲色图五月丁香| 五月天色婷婷激情| 9这里只有精品| 九九99视频精品| av网址在线| 五月天天综合| 青青草原爱爱网| 91碰免费视频| 激情内射人妻1区2区3区| 久久九九网| 在线观看亚洲AV| 99热在这里只有精品| 丁香五月,激情五月,深爱五月| aaa久久| 99这里只有精| www.夜夜操| 99热这里只有精品官网| 伍月激情天| 激情图片亚洲| 97操在线视频| 色婷婷A| 免费播放片大片| 五月丁香久久色| 色yeye欧美| 七七久久婷婷| 999热在线观看视频| www.色五月| 无码少妇高潮喷水A片免费| 婷婷丁香成人| 色婷婷丁香五月| 丁香六月欧美| 色播五月天激情| 五月天激情久久| 丁香五月播播| 天天狠狠夜夜狠狠2023| 欧美色色色色色| 天天干天天拍| 亚洲精品久久久久久久久久吃药| 丁香六月综合激情| 丁香五月婷婷基地| 丁香五月激情网| 亚洲精品白浆高清久久久久久 | 99久久成人| 婷婷丁香成人网址| 五月色婷婷激情| 色婷婷五月天天天干天天操天天爽| 可以直接看的AV网站| 五月婷婷久草在线视频综合| 久久视频在线| 丁香综合婷婷五月天| 另类图片激情五月| 日本一级一级一级一级| 日韩aaaaa| 亚洲无AV在线中文字幕| 色网五月婷婷| 色约约视频一区二区三区四区五区 | 色婷婷色综合激情91| 国产.亚洲.欧洲视频在线| 五月丁香av中文| 久久免费精品小视频| 99高级会所久久| 99精品7| 五月天婷婷在线AN| 五月天丁香成人| 99这里只有| 国产看真人毛片爱做A片| 99色综合久久| 激情五月婷黄版| 色色婷婷丁香| 五月丁香激情综合六月涩涩爱| 激情色情五月天| 综合五月天| 色色色99| 亚洲AV成人精品网站在线播放| 婷婷激情五月天小说| 丁香五月天啪啪| 婷婷六月中文字幕| 婷婷99狠狠| 五月丁香六月在线| 99se丁香| 丁香六月婷| 九九爱这里只有精品| 5月婷婷激情网| 色人久久| 日韩二区搞逼插逼毛片| 99热在线资源| 视频免费精品免费精品免费精品免费精品免费精品免费精品免费99 | 99精品网| AV亚洲在线| 亚洲AV中文在线| 综合五月亭亭9| 丁香五月天电影| 婷婷五月色| 九九热在线视频观看免费10| 人人草公开操| 少妇达人正片在线播放_ikun_福利吧| 亚洲啪视频| 日本三级日本黄色| 五月丁香啪啪网| 婷婷五月天小说网| www.色五月| 色欧美日| 国产丁香五月天婷婷| 五月天激情久久| 三级片AAA久久久AAA久久久AAA| 天堂综合久| 91操操操| 欧美婷婷丁香五月社区| 久久成人亚洲欧美电影| 成人短视频在线| 五月婷婷 激情五月| 九九热视频在线观看| 大香线蕉伊人| 六月久久狠狠| 国产精品18久久久| 日韩啪| 久久久久丁香婷婷五月天| 亚洲精品一区中文字幕乱码| 91狠狠色丁香| www,av好吊操| 九九色逼| 91成人电影| 99色免费观看全部| 亚洲妇女熟BBW| 欧美色狠婷久| AV五月丁香| 婷婷影院欧美| 色五月丁香五月婷婷五月成人网| 色色婷婷丁香| 丁香大香蕉| 久久久久婷| 亚洲综合欧美色丁香婷婷888月图片| 激情5月婷婷狠狠干| 精品人妻一区二区三区四区不卡在| 青青日韩| 五月色色激情网| 激情婷婷丁香五月| 99热在线免费观看精品| 九九黄色网| 超碰在线9| 色色性爱视频| 丁香五月综合激情久久潮喷| 婷婷六月色情| 色婷婷综合久久久久| 丁香五月 综合| 精品五月花| www.五月婷婷久久.com| 亚洲视频色色| 亚洲欧美日韩另类| 大香蕉99| 久久五月网| 99久久久久久久| 日韩aaaaa| 99性爱视频网站| av色婷婷| 亚洲中文字幕在线观看| site:pnnrt.com| 美女天天久久| 在线日韩av| 五月婷婷六月丁香综合在线| 色五月婷婷啪啪五月| 五月丁香啪综合| 亚洲国产精品成人午夜| 超碰在线免费| 亚洲久久婷婷| 色色色999|