关键词
C语言、LCD屏、单片机、DataMatrix、QRcode;
前言
最近工作中新拿到一块STM32U575I-EV开发板,后续项目开发可能会在LCD屏生成二维码,用来显示一些产品信息。已知二维码有20余种,常用的有PDF417、QRCCode、Data Matrix、Maxi Code、Code 49、Code 16K、Code One等。篇幅有限,二维码的基础知识就不赘述了,网上很多资料的。
目前我们生活中接触的最多的二维码是QRCCode,就像微信支付收付款码、微信名片。网上有很多生成QRCode的代码资源,简单移植一下就可以使用了。但是我这边除了QRCode还得支持生成Data Matrix。于是我在GitCode、Github找了一些生成Data Matrix的代码,但大多数都是基于Windows、Linux等平台的,不适合直接移植到单片机上面,于是用一个在Linux平台运行的符合IEC16022标准的编解码库,人家这个库支持连接摄像头进行扫码解析、生成png格式的二维码图片,但是我并不需要这么多功能,于是只取了编码部分进行修改去掉了里面的文件操作和一些shell指令,目前可以实现将字符串生成二维码,通过LCD屏进行显示(没有生成png,只是利用LCD屏打点函数实现)。
另外我把同学分享给我的QRCode生成代码也会附在附件里,同样可以将字符串生成QRCode格式二维码。
如有侵权请联系作者删除。
接口函数与效果展示
DMCodeDisplay("tnhello@163.com",20,50);//
QRCodeDisplay("tnhello@163.com",140,50);//
两种二维码对比
代码简单说明
接口函数位置在这两个文件内,文件不多,逻辑也少,移植之后需要更改自己的LCD屏显示接口,2024/07/09 刚刚出炉的代码,新鲜热乎,但也有些粗糙,有需要的小伙伴用的时候自己再优化吧。