一、GM65 簡介

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

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

USB 虛擬串口也可以按照本文 3.3 章節測試, 注意需打開的是 USB虛擬串口端口
五、串口命令
用戶可從主機發送串口指令對識讀模塊進行設置。識讀模塊與主機設備間必須在通訊參數配置完全匹配時才能實現正常通訊。識讀模塊默認的串行通訊參數:波特率 9600bps,無校驗,8 位數據位,1 位停止位,無流控。
5.1 CRC 檢驗
注意串口命令需要 CRC 檢驗, 計算方法 :CRC_CCITT 校驗值(2 bytes)。計算的范圍:Types、Lens、Address、Datas計算的方法為 CRC_CCITT,特征多項式:X16+X12+X5+1,即多項式系數為 0x1021,初始值為全 0,對于單個字節來說最高位先計算,不需要取反直接輸出。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++;
}
注:當用戶不需要 CRC 校驗功能時,可在 CRC 字節處填寫 0xAB 0xCD,免校驗
5.2 讀標志位操作
對于設備標志位的讀操作,最多可一次讀取 256 個字節的標志位,注意命令為十六進制,命令格式:
輸入:{Head1} {Types} {Lens} {Address} {Datas} {CRC}
其中 Head1 :0x7E 0x00(2 bytes)
Types :0x07(1 byte)
Lens :0x01(1 byte)
Address :0x00000x00FF(2 bytes)表示要讀取的標志位的起始地址。0xFF(1 byte) 表示要連續讀取的標志位的字節數。
Datas :0x00
CRC :CRC_CCITT 校驗值(2 bytes)
返回:{Head2} {Types} {Lens} {Datas} {CRC}
其中 Head2 :0x02 0x00
Types :0x00(讀成功)
Lens :表示上傳的 Datas 的字節個數
Datas :0x00~0xFF 表示讀上來的數據
CRC : CRC_CCITT 校驗值
示例:從標志位0x002A中讀取數據,判斷波特率,SS 檢驗位,可填 0xAB 0xCD,免校驗
發送格式:7E 00 07 01 00 2A 02 SS SS
接收成功后返回:02 00 00 02 39 01 SS SS


5.2 寫標志位操作
對于設備標志位的寫操作最多可一次寫入 255 個字節的標志位。寫標志操作修改的內容在斷電后會丟失,若需要掉電后保持,則需要進行將標志位保存帶內部Flash的操作。注意命令為十六進制,命令格式:
輸入:{Head1} {Types} {Lens} {Address} {Datas} {CRC}
其中 Head1 :0x7E 0x00(2 bytes)
Types :0x08(1 byte)
Lens :0x00 ~ 0xFF(1 byte) 表示該命令中 Datas 字段的字節數,同時也表示要進行連續
寫操作的次數
Address :0x0000 ~ 0xFFFF(2 bytes) 表示要寫入的標志位的起始地址
Datas :0x00 ~ 0xFF(1~255 bytes) 表示寫入標志位的數據,配置多個標志位時,必須按照
地址從低到高的順序填充數據域。
CRC :CRC_CCITT 校驗值(2 bytes)
返回:{Head2} {Types} {Lens} {Datas} {CRC}
1.寫成功
其中 Head2 :0x02 0x00
Types :0x00(寫成功)
Lens :0x01
Datas :0x00
CRC :CRC_CCITT 校驗值(0x33 0x31)
2.下發 CRC 校驗失敗
無回應命令
3.未知命令應答
無回應命令
示例:設置模塊為命令觸發模式,照明燈常亮,普通瞄準,啟動靜音,開啟解碼成功LED提示,SS 檢驗位,可填 0xAB 0xCD,免校驗
發送格式:7E 00 08 01 00 00 99 SS SS
接收成功后返回: 02 00 01 00 SS SS
示例:設置模塊為感應模式,照明燈關閉,瞄準常亮,關閉靜音,關閉解碼成功LED提示,SS 檢驗位,可填 0xAB 0xCD,免校驗
發送格式:7E 00 08 01 00 00 63 SS SS
接收成功后返回: 02 00 01 00 SS SS
標志位保存到內部 Flash 指令,若要將設備標志位列表保存到內部 Flash 中則需要發送保存命令。
注意:設備無法單獨保存單個標志位配置,必須同時保持整個列表。
輸入:{Head1} {Types} {Lens} {Address} {Datas} {CRC}
其中 Head1 :0x7E 0x00
Types :0x09
Lens :0x01
Address :0x0000
Datas :0x00
CRC :CRC_CCITT 校驗值(0xDE 0xC8)
返回:{Head2} {Types} {Lens} {Datas} {CRC}
1.保存成功
其中 Head2 :0x02 0x00
Types :0x00(寫成功)
Lens :0x01
Datas :0x00
CRC :CRC_CCITT 校驗值(0x33 0x31)
2.下發 CRC 校驗失敗
無回應命令
3.未知命令應答
無回應命令
-
usb
+關注
關注
60文章
8459瀏覽量
285442 -
二維碼
+關注
關注
7文章
489瀏覽量
28919 -
通訊接口
+關注
關注
2文章
84瀏覽量
17020
發布評論請先 登錄
ATK QR二維碼和條碼識別庫的模塊資料和使用C語言代碼合集免費下載
NLS-EM25二維碼掃描模組形象,二維掃描模組適合哪些場所應用
藍牙MAC地址二維碼打印解決方案介紹及使用說明
安裝嵌入式二維碼條碼掃描模塊要注意什么?
哪款二維碼掃碼模塊適合嵌入智能快遞柜?二維碼掃描模組模塊推薦
遠距離二維碼掃描器如何選擇?看看以下三款遠距離二維碼掃碼模塊
GM65二維碼掃描模塊使用說明
評論