一、GM65 簡(jiǎn)介

GM65 條碼識(shí)讀模塊,一款性能優(yōu)良的掃描引擎,不僅能夠輕松讀取各類一維條碼,而且可以高速讀取二維條碼,對(duì)線性條形碼具有非常高的掃描速率,針對(duì)紙質(zhì)條碼及顯示屏上的條碼,也都能輕松掃描;GM65 條碼識(shí)讀模塊是在圖像智能識(shí)別算法及在此基礎(chǔ)上開發(fā)出先進(jìn)的條碼解碼算法,可以非常容易且準(zhǔn)確地識(shí)讀條碼符號(hào),極大的簡(jiǎn)化了條碼識(shí)讀產(chǎn)品的開發(fā)難度。GM65 是建立在符合最苛刻的掃描要求,提供在完全黑暗的環(huán)境,以及過(guò)大的溫度范圍內(nèi)相一致的掃描性能。
部分類型的碼沒有默認(rèn)開啟,可以掃描手冊(cè)相應(yīng)的設(shè)置碼開啟全碼識(shí)別。
可掃描的碼和默認(rèn)開啟可讀的碼,如下圖
二、通訊接口
GM65 識(shí)讀模塊提供 TTL 串行通訊接口與主機(jī)進(jìn)行通訊連接。經(jīng)由通訊接口,可以接收識(shí)讀數(shù)據(jù)、對(duì)識(shí)讀模塊發(fā)出指令進(jìn)行控制,以及更改識(shí)讀模塊的功能參數(shù)等。模塊可以設(shè)置成 串行通訊接口/USB HID 接口/USB 虛擬串口
三、串行通訊接口
3.1 使用 USB轉(zhuǎn)TLL模塊 將 GM65識(shí)讀模塊 連接到電腦 USB 口上
3.2 使用GM65識(shí)讀模塊掃描“串口輸出”設(shè)置碼,將GM65識(shí)讀模塊設(shè)置為串口輸出。注意掃描距離,可適當(dāng)離遠(yuǎn)一些,差不多50cm左右,距離太近會(huì)識(shí)別不了二維碼,掃描成功會(huì)有 ‘叮’ 提示音
3.3 打開串口助手,設(shè)置波特率 9600(默認(rèn))8位數(shù)據(jù) 1位停止 無(wú)校驗(yàn),再打開USB轉(zhuǎn)TTL工具的端口
然后使用GM65識(shí)讀模塊 掃描QR Code /Codabar類型二維碼/條碼,串口助手測(cè)可以收到對(duì)應(yīng)的數(shù)據(jù)信息
“QR Code測(cè)試碼”傳送門
“Codeabar測(cè)試碼”傳送門

四、USB 虛擬串口
4.1 當(dāng)識(shí)讀模塊與主機(jī)使用 USB 線連接時(shí),可通過(guò)掃描“USB虛擬串口”設(shè)置碼將識(shí)讀模塊配置成虛擬串口輸出模式
“設(shè)置虛擬串口碼”傳送門
4.2 設(shè)置成功后可以在設(shè)備管理器找到該設(shè)備端口,WIN 10及以上的系統(tǒng)不需要用戶自己安裝驅(qū)動(dòng),Windows XP ~ Windows 7 x86 & x64 等系統(tǒng)則需要用戶手動(dòng)安裝虛擬串口驅(qū)動(dòng)。驅(qū)動(dòng)文件及安裝指導(dǎo)手冊(cè)等資料可以留言獲取

USB 虛擬串口也可以按照本文 3.3 章節(jié)測(cè)試, 注意需打開的是 USB虛擬串口端口
五、串口命令
用戶可從主機(jī)發(fā)送串口指令對(duì)識(shí)讀模塊進(jìn)行設(shè)置。識(shí)讀模塊與主機(jī)設(shè)備間必須在通訊參數(shù)配置完全匹配時(shí)才能實(shí)現(xiàn)正常通訊。識(shí)讀模塊默認(rèn)的串行通訊參數(shù):波特率 9600bps,無(wú)校驗(yàn),8 位數(shù)據(jù)位,1 位停止位,無(wú)流控。
5.1 CRC 檢驗(yàn)
注意串口命令需要 CRC 檢驗(yàn), 計(jì)算方法 :CRC_CCITT 校驗(yàn)值(2 bytes)。計(jì)算的范圍:Types、Lens、Address、Datas計(jì)算的方法為 CRC_CCITT,特征多項(xiàng)式:X16+X12+X5+1,即多項(xiàng)式系數(shù)為 0x1021,初始值為全 0,對(duì)于單個(gè)字節(jié)來(lái)說(shuō)最高位先計(jì)算,不需要取反直接輸出。C 的參考代碼如下:
unsigned int crc_cal_by_bit(unsigned char* ptr, unsigned int len)
{unsigned int crc = 0; while(len-- != 0)
{
for(unsigned char i = 0x80; i != 0; i /= 2)
{crc *= 2;
if((crc&0x10000) !=0) //上一位 CRC 乘 2 后,若首位是 1,則除以 0x11021
crc ^= 0x11021;
if((*ptr&i) != 0) //如果本位是 1,那么 CRC = 上一位的 CRC + 本位/CRC_CCITT
crc ^= 0x1021;
}
ptr++;
}
注:當(dāng)用戶不需要 CRC 校驗(yàn)功能時(shí),可在 CRC 字節(jié)處填寫 0xAB 0xCD,免校驗(yàn)
5.2 讀標(biāo)志位操作
對(duì)于設(shè)備標(biāo)志位的讀操作,最多可一次讀取 256 個(gè)字節(jié)的標(biāo)志位,注意命令為十六進(jìn)制,命令格式:
輸入:{Head1} {Types} {Lens} {Address} {Datas} {CRC}
其中 Head1 :0x7E 0x00(2 bytes)
Types :0x07(1 byte)
Lens :0x01(1 byte)
Address :0x00000x00FF(2 bytes)表示要讀取的標(biāo)志位的起始地址。0xFF(1 byte) 表示要連續(xù)讀取的標(biāo)志位的字節(jié)數(shù)。
Datas :0x00
CRC :CRC_CCITT 校驗(yàn)值(2 bytes)
返回:{Head2} {Types} {Lens} {Datas} {CRC}
其中 Head2 :0x02 0x00
Types :0x00(讀成功)
Lens :表示上傳的 Datas 的字節(jié)個(gè)數(shù)
Datas :0x00~0xFF 表示讀上來(lái)的數(shù)據(jù)
CRC : CRC_CCITT 校驗(yàn)值
示例:從標(biāo)志位0x002A中讀取數(shù)據(jù),判斷波特率,SS 檢驗(yàn)位,可填 0xAB 0xCD,免校驗(yàn)
發(fā)送格式:7E 00 07 01 00 2A 02 SS SS
接收成功后返回:02 00 00 02 39 01 SS SS


5.2 寫標(biāo)志位操作
對(duì)于設(shè)備標(biāo)志位的寫操作最多可一次寫入 255 個(gè)字節(jié)的標(biāo)志位。寫標(biāo)志操作修改的內(nèi)容在斷電后會(huì)丟失,若需要掉電后保持,則需要進(jìn)行將標(biāo)志位保存帶內(nèi)部Flash的操作。注意命令為十六進(jìn)制,命令格式:
輸入:{Head1} {Types} {Lens} {Address} {Datas} {CRC}
其中 Head1 :0x7E 0x00(2 bytes)
Types :0x08(1 byte)
Lens :0x00 ~ 0xFF(1 byte) 表示該命令中 Datas 字段的字節(jié)數(shù),同時(shí)也表示要進(jìn)行連續(xù)
寫操作的次數(shù)
Address :0x0000 ~ 0xFFFF(2 bytes) 表示要寫入的標(biāo)志位的起始地址
Datas :0x00 ~ 0xFF(1~255 bytes) 表示寫入標(biāo)志位的數(shù)據(jù),配置多個(gè)標(biāo)志位時(shí),必須按照
地址從低到高的順序填充數(shù)據(jù)域。
CRC :CRC_CCITT 校驗(yàn)值(2 bytes)
返回:{Head2} {Types} {Lens} {Datas} {CRC}
1.寫成功
其中 Head2 :0x02 0x00
Types :0x00(寫成功)
Lens :0x01
Datas :0x00
CRC :CRC_CCITT 校驗(yàn)值(0x33 0x31)
2.下發(fā) CRC 校驗(yàn)失敗
無(wú)回應(yīng)命令
3.未知命令應(yīng)答
無(wú)回應(yīng)命令
示例:設(shè)置模塊為命令觸發(fā)模式,照明燈常亮,普通瞄準(zhǔn),啟動(dòng)靜音,開啟解碼成功LED提示,SS 檢驗(yàn)位,可填 0xAB 0xCD,免校驗(yàn)
發(fā)送格式:7E 00 08 01 00 00 99 SS SS
接收成功后返回: 02 00 01 00 SS SS
示例:設(shè)置模塊為感應(yīng)模式,照明燈關(guān)閉,瞄準(zhǔn)常亮,關(guān)閉靜音,關(guān)閉解碼成功LED提示,SS 檢驗(yàn)位,可填 0xAB 0xCD,免校驗(yàn)
發(fā)送格式:7E 00 08 01 00 00 63 SS SS
接收成功后返回: 02 00 01 00 SS SS
標(biāo)志位保存到內(nèi)部 Flash 指令,若要將設(shè)備標(biāo)志位列表保存到內(nèi)部 Flash 中則需要發(fā)送保存命令。
注意:設(shè)備無(wú)法單獨(dú)保存單個(gè)標(biāo)志位配置,必須同時(shí)保持整個(gè)列表。
輸入:{Head1} {Types} {Lens} {Address} {Datas} {CRC}
其中 Head1 :0x7E 0x00
Types :0x09
Lens :0x01
Address :0x0000
Datas :0x00
CRC :CRC_CCITT 校驗(yàn)值(0xDE 0xC8)
返回:{Head2} {Types} {Lens} {Datas} {CRC}
1.保存成功
其中 Head2 :0x02 0x00
Types :0x00(寫成功)
Lens :0x01
Datas :0x00
CRC :CRC_CCITT 校驗(yàn)值(0x33 0x31)
2.下發(fā) CRC 校驗(yàn)失敗
無(wú)回應(yīng)命令
3.未知命令應(yīng)答
無(wú)回應(yīng)命令
-
usb
+關(guān)注
關(guān)注
60文章
8440瀏覽量
284498 -
二維碼
+關(guān)注
關(guān)注
7文章
489瀏覽量
28571 -
通訊接口
+關(guān)注
關(guān)注
2文章
84瀏覽量
16993
發(fā)布評(píng)論請(qǐng)先 登錄
分享一款二維碼掃描軟件
ATK QR二維碼和條碼識(shí)別庫(kù)的模塊資料和使用C語(yǔ)言代碼合集免費(fèi)下載
NLS-EM25二維碼掃描模組形象,二維掃描模組適合哪些場(chǎng)所應(yīng)用
讀取二維碼掃描設(shè)備有哪些類型
藍(lán)牙MAC地址二維碼打印解決方案介紹及使用說(shuō)明
什么是二維碼掃描模組模塊?售取票機(jī)上安裝二維碼掃碼模塊有什么作用?
安裝嵌入式二維碼條碼掃描模塊要注意什么?
哪款二維碼掃碼模塊適合嵌入智能快遞柜?二維碼掃描模組模塊推薦
遠(yuǎn)距離二維碼掃描器如何選擇?看看以下三款遠(yuǎn)距離二維碼掃碼模塊
GM65條碼識(shí)讀模塊用戶設(shè)置手冊(cè)
掃描條碼模塊、二維碼模塊,廣泛應(yīng)用于定制的手持設(shè)備
門禁二維碼掃描模塊使用哪個(gè)產(chǎn)品合適?
GM65二維碼掃描模塊使用說(shuō)明
評(píng)論