二維碼又稱QR Code,QR全稱Quick Response,越來越多的在生活中出現,作為一種標識,以其廉價簡單方便的使用很快普及到生活的角角落落。像衣、食、住、行、社交等等,就連發這篇博客時,登錄CSDN也是掃碼登錄,確實好用。而且這種增長趨勢還在持續。
以往我們所使用到的二維碼大多依賴網絡平臺或者智能終端,今天我們來談談在單片機平臺上的實現過程。二維碼看起來是一堆雜亂無章的點陣集合,實則有自己的編碼規則。規則比較復雜有興趣可以深究,如果僅僅想為了使用而學習請忽略之,并往下看。
這次我所使用的是一個基于cotex M0的ARM處理器(看成一個單片機),全程C語言實現。單片機性能比較一般但是就效果來看,做二維碼生成已經綽綽有余。開始正題,需要準備的材料有:
(1)C語言生成二維碼的原始代碼(鏈接:https://pan.baidu.com/s/120fVFtQ1zzD6cZ0uIDmdmw 密碼:sn89)
(2)編譯器和調試工具
(3)單片機平臺一個(任意單片機)
(4)LCD12864顯示器一個(其他顯示器也行,大點的)
代碼移植步驟:
(1)把二維碼原始代碼添加到你的工程文件中,不管什么單片機,直接添加不做任何修改。如下:
(2)
(3)打開二維碼原始代碼找到QR_Encode.c文件,并找到在此文件中找到
BOOL EncodeData(char *lpsSource)函數
這個函數就是生成二維碼的核心函數,用法也很簡單,只需把你需要轉換的字符作為參數傳入即可。如EncodeData("http://www.csdn.net/")。
這時二維碼的轉換結果,已經保存在全局變量 二維數組
m_byModuleData[MAX_MODULESIZE][MAX_MODULESIZE]
中,這個二維數組中保存的都是0、1比特值(有點像單色BMP位圖),0就代表二維碼的空白點,1就代表二維碼的黑點了。現在你需要做的就是把這些空白點和黑點通過LCD顯示屏顯示出來,最終就會得到你要的二維碼。(文章來源于csdn博客泡在妞里的Feel,在此特別鳴謝)
-
單片機
+關注
關注
6067文章
44992瀏覽量
650668 -
C語言
+關注
關注
180文章
7632瀏覽量
141826
原文標題:簡談二維碼(QRcode)的C語言生成,在單片機平臺的實現
文章出處:【微信號:gh_dae0718828df,微信公眾號:gh_dae0718828df】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
基于STM32的二維碼識別源碼+二維碼解碼庫lib
為什么說二維碼掃碼模塊是智能終端的“眼睛”?

二維碼讀取器是干嘛的

一“碼”當先!看二維碼模組如何重塑智能門鎖掃碼體驗

嵌入式二維碼識別引擎是什么設備?哪些場景用得到?

快速將二維碼掃描識別模組嵌入集成到安卓一體機上使用

二維碼掃描頭設備嵌入到閘機上,實現掃手機屏幕碼完成簽到簽退

工業二維碼掃描設備如何助力流水線生產?

如何為柜式終端設備選配(集成)二維碼模塊?

評論