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

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

[复制链接]
BinWin 发布时间:2024-8-22 20:35
        在Touch GFX4.24中新增了几个功能,其中之一就是二维码生成器。据描述,该控件支持最高177*177个模块的二维码。支持动态生成,是个很大的亮点。基于此功能,做个小程序来学习如何使用。
1 [9 E4 g: b+ T/ ?1 i
9 H: u. C& |9 x4 b" R; q( q. c        完成效果如下1 W6 [0 Y  P' _: ]) q  I
         a.png
& A9 W" P; R- C         点击12个按键输入字符,执行OK后二维码便刷新为输入的字符内容。执行CLR后清除输入的字符串。检查也很简单,任何扫一扫功能的APP都能识别出来。实现这个功能需要以下过程
* h  E/ j; b  L6 q         首先生成一个TouchGFX工程,搜索开发板,基于STM32H7S78-DK板卡创建模板工程。这个工程包含了GUI程序的基础外设配置和驱动实现,可以直接编译下载。
5 u4 f8 b. S, g8 f          c.png
5 C* _) v  N  K* h- [         事实上,使用完整的输入法才能键入所有字符,这里只添加了加个按键,支持少数字符的输入,演示作用。添加含LABEL的按钮14个。设置好格式。字体不变,按下效果变化。* {4 r: m. q  X" ~) v
         d.png
0 h  o% g) a. i, F) D8 h        要输入内容,那么按键按下后要执行文本更新,每个按键都给按下事件。
, j* M/ ]: F4 d/ t* p8 M         e.png
2 @- ]: P' w: d/ g        还要添加个textArea用来显示文本内容,设置缓存大小。
  `$ m1 [( f) }2 V. [         f.png
, b' j* K% T3 t$ E/ W9 q& b9 l- A       最重要的角色就是这面图片已经出现的二维码控件。调整适合大小, \7 W$ N" V" ~* H" a
       g.png
/ j& W0 n5 s  o( a5 e$ K       完成以上,就完成了一大半的工作,这便是TouchGFX做GUI应用的优势体现。接下来要修改代码。以下就是清空字符和更新二维码的主要代码。
2 i7 K' D2 B, e# G, U6 ^, {      
8 s( r* |7 ]: B) }
  1. if (&src == &buttonWithLabelOK)
    ; |, F1 ?) r- I, q  V  ~
  2.     {; }: ]! e* k2 o0 y- v
  3.         //Interaction133 k8 d( R+ c, I- ~* d! D
  4.         //When buttonWithLabelOK clicked call virtual function2 z* e  g% u3 b" l$ [0 h9 s  c
  5.         //Call function_ok
    8 ]; u# T  W: b( A9 \
  6.         //function_ok();$ L, c, v( [. \" f, n
  7.         qrCode1.convertStringToQRCode((char*)str);
      L7 n9 v% f2 ?0 W) s
  8.         qrCode1.invalidate();6 A  [9 s$ C8 Q6 c- e+ u3 O( t
  9.         return;
    3 X: R. T+ V( i. L& r
  10.     }
    " T: t3 U& F% @6 e
  11.     if (&src == &buttonWithLabelCLR)5 E6 H" v0 U6 C7 U- V- M
  12.     {
    . |9 @( }( o% D  u
  13.         //Interaction14
    0 N) J4 ^) x" L: E( X
  14.         //When buttonWithLabelCLR clicked call virtual function# N& E4 l9 O+ F" Q8 a& `7 C. Y
  15.         //Call function_clr2 ]$ h0 l) \; W2 ?
  16.         //function_clr();1 @& `- b, c4 E! R

  17. " N7 Q( h" s0 m7 z& O& e& |: O
  18.             memset(textArea1Buffer,'\0',128);, W* Q, j3 y# c* a+ \$ G3 G
  19.             textArea1.invalidate();: T& E0 R! Y' l! |
  20.             count = 0;
    ) d+ X. `, l: O) R8 U5 d; R8 y
  21.             return;6 `; ]4 [5 ^: U* i& W
  22.     }
复制代码
        测试结果如下8 d) a' P% k" g2 D$ A2 O
          h.png i.png
- ]% b, u' G" c0 C; ~9 H         首次上传B站,没有经验哈哈 QR Cod演示.rar (41.13 MB, 下载次数: 2)
赞 收藏 评论1 发布时间:2024-8-22 20:35

举报

1个回答
STMCU-管管 回答时间:2024-11-4 16:21:10
视频看起来效果可以  ^; N' q- L% }3 E: P

所属标签

相似技术帖

官网相关资源

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