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

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

[复制链接]
老牛洋车 发布时间:2026-7-28 08:54
官方提供的BSP例程是通过按键轮流执行各个demo模块,操作起来不方便。本实验是通过触摸菜单来随意选择demo模块,操作起来就方便多了。& B6 F% q- x5 c; h! _

3 {, N# J2 F8 `  V* \在BSP例程中,获得触摸坐标值是通过触摸中断标志和结构体返回的,对应的代码如下:6 \1 T# M& P: o5 L
/ ]# S" f* d* j5 p4 o
    if (TouchDetected == SET)           //触摸信号处理
$ a( v" \& C' |2 r    {
( X% H9 p, P' w& m- C) }. X      TouchDetected = RESET;
$ x* n" ?/ K9 y5 Y
1 b" G8 i; i  y+ X      if (BSP_TS_Get_MultiTouchState(0, &TsMultipleState) != BSP_ERROR_NONE)  @/ O0 o- g% k$ b1 w
      {7 b) n* p$ n+ ^' k* P' w$ D
        Error_Handler();) u; u% f1 r) t7 R
      }
9 {' ?6 K* T& Y. u! e. A; g! J- d      tou_x = TsMultipleState.TouchX[0];/ u8 h  d: m" ]- S
      tou_y = TsMultipleState.TouchY[0];
8 q; e1 S4 i+ @9 S# e; ~2 K2 @4 M: l* s! g) X5 {2 g" F- z
获得当次触摸坐标后,就可以通过菜单项显示的位置来确定当前触摸的菜单项,代码如下:$ B& g* g  S4 U& w: P  t
      now_option = (tou_y -50)/24;      //根据触摸位置确定菜单选项8 u4 W* l0 a2 e
解决了触摸菜单项的选择之后,启用对应的demo就简单了,我是直接用switch语句,直观方便:1 K" P/ M3 w5 g" b
2 S# k; b8 _7 t2 g% [
        switch(now_option){
( ^) h1 h' D4 s* L3 A& \/ m          case 1:
* i* A& h! h1 q6 F, o8 v            Led_demo();9 Y- u! {1 I, a* P3 u
            break;/ G1 a7 D5 Y( c- j6 r2 \
          case 2:+ a  X$ R1 b0 y  i4 u( d
            Touchscreen_demo();6 t6 X8 [2 [- W1 }
            break;8 \+ l8 D$ E& P' W, T; O
          case 3:1 [: t$ h  |+ a$ g2 x
            AudioPlay_demo();6 X) g+ [8 k% G$ E8 e, _$ A
            break;0 E3 P9 J6 p: ]
          case 4:" C9 L6 ~  U$ t* b8 X
            AudioRecord_demo();
2 g5 s- W7 j7 ~" _: E3 U1 Z" g            break;6 [2 J: Y4 S% E
          case 5:
9 C+ S1 b( q  J- J            MotionSensor_demo();0 T7 a" o+ l* t# V
            break;
$ r$ g; W# w4 `% G. i1 `8 q$ @$ z          case 6:# @0 ]4 d( V9 U5 F4 F% e  u
            SD_demo();
( P8 h3 P/ H! f! V- ?            break;6 P; V- A# [6 h# G! g- y
          case 7:
( Y- \; t8 I8 x0 ~+ T. _# p            OSPI_NOR_demo();
( T. E  w( B3 `  G        }
. F7 H5 L/ |! z* |
8 C, M* Q( s+ v+ W) h( o" V这是对应的菜单选项:
7 k& W) F$ c9 n Menu1.png
* S; b, ]( ]/ {  k! q, ~) V* X* j/ v9 O2 w' c0 `% z0 L6 L
这是执行的界面:0 t8 ^9 O( z  u7 ?( V
Menu4.jpg
- U. o; V8 j3 J( J( p! j
( p" ?7 r- C8 e; Q这是完整的代码截图:
; ~1 U2 L  w$ e# w0 w) n+ ] Menu6.png % \+ O/ j" h" Q" Y

9 }9 t5 W' K) b% E6 L4 ?6 O! F' O
赞 收藏 评论0 发布时间:2026-7-28 08:54

举报

0个回答

所属标签

相似技术帖

官网相关资源

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