資源簡介
該文件是STM32F407識別二維碼和條形碼的例程,易于調用,是用寄存器寫的,用攝像頭識別,之前做比賽調用的,出處是正元電子

代碼片段和文件信息
#include?“atk_qrdecode.h“
#include?“malloc.h“
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//本程序只供學習使用,未經作者許可,不得用于其它任何用途
//
//本二維碼&條碼識別LIB由ALIENTEK提供方便大家使用.
//該二維碼&條碼識別LIB功能:
//1支持QR二維碼識別.
//2支持CODE128CODE39I25EAN13等四種編碼方式的條碼識別.
//3支持UTF8-OEM轉換輸出(需要客戶自己提供轉換碼表).
//當需要支持UTF82OEM轉換輸出的時候:
//1將ATK_QR_UTF82OEM_SUPPORT宏的值改為1(默認是1)
//2實現atk_qr_convert函數.該函數將unicode編碼轉換為OEM編碼.
//這樣輸出結果就是OEM編碼的字符串(一般就是GBK編碼)方便在單片機系統里面顯示.
//如果不需要支持OEM轉換則:將ATK_QR_UTF82OEM_SUPPORT宏的值改為0即可這樣輸出結果就是原始編碼
//的字符串(UTF8/GBK).如果有中文在單片機系統里面可能是無法直接顯示的如果是英文則可以直接顯示.
//當需要支持GBK編碼的二維碼時:將ATK_QR_GBK_SUPPORT宏的值改為1(默認是1)即可.
//本LIB移植步驟:
//1實現atk_qrdecode.c里面的所有函數.?
//2堆棧(Stack_Size)設置為0X1000或以上,在startup_stm32f429xx.s中設置。
//本LIB使用步驟: ???
//1調用atk_qr_init函數初始化識別程序返回值為ATK_QR_OK則初始化成功.
//2調用atk_qr_decode函數給定參數對圖像進行識別.
//3如果需要不停的識別則重復第2個步驟即可.
//4調用atk_qr_destroy函數結束識別釋放所有內存.結束識別.
//u8?atk_qr_decode(u16?bmp_widthu16?bmp_heighu8?*bmpu8?btypeu8*?result)函數參數說明:
//img_widthimg_heigh:輸入圖像的寬度和高度
//imgbuf:圖像緩存區(8位灰度圖像不是RGB565!!!!)
//btype:0識別二維碼
//??????1識別CODE128條碼
//??????2識別CODE39條碼
//??????3識別I25條碼
//??????4識別EAN13條碼
//result:識別結果緩沖區.如果result[0]==0則說明未識別到任何數據否則就是識別到的數據(字符串)
//返回值:ATK_QR_OK識別完成
//????????????其他錯誤代碼
//如果需要對所有支持的編碼進行識別則輪流設置btype為0~4即可實現.
? ?? ??????
//版本:V1.4
//正點原子@ALIENTEK
//技術論壇:www.openedv.com
//公司網址:www.alientek.com
//Copyright(C)?廣州市星翼電子科技有限公司?2016-2026
//All?rights?reserved ????
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//內存設置函數
void?atk_qr_memset(void?*pu8?cu32?len)?
{
mymemset(pclen);
} ? ??
//內存申請函數
void?*atk_qr_malloc(u32?size)?
{
return?mymalloc(SRAMINsize);
}
//內存重申請函數
void?*atk_qr_realloc(void?*ptru32?size)?
{
return?myrealloc(SRAMINptrsize);
}
//內存釋放函數
void?atk_qr_free(void?*ptr)?
{
myfree(SRAMINptr);
}
//內存復制函數
void?atk_qr_memcpy(void?*desvoid?*srcu32?n)?
{
mymemcpy((u8*)des(u8*)srcn);
}
//如果使能了UTF2OEM支持則需要實現將UTF8轉出的UNICODE轉碼成OEM
#if?ATK_QR_UTF82OEM_SUPPORT
#include?“ff.h“
//將UNICODE編碼轉換成OEM編碼
//unicode:UNICODE編碼的字符內碼
//返回值:OEM編碼方式的字符內碼
u16?atk_qr_convert(u16?unicode)
{
return?ff_convert(unicode0); ??
}
#endif
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2922??2016-07-01?15:36??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\ATKQR\atk_qrdecode.c
?????文件???????3685??2016-07-01?15:36??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\ATKQR\atk_qrdecode.h
?????文件????5710828??2016-07-01?11:22??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\ATKQR\ATK_QR_V1.4.lib
?????文件???????3481??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\css_e.css
?????文件???????3896??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\css_j.css
?????文件???????1063??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\app1.c
?????文件???????1609??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\app2.c
?????文件???????4134??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\app3.c
?????文件??????10371??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\app4.c
?????文件???????1414??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f1.png
?????文件???????1458??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f2.png
?????文件???????1039??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f3.png
?????文件???????2335??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f4.png
?????文件???????2479??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f5.png
?????文件???????1464??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f6.png
?????文件??????11388??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\f7.png
?????文件??????22722??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\funcs.png
?????文件???????5521??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\la
?????文件???????3843??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\la
?????文件???????3741??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\la
?????文件???????2379??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\la
?????文件?????686662??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\mkfatimg.zip
?????文件???????7932??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\modules.png
?????文件??????19068??2016-04-18?16:59??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\rwtest.png
?????文件??????27860??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\rwtest1.png
?????文件???????8153??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\rwtest2.png
?????文件???????3011??2016-04-12?21:25??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\doc\img\rwtest3.png
?????文件??????12142??2016-05-27?17:08??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\exfuns\exfuns.c
?????文件???????1994??2016-04-18?16:59??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\exfuns\exfuns.h
?????文件???????7119??2016-07-01?14:53??(寄存器版,適合阿波羅F429開發板)擴展實驗SE01?ATK-QR二維碼、條形碼識別實驗\FATFS\exfuns\fattester.c
............此處省略251個文件信息
- 上一篇:TFC中文版 用于鍍膜膜系設計
- 下一篇:office 2016官方版
評論
共有 條評論