这是基于战舰STM32写的二维码编码和显示,TFT是2.8寸的液晶,由于像素点的限制,我的矩阵只有57X57,二维码的编码程序是网上找的,抱着试试的心理,移植成功了,代码里面做了一点处理,可以根据矩阵的大小来调节像素点。这个二维码生成还有点不足,如果中文汉字在日本汉字之外,QQ和微信的扫描解析出的汉字是日文的单字,用淘宝天猫和支付宝可以正确识别中文(理解的不够深,尝试过中文,后面失败告终),代码里面没注释,中文注释是我加上去的,有的地方注释错误的话还请见谅,分享给大家一起探讨,一起解决下上面提到的问题。
[mw_shl_code=c,true]const u8 codetest[]={//微信名片,可以去百度上搜索二维码名片 查看
"BEGIN:VCARD
"
"VERSION:3.0
"
"N:外星人
"//名字
"TEL:13888888888
"//手机号
"TEL;TYPE=WORK,VOICE:0571-88888888
"//工作号码
"TEL;TYPE=HOME,VOICE:0571-66666666
"//家庭号码
"NOTE
Q:12345
"//QQ号码
"EMAIL:12345@qq.com
"//邮箱地址
"ORG:公司名称
"//公司
"TITLE:职位名称
"
"URL:http://个人主页
"
"ADR;TYPE=WORK:工作地址
"//地址
"ADR;TYPE=HOME:家庭住址
"
"END:VCARD"
};[/mw_shl_code]
这个是微信名片的二维码输入字符,下面生成的二维码图片
这个是手机微信解析后的名片
本程序可以通过战舰版的串口实验,通过串口来发送要编码的数据,注意发送新行打勾。下面这个是通过串口发送后生成的二维码
我的战舰板的TFT被我压裂了,不过二维码的纠错性也没关系,手机扫描的时候也不是很明显
最后当然是附上代码,希望对二维码生成有兴趣的朋友来看看。也希望大神也把我没解决的问题解决掉。
有用的就是QR_Encode.c和QR_Encode.h,QRENCODE文件夹下还有另外一种写法,根据网上的大神,这个也可以用,不过本菜鸟对于这个没研究出来,放在里面等大神来帮忙把。
//二维码生成原理详见 http://coolshell.cn/articles/10590.html#jtss-tsina 这里讲的比较详细
不要问我问题,我只是代码的搬运工
我的MDK环境是MDK5.15版本的 如果这个下载了打不开可以参考10楼兄弟的,或者自己创建工程
---------------------------------
这个处理过了 申请的内存释放了 不会溢出,我用的原子的内存管理方式。
一周热门 更多>