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

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

[复制链接]
BinWin 发布时间:2024-8-22 20:35
        在Touch GFX4.24中新增了几个功能,其中之一就是二维码生成器。据描述,该控件支持最高177*177个模块的二维码。支持动态生成,是个很大的亮点。基于此功能,做个小程序来学习如何使用。
. G- F, h* k$ [2 f' H# ]* `0 ~. e& B" G
        完成效果如下' L* Z- _5 w2 F) O( \+ S$ @
         a.png
- P# n' E* ^+ q, T4 t; a" ?' N  W         点击12个按键输入字符,执行OK后二维码便刷新为输入的字符内容。执行CLR后清除输入的字符串。检查也很简单,任何扫一扫功能的APP都能识别出来。实现这个功能需要以下过程' y( G) Y) n* b8 @( X
         首先生成一个TouchGFX工程,搜索开发板,基于STM32H7S78-DK板卡创建模板工程。这个工程包含了GUI程序的基础外设配置和驱动实现,可以直接编译下载。0 q; T$ q" v$ r3 g, S+ Z; X3 i' f
          c.png % e: w& F/ p& @8 H" A
         事实上,使用完整的输入法才能键入所有字符,这里只添加了加个按键,支持少数字符的输入,演示作用。添加含LABEL的按钮14个。设置好格式。字体不变,按下效果变化。, e; X% q  \8 `6 y+ X& q
         d.png $ k- N+ o  w: \! @
        要输入内容,那么按键按下后要执行文本更新,每个按键都给按下事件。9 O- l9 ?8 Q* L% q; u% b
         e.png
. L# |5 P* D3 m4 U        还要添加个textArea用来显示文本内容,设置缓存大小。
! P2 N% Y7 k7 I% M  k         f.png # Y6 e) Z! |7 {, \
       最重要的角色就是这面图片已经出现的二维码控件。调整适合大小& a# z- j+ ~! n# r
       g.png
) w6 s" m( G2 V) q! o4 L' i       完成以上,就完成了一大半的工作,这便是TouchGFX做GUI应用的优势体现。接下来要修改代码。以下就是清空字符和更新二维码的主要代码。
9 k3 f. h- F/ H7 `      
' X. E! {/ ]/ P9 F9 L- U
  1. if (&src == &buttonWithLabelOK)+ u: l; `) z4 ~0 C) I6 h
  2.     {
    5 @3 V! S0 ~3 F4 C4 [
  3.         //Interaction13
    9 v- n( ]( Z) u3 d/ Z
  4.         //When buttonWithLabelOK clicked call virtual function
    . x! t6 F2 _* J7 E" ?( R% z  `
  5.         //Call function_ok
    4 C' v# T! K" g& c
  6.         //function_ok();# k% r9 O; N4 C$ b( `& \  {& g5 J
  7.         qrCode1.convertStringToQRCode((char*)str);" s; Z, A; R! `. E
  8.         qrCode1.invalidate();* B/ O% w0 o3 \6 v( [* {
  9.         return;7 r/ b) a$ A1 u. W1 [0 b/ h* \, B
  10.     }) y- L9 K, G  u% }
  11.     if (&src == &buttonWithLabelCLR)7 w$ z2 p" @/ B: L( O3 n
  12.     {
    , O0 N3 A% Z, P5 Z9 M! T' ^% {
  13.         //Interaction14- C4 |' K$ |3 i' P5 f
  14.         //When buttonWithLabelCLR clicked call virtual function  S) X4 j; b: b8 x2 R& E  t
  15.         //Call function_clr( A& _" Z; F' N/ L
  16.         //function_clr();! R4 f0 U& t* {6 o

  17. ' C! v! I; M5 J
  18.             memset(textArea1Buffer,'\0',128);8 J! e8 V& [6 E+ L4 K+ k% C  m2 s
  19.             textArea1.invalidate();
    ! h% p% m# W3 X
  20.             count = 0;
    8 y; }" X- w3 B& N# f+ G  o3 h
  21.             return;9 P; {8 [2 U" t* q1 m" i# t
  22.     }
复制代码
        测试结果如下
5 C0 i  G" r3 k2 {9 k9 y          h.png i.png , V  C6 K+ _* C- ~$ [. A2 ^- A
         首次上传B站,没有经验哈哈 QR Cod演示.rar (41.13 MB, 下载次数: 2)
赞 收藏 评论1 发布时间:2024-8-22 20:35

举报

1个回答
STMCU-管管 回答时间:2024-11-4 16:21:10
视频看起来效果可以5 H8 q1 m+ b1 x1 T# a

所属标签

相似技术帖

官网相关资源

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