如果二維碼已經處理好,就差動態二維碼顯示,此例程可以作爲參考:
const unsigned char Str[]="http://www.blogtextbooks.com/page/";
LCD_BackLight_Switch(backLightOn);
unsigned char StrTemp[100]="";
unsigned char * pStr = StrTemp ;
while(1)
{
static unsigned char count;
static unsigned char i = 0;
unsigned char str1[8]="1234567";
if(qrcode_100msFlag == true)
{
qrcode_100msFlag = false ;
count ++;
}
if(count > 50)
{
count = 0;
GUI_SetColor(GUI_WHITE);
GUI_FillRect(0,0,320,480);
if(++i > 7){i=0;}
//printf("%s%d\n",i);
sprintf(StrTemp,"%s%d",Str,i);
//sprintf(StrTemp,"%s%d",Str,i);
//memcpy(StrTemp, str1[i], sizeof(char));
printf("%s\n",StrTemp);
EncodeData(pStr);
DrawQRcode(80,80,1,m_byModuleData);
DrawQRcode(200,140,2,m_byModuleData);
DrawQRcode(100,230,3,m_byModuleData);
DrawQRcode(200,340,4,m_byModuleData);
memset(StrTemp,0,sizeof(StrTemp));
}
//GUI_Delay(100);
//qrcode_50msFlag
}
顯示的效果就是每隔一定時間就刷新屏幕,同時顯示四個大小不同但是內容相同的二維碼。
關於二維碼放大的函數DrawQRcode,請參考我的這篇文章:STM32實現二維碼放大函數
詳情請參考此文章:動態二維碼顯示
二維碼顯示效果圖,上面鏈接已有,就不放了。