QRCode二维码在STM32等MCU中的实现
时间:2015-03-26 11:44:01
收藏:0
阅读:4132
一下首先对二维码知识做个简单介绍:
1、版本总共40个版本 21*21起始,之后每个版本增加4个方块
2、寻位图 7*7 5*5 3*3 方块 1:1:3:1:13、分隔符在寻位图周围 都位浅色
4、低位图 第6行,第6列 首位都是深色
5、校正图 5*5 3*3 1*1 版本1没有 其他具体位置还未知?????
6、空白区 围绕周围的空白边缘
7、多种编码模式A数字模式10位表示3个字符
B字母数字模式11位表示2个字符
C 8位字模式 一个字符8位
D日本汉字模式 每个双字节字符用11位表示
E混合模式。。。。
数据编码:
ECI模式编码
输入数据变成位流
缺省模式:位流开头为第一模式的指示符
非缺省模式:ECI标头+一个或多个不同模式段(ECI标头:ECI模式指示符4位+ECI指定符8或16或24位),由ECI模式指示符最高位开始,指定符最低位结束
位流的其余部分第一段组成:模式指示符(4位)+字符计数指示符+数据位流 (每个模式段以模式指示符最高开始,数据流最低位结束)
字母数字模式编码
每2个字符11位表示,最后剩余1个字符6位表示
第1位*45+第2位结果转换为11位二进制
模式表示符(0010)+计数指示符(版本6及以下为9位)+将数据连接起来+终止符(0000,不够可以切短或省略)
所有得到的数据位流都将按8位分配到一个码字,如果最后一个不足8位在最后补零,(高位在前,低位在后)然后根据板号交替的填充
11101100和00010001(目的把剩余空间填满,具体填多少个根据版本容量和纠错等级查表剩余的数量来确定)有些版本容量不能被8整除
在最后需填写补零
格式信息:15位 bit0~1:纠错等级 bit2~4:掩模参考图行 bit5~bit14:按附录C的方法计算10位纠错数据
将上述得到的15位数据与101010000010010异或(相同位0,不同为1)得到的数据为图形符号上面的数据。
版本信息:6位数据位(表示7~40版本号)+12位纠错位(通过BCH(18,6)计算出来)(1~6不包含版本信息,7~40才包含包含版本信息)版本信息不进行掩模处理,
本项目用不到这么高的版本先不做深入学习
结构链接:RQ码可以将16个不同的图形按一定顺序链接起来。扫描的时候不一定按顺序扫描,能自动按顺序排列。项目用不到暂不深入学习。
符号印制:尺寸可以根据实际调整,方块必须为矩形,外围空白区域为大于4倍矩阵宽度
译码:暂不介绍
二、C源码部分,暂不介绍,技术交流Q1732158020
评论(0)