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楼兄弟的,或者自己创建工程
 
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。