找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1417|回复: 0
打印 上一主题 下一主题
收起左侧

单片机二维码放大程序

[复制链接]
跳转到指定楼层
楼主
ID:315488 发表于 2018-5-28 11:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
单片机二维码放大程序
uint8_t m_byModuleData[][];//原数据

#define QR_WHITE_SIDE 12  // 白边

#define DATA_H_LEN  (MAX_MODULESIZE - QR_WHITE_SIDE)
#define DATA_L_LEN  (MAX_MODULESIZE - QR_WHITE_SIDE)

#define MULTIPLE  13  //放大倍数  13*13


void LcdFillQrCode(uint16_t xStart, uint16_t yStart){
                static uint8_t DstQRCodeData[MULTIPLE][MULTIPLE*DATA_L_LEN];
                uint32_t HIndex, LIndex, MultilpleHIndex, MultilpleLIndex;
               
                BlockWrite( xStart, xStart+DATA_L_LEN*MULTIPLE-1, yStart, yStart+DATA_H_LEN*MULTIPLE-1 )
               
                for( HIndex=0; HIndex<DATA_H_LEN; HIndex++ )
                {
                                for( LIndex=0; LIndex<DATA_L_LEN; LIndex++ )
                                {
                                                for( MultilpleHIndex=0; MultilpleHIndex<MULTIPLE; MultilpleHIndex++ )
                                                {
                                                                for( MultilpleLIndex=0; MultilpleLIndex<MULTIPLE; MultilpleLIndex++ )
                                                                {
                                                                                DstQRCodeData[MultilpleHIndex][LIndex*MULTIPLE+MultilpleLIndex] = m_byModuleData[HIndex][LIndex];
                                                                }
                                                }
                                }
                                for( MultilpleHIndex=0; MultilpleHIndex<MULTIPLE; MultilpleHIndex++ )
                                {
                                                for( MultilpleLIndex=0; MultilpleLIndex<MULTIPLE*DATA_L_LEN; MultilpleLIndex++ )
                                                {
                                                                if( DstQRCodeData[MultilpleHIndex][MultilpleLIndex] == 0x01 )
                                                                {
                                                                                *(__IO uint16_t * ) (Bank1_LCD_D) = BLACK;
                                                                }
                                                                else
                                                                {
                                                                                *(__IO uint16_t * ) (Bank1_LCD_D) = WHITE;
                                                                }
                                                }
                                }
                }
}




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表