本帖最后由 linjunxiong 于 2014-10-29 22:42 编辑
二维码,种类比较多,常见的有QR码和PDF417,比一维码可以存储的信息多了很多。很多应用还是可以应用到。
了解具体原理和历史可以维基下,
无标题.png (138 KB, 下载次数: 0)
下载附件
不同版本和纠错
2014-10-29 22:27 上传
STM8移植Qrduino输出任意版本和纠错级别.rar
(116.26 KB, 下载次数: 145)
2014-10-29 22:38 上传
点击文件名下载附件
STM8移植Qrduino输出任意版本和纠错级别
PDF417
pdf417_enc http://sourceforge.jp/projects/sfnet_pdf417encode/releases/
Zint Barcode Generator http://sourceforge.net/projects/zint/
这个在单片机上的参考就真的没能G到,索性直接找的PC端的移植下,整体的流程基本差不多,只是差最后一步整理把它打印出来,一直想把它弄出来,就是没那个动力,有兴趣的可以了解下。
STM8 移植PDF417_ENC.rar
(835.78 KB, 下载次数: 113)
2014-10-29 22:40 上传
点击文件名下载附件
STM8 移植PDF417_ENC
代码些许乱,懒得去整理它了。。。多少懒
这是我的显示函数,PutByte(,,) 就是在指定位置横向显示
//显示QR基本框架.
for(y=0;y<WDB;y++)
{
for(x=0;x<WD;x++)
{
data1 = framebase[x*WDB+y];
for(l=0;l<8;l++)
{
data2 <<= 1;
if(data1&0x01) data2|=0x01;
data1 >>= 1;
}
PutByte(y*8+ax,x+ay,data2);
}
}
//计算QR码.
strcopy(strinbuf,"www.baidu.com");
qrencode();
//显示QR计算结果.
for (i = 0; i < WDB; i++)
{
for (j = 0; j < WD; j++)
{
data1 = 0;
for (k = 0; k < 8; k++)
{
data1 |= QRBIT(j, ((i*8)+k)) << k;
}
PutByte(i*8+ax,j+ay,data1);
}
}
现在我发现用淘宝、支付宝都可以扫出来,用微信QQ就不行了
一周热门 更多>