接上篇:艾克姆IK-ZET6开发板Cube之GPIO
2 ]6 c6 _9 b) U& a4 i 利用艾克姆IK-ZET6开发板通过STM32CubeMX开发实验。 本次测试板载电容触摸按键,利用其控制四个LED的亮、灭状态。这颗电容触摸芯片原理图中标识为JR223B,目前还没找到资料,但与TTP223应该是兼容的(详附件)。该芯片的Pin1为输出,默认为低电平状态,当其Pin3引脚检测到有触摸时Pin1翻转为高电平状态。开机时Pin1输出为低电平,D2、D4点亮、D1、D3熄灭;当用手指触摸按键时LED状态翻转;手指松开后LED状态再次翻转。! U' _3 j" u: {: W4 T
一、实验资源4 D: O9 y7 V8 X4 }
1、艾克姆IK-ZET6开发板;2 l# I2 L E$ M: f
2、keil 5.24
) \9 }$ F& o% v+ e' V! V2 M3、STM32CubeMX 4.23( _$ y- h7 x" P4 {" E, O0 ]* `
4、J-LINK9
j7 B9 K# B: W6 J( z0 e/ |) F, i% u+ N9 D5 `
二、实验内容
" Q8 o) _7 K5 w" ], I; T/ l( l1、按开发原理图在Cube中配置相应管脚,触摸按键(PE1)配置为上拉输入;LED均为推挽输出;8MHz外部晶振。; e B/ A/ [/ @9 z$ R: {
/ W3 B6 m; S3 A" D* r
" t+ E9 i, t/ ~& ^
, V [3 y) [9 n6 f0 r3 m9 g
/ l; g/ c1 g+ B5 x, u" Y6 M
1 _0 ?& D/ K8 C/ O \
/ s* Q! h* A) y8 a8 [! l6 Q: A二、实验过程及结果2 u; U4 W; ?1 [) ]& V
1、主要代码:8 ]( A3 N e! z5 Y
- if(HAL_GPIO_ReadPin(TOUCH_GPIO_Port, TOUCH_Pin))2 Z8 a5 m: X) W3 |; v( E* D4 `' O
- {# p/ `4 W$ z% l N
- HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);% M, ~ \; j8 d4 R. f5 Z
- HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);$ @5 @' y9 m# } M$ p8 W
- HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);
. W+ B) M, ?( ?+ [ - HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET);+ g- z0 G6 z& W. C3 q4 a+ o
- } ! S: Z1 @1 J" h! r
- else. E! z7 }4 m& }0 j6 s- }' v* a- b2 l7 i
- {
3 F/ {( s, d& C1 U; {0 R' H$ j" e - HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
/ B; X& v. r5 U0 Y" z - HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);4 A- e, f5 s a) d0 f N/ t' m
- HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET);# N' p. b( A9 X: m
- HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_RESET);
; ^" s! i! Y E- Z0 } - }
复制代码 ) k6 t, E! f: m; v* X# v4 |4 _
7 \3 j. p/ z+ m# W2、开机状态:8 a# v* |% B# p# z' o
, I; L0 E, o, u6 M* s3 X3 \/ v6 }) R
0 n7 s+ Y+ E8 W6 a$ l3、触摸状态:! Q2 J5 u& Z, |$ Z3 m
# \& v; A7 B: x& H
+ y2 K! I2 }1 v3 T附件:6 p) ]2 h2 I! t$ \ o& X I
TTP223 .pdf
(280.73 KB, 下载次数: 2)
|