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