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

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

[复制链接]
BinWin 发布时间:2024-8-22 20:35
        在Touch GFX4.24中新增了几个功能,其中之一就是二维码生成器。据描述,该控件支持最高177*177个模块的二维码。支持动态生成,是个很大的亮点。基于此功能,做个小程序来学习如何使用。
9 c6 C: Q4 z# T* t! X1 C  O+ F" P7 p1 F* ?- m, ?8 C6 c
        完成效果如下
0 f/ O# R4 z. }         a.png
0 a; r0 P/ G* S* g         点击12个按键输入字符,执行OK后二维码便刷新为输入的字符内容。执行CLR后清除输入的字符串。检查也很简单,任何扫一扫功能的APP都能识别出来。实现这个功能需要以下过程4 V9 O4 X/ f) z) s" B
         首先生成一个TouchGFX工程,搜索开发板,基于STM32H7S78-DK板卡创建模板工程。这个工程包含了GUI程序的基础外设配置和驱动实现,可以直接编译下载。% }( b6 c% T& K! M4 w8 V5 d( c7 o9 s
          c.png   n2 u: ?9 h* z. o% ?( D0 ]
         事实上,使用完整的输入法才能键入所有字符,这里只添加了加个按键,支持少数字符的输入,演示作用。添加含LABEL的按钮14个。设置好格式。字体不变,按下效果变化。1 u+ n" H: e% v
         d.png
" x- d  K7 l- Q0 W        要输入内容,那么按键按下后要执行文本更新,每个按键都给按下事件。
5 I3 W; X. F6 h0 p% t         e.png
' Z- g  W% e) Q7 H. N8 J; H) T        还要添加个textArea用来显示文本内容,设置缓存大小。7 b- ^7 U  A3 X9 t0 C
         f.png 6 O' w+ V: H2 @2 i
       最重要的角色就是这面图片已经出现的二维码控件。调整适合大小+ \9 K8 o: s  r
       g.png 6 V, [! Z/ N! m3 ~
       完成以上,就完成了一大半的工作,这便是TouchGFX做GUI应用的优势体现。接下来要修改代码。以下就是清空字符和更新二维码的主要代码。
+ Q- z* [, i" R/ A7 V; G       4 k! c+ B5 R  \) z2 h
  1. if (&src == &buttonWithLabelOK)
    ( ^& i1 {/ k1 v$ H- N# {
  2.     {
    5 Y- i( w+ }7 k
  3.         //Interaction13
    ! u- j; I; {- s% ~4 {4 {% S1 H6 T
  4.         //When buttonWithLabelOK clicked call virtual function: h8 x) D' }0 m) a" H0 n4 E
  5.         //Call function_ok
    1 P8 r: @" O4 n4 L
  6.         //function_ok();) t. G6 X) v: {' o& N+ x
  7.         qrCode1.convertStringToQRCode((char*)str);
    3 {6 z, Y6 J8 G: q
  8.         qrCode1.invalidate();
    ' C0 d! V5 g+ b7 m) j" G1 G
  9.         return;( B9 t+ n+ [0 L$ V# |7 o0 C6 u
  10.     }% C* D; C- h& R  h1 G6 f
  11.     if (&src == &buttonWithLabelCLR)
    " \+ ]! X# u* W; \5 |; j. |3 ?$ _5 i
  12.     {- b! C( f5 g: {$ H9 `
  13.         //Interaction14
    " P! i( d" f$ }' {
  14.         //When buttonWithLabelCLR clicked call virtual function
    $ E0 B, ?) c( @* A, S
  15.         //Call function_clr
    - g; @7 h- {& R- m& X% Q1 v
  16.         //function_clr();
      h2 P) {/ y% A) ?( Y+ G
  17. ) L9 d1 ~, `! @0 \+ z1 K
  18.             memset(textArea1Buffer,'\0',128);
    + _6 k6 P  ^1 B
  19.             textArea1.invalidate();4 H: G2 Y% E& s8 Q% v
  20.             count = 0;
    $ ~8 }4 I4 C4 m2 w( s4 K
  21.             return;. S1 Z) g! p. A7 X" s
  22.     }
复制代码
        测试结果如下" W/ C: p7 e( J  {# Y0 b
          h.png i.png
' s! z3 ~, D- a6 P1 R         首次上传B站,没有经验哈哈 QR Cod演示.rar (41.13 MB, 下载次数: 2)
赞 收藏 评论1 发布时间:2024-8-22 20:35

举报

1个回答
STMCU-管管 回答时间:2024-11-4 16:21:10
视频看起来效果可以
3 l+ N5 }6 z1 |3 z% ~4 h( @0 M  O

所属标签

相似技术帖

官网相关资源

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