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

STM32L562DK探索板——触摸菜单的实验

[复制链接]
老牛洋车 发布时间:2026-7-28 08:54
官方提供的BSP例程是通过按键轮流执行各个demo模块,操作起来不方便。本实验是通过触摸菜单来随意选择demo模块,操作起来就方便多了。
, f: [4 C* o! i( R( D. m# _
1 f2 o: r- `( p9 [在BSP例程中,获得触摸坐标值是通过触摸中断标志和结构体返回的,对应的代码如下:8 f1 h7 w. k" v8 z6 `0 k
( Q3 R$ W8 m! x) ~9 R9 u( T* [, m
    if (TouchDetected == SET)           //触摸信号处理
, D% V( w' [8 x, Q# Y  P- `7 J    {( M( a, a, Q! B6 T  T+ A6 D
      TouchDetected = RESET;" e/ N- c/ D6 j1 @( k

5 Q/ X. @9 h5 d' @7 O      if (BSP_TS_Get_MultiTouchState(0, &TsMultipleState) != BSP_ERROR_NONE), V7 l' u# P- |( z
      {, B  Y7 N1 |6 h' u  g$ m1 E
        Error_Handler();
. }4 B! G+ f/ n1 J      }- O  z6 m! j! o5 k
      tou_x = TsMultipleState.TouchX[0];2 ]# ^( H" r3 f2 P8 S
      tou_y = TsMultipleState.TouchY[0];
, r2 i  l. X9 ^6 z/ ]8 _$ E
% D2 i8 T. T" F8 M/ c' |0 C获得当次触摸坐标后,就可以通过菜单项显示的位置来确定当前触摸的菜单项,代码如下:8 x. K  b3 ~$ q& R- g& ^, O0 [
      now_option = (tou_y -50)/24;      //根据触摸位置确定菜单选项
- d! L4 M+ x" p" }& ]5 ]; W解决了触摸菜单项的选择之后,启用对应的demo就简单了,我是直接用switch语句,直观方便:  y7 N& Q  r& S1 ]9 `4 H
) c& P! w3 X8 ?; f4 H3 c
        switch(now_option){8 l6 y2 n% w4 ?
          case 1:
' e$ w$ U# s1 J; ?; M4 O5 G% Z            Led_demo();
4 A. X2 \5 e. |" F$ V0 c            break;) H% |* P* ~9 w$ r$ Q2 ^
          case 2:) y9 b0 ]4 c3 l1 y& t7 b
            Touchscreen_demo();; m! V6 v: O/ A: Q+ f  r2 v
            break;0 g( H2 V7 }! m* R+ Q/ s
          case 3:9 k1 t! v3 j  v- a& @: H" d" i
            AudioPlay_demo();" s5 S/ s, d: R% q8 L; z
            break;
$ V0 s  u" q5 @  N          case 4:
" f9 l2 c; j/ I            AudioRecord_demo();
; e/ Q( D; _8 F8 q' a; q% I( s2 g! w            break;* V+ ^% c) J" V) D2 @) \6 c
          case 5:
$ o% a' i8 E) k- k4 w! ]            MotionSensor_demo();/ k/ l! \& z3 b. k- c8 X+ i
            break;7 G) l! m# B- `% I& R1 d. z
          case 6:
2 j) o& ?' g# X: \3 a2 ~0 R% B            SD_demo();
) h5 ?. y& I" ]5 L& o) f0 x5 i/ q% ]            break;
( k. Q' s: g8 _/ d/ h3 s          case 7:  _# W# J( c1 z/ _2 i$ V; C
            OSPI_NOR_demo();
  x4 j# k  _: Y( F- W( k" p        }& p; a/ _+ |# E4 T; b, h
3 \; k2 Y8 E3 u' c
这是对应的菜单选项:
( k5 o9 ~5 ^8 A* }" G& b& n Menu1.png
! R) V. R- J5 x8 o' U0 q2 a" `
5 m* |8 ~# z6 C4 O: @这是执行的界面:
- C7 p& \! c) u3 A Menu4.jpg
6 j1 T1 n+ C2 D
/ |4 U2 L% D1 X+ O" t% V# @/ Y( \这是完整的代码截图:: {* g- b' W6 z' U. X5 ]: V' ]
Menu6.png $ u8 ~& Y. ~. M- b5 \

0 ~& N+ [0 Y. U: }' s# Y
赞 收藏 评论0 发布时间:2026-7-28 08:54

举报

0个回答

所属标签

相似技术帖

官网相关资源

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