你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【STM32H7S78-DK评测】TouchGFX (QR Code)二维码生成器

[复制链接]
BinWin 发布时间:2024-8-22 20:35
        在Touch GFX4.24中新增了几个功能,其中之一就是二维码生成器。据描述,该控件支持最高177*177个模块的二维码。支持动态生成,是个很大的亮点。基于此功能,做个小程序来学习如何使用。0 D# r7 r7 z7 r
% ^/ B; b) a4 h
        完成效果如下+ a2 `7 u- [; _5 `9 d, L6 K
         a.png
1 N# @' k9 C4 j         点击12个按键输入字符,执行OK后二维码便刷新为输入的字符内容。执行CLR后清除输入的字符串。检查也很简单,任何扫一扫功能的APP都能识别出来。实现这个功能需要以下过程4 o# H( T  e7 R: W$ B  g% z; I3 p
         首先生成一个TouchGFX工程,搜索开发板,基于STM32H7S78-DK板卡创建模板工程。这个工程包含了GUI程序的基础外设配置和驱动实现,可以直接编译下载。
( V% V# z3 W- P" i          c.png
" Z: u9 P) s3 n8 p" S0 _$ V         事实上,使用完整的输入法才能键入所有字符,这里只添加了加个按键,支持少数字符的输入,演示作用。添加含LABEL的按钮14个。设置好格式。字体不变,按下效果变化。
+ R; f& u7 z4 N+ g         d.png
! W% ^: F9 p; }$ j( P& }& o        要输入内容,那么按键按下后要执行文本更新,每个按键都给按下事件。, o7 w& G! r" P9 e  i6 @3 r
         e.png
' w1 [/ m( X3 m( K+ {; P5 a        还要添加个textArea用来显示文本内容,设置缓存大小。. Z; p: F( N! Q- y3 X8 Q
         f.png
8 t0 P8 d" Q7 m; M8 d5 L       最重要的角色就是这面图片已经出现的二维码控件。调整适合大小  m: }' ]7 }& y/ @* s! t
       g.png 6 B" i5 @/ }- V5 w& m+ o4 ^9 r
       完成以上,就完成了一大半的工作,这便是TouchGFX做GUI应用的优势体现。接下来要修改代码。以下就是清空字符和更新二维码的主要代码。
' H) e0 w6 N1 k9 W' N2 }: ~       : _8 t) U0 n6 ~4 n/ F8 W: J" b
  1. if (&src == &buttonWithLabelOK): _( C# _( n1 H$ C" P" B0 E
  2.     {/ i; u. S% t( C) B
  3.         //Interaction135 V9 g& t- _' a2 z9 i3 g
  4.         //When buttonWithLabelOK clicked call virtual function
    & N+ Z' G3 q1 a9 ]1 T) p! f
  5.         //Call function_ok0 Z8 \" f  \2 ]! v) z
  6.         //function_ok();
    8 E2 q& h7 z( ~; ^: ]6 \  L
  7.         qrCode1.convertStringToQRCode((char*)str);3 c' X9 e1 g& g" Z
  8.         qrCode1.invalidate();
    0 d7 `5 d1 g% m: P9 V1 N( @
  9.         return;
    " i" `! s: z; g& m* h
  10.     }( b  m* g2 y) z4 Q2 ~. k
  11.     if (&src == &buttonWithLabelCLR)4 M% Z  @4 O& H+ n: i
  12.     {
    0 Q* h* s* T1 X2 w" @0 W
  13.         //Interaction14+ G. s5 H# n0 [$ E5 D
  14.         //When buttonWithLabelCLR clicked call virtual function" h) y) ^& r6 ~, A) r4 J8 v# t
  15.         //Call function_clr
    & Y8 W/ A0 P9 l8 X+ @9 G
  16.         //function_clr();8 y( W5 R2 c! v& q9 ~
  17. ( l/ n. Q! x1 z: z. c9 h8 E
  18.             memset(textArea1Buffer,'\0',128);
    5 j! M5 _+ d+ V- R6 J6 T, M
  19.             textArea1.invalidate();
      v+ j' C$ [$ k5 W# @9 J6 Y8 O
  20.             count = 0;5 K$ Q) d0 C$ q! v7 n
  21.             return;
    & i- K1 ]2 B) _( v) q1 s, y/ [
  22.     }
复制代码
        测试结果如下
9 c) z2 d. Z' e          h.png i.png
' I- |- z+ \  v) h         首次上传B站,没有经验哈哈 QR Cod演示.rar (41.13 MB, 下载次数: 2)
赞 收藏 评论1 发布时间:2024-8-22 20:35

举报

1个回答
STMCU-管管 回答时间:2024-11-4 16:21:10
视频看起来效果可以( I2 p; ?; A. n% T  x

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版