|
官方提供的BSP例程是通过按键轮流执行各个demo模块,操作起来不方便。本实验是通过触摸菜单来随意选择demo模块,操作起来就方便多了。 在BSP例程中,获得触摸坐标值是通过触摸中断标志和结构体返回的,对应的代码如下: if (TouchDetected == SET) //触摸信号处理 {. K) L+ Y, \5 l: F' k TouchDetected = RESET; if (BSP_TS_Get_MultiTouchState(0, &TsMultipleState) != BSP_ERROR_NONE) { Error_Handler(); } tou_x = TsMultipleState.TouchX[0]; tou_y = TsMultipleState.TouchY[0]; % x# |. d7 \) ^4 i7 R 获得当次触摸坐标后,就可以通过菜单项显示的位置来确定当前触摸的菜单项,代码如下:! Z* O9 y* B6 w$ e% J8 A' ] now_option = (tou_y -50)/24; //根据触摸位置确定菜单选项 解决了触摸菜单项的选择之后,启用对应的demo就简单了,我是直接用switch语句,直观方便: 8 Z: v9 ^: U6 E# O switch(now_option){& F) C, L: K& `3 O: U case 1:% r- d+ @& m6 ]2 F9 v( m Led_demo(); break; case 2:- K' t6 O. s# l3 P& ]% S' v4 X Touchscreen_demo(); break;/ P& E& K8 a ~0 d$ B; I/ _ case 3: AudioPlay_demo(); break; case 4:4 _3 _1 J5 j4 Q* y) i# e AudioRecord_demo(); break;! k/ b# k) c! }, P. `; b9 c case 5: MotionSensor_demo(); break;" e1 a2 Z. e. b( s case 6:" S# d+ ]0 C/ `4 q9 `$ N" y SD_demo();+ Q& K% ~ b, d( a D break;* U0 T* M9 P" |: Q0 d' }( S" x case 7:! [3 C+ O" G1 m* c2 N# E( f* u OSPI_NOR_demo();$ @% a. j3 M" c( b% g8 | }7 ^2 h4 m+ ~- A* i# l7 `1 r. V . X4 S/ Q- i2 s5 c( H# e 这是对应的菜单选项:
F2 A2 M+ }4 j/ b 这是执行的界面:
0 D# Y z* l7 ^ 这是完整的代码截图:
; ]9 {* c: N1 G* A2 O |
STM32L562DK探索板——串口通讯测试成功
STM32L562DK探索板——再试串口通讯仍不成
[GPIO] 使用新型抽象开始C++嵌入式编程,从GPIO开始
M24LR-discovery测试小结
STM32L562DK探索板——串口通讯的再测试
STM32L562DK探索板——串口通讯的测试
STM32L562DK探索板——运动传感器测试
STM32L562DK探索板——继续深入了解Audio Play的工作流程
STM32L562DK探索板——触摸菜单实验之触摸测试
STM32L562DK探索板——触摸菜单实验之LED闪烁
微信公众号
手机版