STM32战舰开发板上实现的二维码编码,通过2.8寸TFT液晶显示

2019-07-21 02:49发布

这是基于战舰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 "//家庭号码 "NOTEQ: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楼兄弟的,或者自己创建工程
 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
49条回答
lygcheng
1楼-- · 2019-07-26 04:35
 精彩回答 2  元偷偷看……
旮旯旭
2楼-- · 2019-07-26 09:08
回复【44楼】lygcheng:
---------------------------------
不是,我只是买的战舰的板子,如果你是mini或者其他的也可以,生成二维码占用的SRAM不多,你可以根据自己的需要修改
旮旯旭
3楼-- · 2019-07-26 13:18
回复【27楼】langxing08:
---------------------------------
是这样的,根据你的信息不同生成的尺寸也不一样,因为不同尺寸的包含的最大信息是不一样的,当然你也可以修改程序,固定最小尺寸
旮旯旭
4楼-- · 2019-07-26 15:40
回复【41楼】pengjun334:
---------------------------------
用马云家的APP 比如支付宝 淘宝就可以
旮旯旭
5楼-- · 2019-07-26 19:43
回复【33楼】tomaswow:
---------------------------------
这个处理过了 申请的内存释放了 不会溢出,我用的原子的内存管理方式。
征伐
6楼-- · 2019-07-26 21:34
 精彩回答 2  元偷偷看……

一周热门 更多>