動態二維碼顯示

如果二維碼已經處理好,就差動態二維碼顯示,此例程可以作爲參考:

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實現二維碼放大函數

詳情請參考此文章:動態二維碼顯示

二維碼顯示效果圖,上面鏈接已有,就不放了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章