接上篇:艾克姆IK-ZET6开发板Cube之GPIO
) T+ x l4 y# d8 e9 e y0 l 利用艾克姆IK-ZET6开发板通过STM32CubeMX开发实验。 本次测试板载电容触摸按键,利用其控制四个LED的亮、灭状态。这颗电容触摸芯片原理图中标识为JR223B,目前还没找到资料,但与TTP223应该是兼容的(详附件)。该芯片的Pin1为输出,默认为低电平状态,当其Pin3引脚检测到有触摸时Pin1翻转为高电平状态。开机时Pin1输出为低电平,D2、D4点亮、D1、D3熄灭;当用手指触摸按键时LED状态翻转;手指松开后LED状态再次翻转。# D) w0 b- F6 h- y( _
一、实验资源
- A0 S+ t- Q! m& u1、艾克姆IK-ZET6开发板;+ I1 T& d/ u/ e( P
2、keil 5.24( X; y9 f) X1 ^
3、STM32CubeMX 4.234 Z* v8 U/ `3 L1 x+ [
4、J-LINK94 Z0 {8 {0 ~7 s8 c8 k! E% \0 s
~2 |/ p% f# @0 G) _' `8 C+ S
二、实验内容
7 @, E/ A0 b4 d2 D/ z1、按开发原理图在Cube中配置相应管脚,触摸按键(PE1)配置为上拉输入;LED均为推挽输出;8MHz外部晶振。
/ k4 c; O9 J! a( V$ D9 g% _$ u0 w) Q9 H/ }
6 W3 ? K" j. `4 u( _/ U
7 V* J2 l9 G+ L( n7 V" n: Q
6 {! R+ X$ E" R1 A" a4 g
, \" f; L9 {# @8 o9 V; d M5 K, s- N m M0 @5 b
二、实验过程及结果
0 W2 E9 r6 P6 `' R: }1、主要代码:4 f$ [* ~5 ?2 X$ f3 b2 o0 @: _
- if(HAL_GPIO_ReadPin(TOUCH_GPIO_Port, TOUCH_Pin))5 U) f5 F, y! Y
- {
( ~: B8 l1 C0 C. \0 J; J6 U, q1 M - HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_RESET);" K. S9 d% T% ^
- HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_SET);
, E9 V7 U: L# n4 H! B6 ~# G* k - HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_RESET);
7 H6 v2 u- q. g - HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_SET);
1 ?/ Q) b, s! Q4 Q8 S - }
- |4 F& g# K: F i( G: A - else
6 o; [* [. w' o Z. g6 S- \ - {
9 Z! @7 a# D+ D/ A" {6 S. f# ~ - HAL_GPIO_WritePin(LED1_GPIO_Port, LED1_Pin, GPIO_PIN_SET);
! @9 p u7 M8 @% [4 n% H4 U a$ Q$ I% P - HAL_GPIO_WritePin(LED2_GPIO_Port, LED2_Pin, GPIO_PIN_RESET);4 |/ Z, e* ?( H) y+ ?9 J$ ^
- HAL_GPIO_WritePin(LED3_GPIO_Port, LED3_Pin, GPIO_PIN_SET);3 F" F- j/ K; s$ e. P
- HAL_GPIO_WritePin(LED4_GPIO_Port, LED4_Pin, GPIO_PIN_RESET);
/ g! @( m( |& U$ Z) c. r - }
复制代码 4 Z' u, ?5 i. f' k8 o9 S
& N- B5 F) y! Z2、开机状态:
: b$ e( U# H2 v4 x& z
3 Z) Y* H2 r1 h% c7 R! D" ?
( V: e* v: b% k$ z" G1 _" T3、触摸状态:
' E5 ~, [; V. N6 ~
% h, N* M; g0 _& D9 l" g M; ?" h
1 P8 m: Q0 S# v2 F0 q) f附件:
' ~5 T4 X- E: U6 G1 m4 V
TTP223 .pdf
(280.73 KB, 下载次数: 0)
|